# HG changeset patch # User frosch # Date 2012-06-01 15:12:52 # Node ID 8c7eb12e067c334f8ab1436a8f500dc8caf8061a # Parent b4953b3185f35f934b9badf2707458b723d9a7ac (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. diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -328,9 +328,9 @@ struct NewGRFParametersWindow : public W if (par_info == NULL) par_info = GetDummyParameterInfo(num); /* One of the arrows is clicked */ + uint32 old_val = par_info->GetValue(this->grf_config); if (IsInsideMM(x, 0, SETTING_BUTTON_WIDTH)) { - uint32 val = par_info->GetValue(this->grf_config); - uint32 old_val = val; + uint32 val = old_val; if (par_info->type == PTYPE_BOOL) { val = !val; } else { @@ -352,7 +352,7 @@ struct NewGRFParametersWindow : public W } } 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]); + SetDParam(0, old_val); ShowQueryString(STR_JUST_INT, STR_CONFIG_SETTING_QUERY_CAPTION, 10, this, CS_NUMERAL, QSF_NONE); } this->SetDirty();