diff options
Diffstat (limited to 'src/fios_gui.cpp')
-rw-r--r-- | src/fios_gui.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/fios_gui.cpp b/src/fios_gui.cpp index 5f49341a7..a038d0654 100644 --- a/src/fios_gui.cpp +++ b/src/fios_gui.cpp @@ -262,6 +262,7 @@ public: default: break; } + this->ok_button = WID_SL_SAVE_GAME; this->afilter = CS_ALPHANUMERAL; this->text.Initialize(this->edit_str_buf, this->edit_str_size); @@ -604,7 +605,12 @@ public: } break; - case WID_SL_DELETE_SELECTION: case WID_SL_SAVE_GAME: // Delete, Save game + case WID_SL_DELETE_SELECTION: // Delete + break; + + case WID_SL_SAVE_GAME: // Save game + /* Note, this is also called via the OSK; and we need to lower the button. */ + this->HandleButtonClick(WID_SL_SAVE_GAME); break; } } @@ -617,10 +623,7 @@ public: } EventState state = ES_NOT_HANDLED; - if ((_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO || _saveload_mode == SLD_SAVE_HEIGHTMAP) && - this->HandleEditBoxKey(WID_SL_SAVE_OSK_TITLE, key, keycode, state) == HEBR_CONFIRM) { - this->HandleButtonClick(WID_SL_SAVE_GAME); - } + this->HandleEditBoxKey(WID_SL_SAVE_OSK_TITLE, key, keycode, state); return state; } |