(svn r24314) -Fix: Editing NewGRF parameters using the query window showed wrong values, if there was no direct relation between parameter index and parameter register.

This commit is contained in:
frosch 2012-06-01 15:12:52 +00:00
parent 65f51240cd
commit fde15bf393

View File

@ -328,9 +328,9 @@ struct NewGRFParametersWindow : public Window {
if (par_info == NULL) par_info = GetDummyParameterInfo(num); if (par_info == NULL) par_info = GetDummyParameterInfo(num);
/* One of the arrows is clicked */ /* One of the arrows is clicked */
uint32 old_val = par_info->GetValue(this->grf_config);
if (IsInsideMM(x, 0, SETTING_BUTTON_WIDTH)) { if (IsInsideMM(x, 0, SETTING_BUTTON_WIDTH)) {
uint32 val = par_info->GetValue(this->grf_config); uint32 val = old_val;
uint32 old_val = val;
if (par_info->type == PTYPE_BOOL) { if (par_info->type == PTYPE_BOOL) {
val = !val; val = !val;
} else { } else {
@ -352,7 +352,7 @@ struct NewGRFParametersWindow : public Window {
} }
} else if (par_info->type == PTYPE_UINT_ENUM && click_count >= 2) { } else if (par_info->type == PTYPE_UINT_ENUM && click_count >= 2) {
/* Display a query box so users can enter a custom value. */ /* Display a query box so users can enter a custom value. */
SetDParam(0, this->grf_config->param[num]); SetDParam(0, old_val);
ShowQueryString(STR_JUST_INT, STR_CONFIG_SETTING_QUERY_CAPTION, 10, this, CS_NUMERAL, QSF_NONE); ShowQueryString(STR_JUST_INT, STR_CONFIG_SETTING_QUERY_CAPTION, 10, this, CS_NUMERAL, QSF_NONE);
} }
this->SetDirty(); this->SetDirty();