summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/newgrf_gui.cpp19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp
index c659ac8fd..42e5f9bdd 100644
--- a/src/newgrf_gui.cpp
+++ b/src/newgrf_gui.cpp
@@ -896,19 +896,16 @@ struct NewGRFWindow : public QueryStringBaseWindow {
virtual void OnDropdownSelect(int widget, int index)
{
if (!this->editable) return;
- if (index == -1) {
- ClearGRFConfigList(&this->actives);
- this->preset = -1;
- } else {
+
+ ClearGRFConfigList(&this->actives);
+ this->preset = index;
+
+ if (index != -1) {
GRFConfig *c = LoadGRFPresetFromConfig(_grf_preset_list[index]);
- if (c != NULL) {
- this->active_sel = NULL;
- ClearGRFConfigList(&this->actives);
- this->actives = c;
- this->preset = index;
- this->avails.ForceRebuild();
- }
+ this->active_sel = NULL;
+ this->actives = c;
+ this->avails.ForceRebuild();
}
DeleteWindowByClass(WC_GRF_PARAMETERS);