(svn r22499) -Fix: don't lower the arrow buttons in the newgrf/AI parameter windows if they're clicked when disabled

This commit is contained in:
yexo
2011-05-27 18:02:55 +00:00
parent 56902191e4
commit ffdfa5a213
2 changed files with 16 additions and 11 deletions

View File

@@ -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;
}