From d62d26379302dea38819681295cd235de4ab8a61 Mon Sep 17 00:00:00 2001 From: lethosor Date: Wed, 26 Oct 2016 20:55:16 -0400 Subject: [PATCH] ruby: Fix potential onupdate crash when cur_year is missing --- plugins/ruby/ruby.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/plugins/ruby/ruby.cpp b/plugins/ruby/ruby.cpp index 10e63c706..97a4a4553 100644 --- a/plugins/ruby/ruby.cpp +++ b/plugins/ruby/ruby.cpp @@ -214,15 +214,17 @@ DFhackCExport command_result plugin_onupdate ( color_ostream &out ) if (!onupdate_active) return CR_OK; - if (df::global::cur_year && (*df::global::cur_year < onupdate_minyear)) + using namespace df::global; + + if (cur_year && (*cur_year < onupdate_minyear)) return CR_OK; - if (df::global::cur_year_tick && onupdate_minyeartick >= 0 && - (*df::global::cur_year == onupdate_minyear && - *df::global::cur_year_tick < onupdate_minyeartick)) + if (cur_year && cur_year_tick && onupdate_minyeartick >= 0 && + (*cur_year == onupdate_minyear && + *cur_year_tick < onupdate_minyeartick)) return CR_OK; - if (df::global::cur_year_tick_advmode && onupdate_minyeartickadv >= 0 && - (*df::global::cur_year == onupdate_minyear && - *df::global::cur_year_tick_advmode < onupdate_minyeartickadv)) + if (cur_year && cur_year_tick_advmode && onupdate_minyeartickadv >= 0 && + (*cur_year == onupdate_minyear && + *cur_year_tick_advmode < onupdate_minyeartickadv)) return CR_OK; return plugin_eval_ruby(out, "DFHack.onupdate");