From cc40883ad8dbaf03b68cb332ff1b50a6732939fe Mon Sep 17 00:00:00 2001 From: rubidium Date: Mon, 21 Dec 2009 16:16:37 +0000 Subject: (svn r18586) -Fix [FS#3398]: pressing default for the starting year/snow line height edit boxes of the world generation windows didn't work. --- src/genworld_gui.cpp | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/src/genworld_gui.cpp b/src/genworld_gui.cpp index adb59522f..517e33d5b 100644 --- a/src/genworld_gui.cpp +++ b/src/genworld_gui.cpp @@ -732,27 +732,36 @@ struct GenerateLandscapeWindow : public QueryStringBaseWindow { virtual void OnQueryTextFinished(char *str) { + int32 value; if (!StrEmpty(str)) { - int32 value = atoi(str); - + value = atoi(str); + } else { + /* An empty string means revert to the default */ switch (this->widget_id) { - case GLAND_START_DATE_TEXT: - this->SetWidgetDirty(GLAND_START_DATE_TEXT); - _settings_newgame.game_creation.starting_year = Clamp(value, MIN_YEAR, MAX_YEAR); - break; + case GLAND_START_DATE_TEXT: value = DEF_START_YEAR; break; + case GLAND_SNOW_LEVEL_TEXT: value = DEF_SNOWLINE_HEIGHT; break; + case GLAND_TOWN_PULLDOWN: value = 1; break; // There's not really a default + default: NOT_REACHED(); + } + } - case GLAND_SNOW_LEVEL_TEXT: - this->SetWidgetDirty(GLAND_SNOW_LEVEL_TEXT); - _settings_newgame.game_creation.snow_line_height = Clamp(value, MIN_SNOWLINE_HEIGHT, MAX_SNOWLINE_HEIGHT); - break; + switch (this->widget_id) { + case GLAND_START_DATE_TEXT: + this->SetWidgetDirty(GLAND_START_DATE_TEXT); + _settings_newgame.game_creation.starting_year = Clamp(value, MIN_YEAR, MAX_YEAR); + break; - case GLAND_TOWN_PULLDOWN: - _settings_newgame.game_creation.custom_town_number = Clamp(value, 1, CUSTOM_TOWN_MAX_NUMBER); - break; - } + case GLAND_SNOW_LEVEL_TEXT: + this->SetWidgetDirty(GLAND_SNOW_LEVEL_TEXT); + _settings_newgame.game_creation.snow_line_height = Clamp(value, MIN_SNOWLINE_HEIGHT, MAX_SNOWLINE_HEIGHT); + break; - this->SetDirty(); + case GLAND_TOWN_PULLDOWN: + _settings_newgame.game_creation.custom_town_number = Clamp(value, 1, CUSTOM_TOWN_MAX_NUMBER); + break; } + + this->SetDirty(); } }; -- cgit v1.2.3-70-g09d2