diff options
Diffstat (limited to 'src/newgrf_gui.cpp')
-rw-r--r-- | src/newgrf_gui.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index 7e9e1f693..cc8413408 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -325,6 +325,7 @@ struct NewGRFParametersWindow : public Window { /* One of the arrows is clicked */ if (IsInsideMM(x, 0, 21)) { uint32 val = par_info->GetValue(this->grf_config); + uint32 old_val = val; if (par_info->type == PTYPE_BOOL) { val = !val; } else { @@ -338,17 +339,18 @@ struct NewGRFParametersWindow : public Window { this->clicked_increase = false; } } - par_info->SetValue(this->grf_config, val); + if (val != old_val) { + par_info->SetValue(this->grf_config, val); - this->clicked_button = num; - this->timeout = 5; + this->clicked_button = num; + this->timeout = 5; + this->SetDirty(); + } } else if (par_info->type == PTYPE_UINT_ENUM && click_count >= 2) { /* Display a query box so users can enter a custom value. */ SetDParam(0, this->grf_config->param[num]); ShowQueryString(STR_JUST_INT, STR_CONFIG_SETTING_QUERY_CAPTION, 10, this, CS_NUMERAL, QSF_NONE); } - - this->SetDirty(); break; } |