diff options
author | Paul Gilbert | 2019-01-01 17:07:46 -0800 |
---|---|---|
committer | Paul Gilbert | 2019-01-01 17:07:46 -0800 |
commit | 4568e498cabd2c8523a5c0717e57c71d334f26e7 (patch) | |
tree | 486ecff52c08de08df74cf8b8443625982002714 | |
parent | aa9a1ab9018ccb59734577652dfdac03b2f5df41 (diff) | |
download | scummvm-rg350-4568e498cabd2c8523a5c0717e57c71d334f26e7.tar.gz scummvm-rg350-4568e498cabd2c8523a5c0717e57c71d334f26e7.tar.bz2 scummvm-rg350-4568e498cabd2c8523a5c0717e57c71d334f26e7.zip |
GLK: FROTZ: Fix #10843 Status bar disappearing when textbox is shown
-rw-r--r-- | engines/glk/frotz/glk_interface.cpp | 1 | ||||
-rw-r--r-- | engines/glk/window_text_grid.cpp | 13 |
2 files changed, 9 insertions, 5 deletions
diff --git a/engines/glk/frotz/glk_interface.cpp b/engines/glk/frotz/glk_interface.cpp index 88abbe3f68..4aa2ba4e78 100644 --- a/engines/glk/frotz/glk_interface.cpp +++ b/engines/glk/frotz/glk_interface.cpp @@ -591,6 +591,7 @@ zchar GlkInterface::os_read_line(int max, zchar *buf, int timeout, int width, in glk_request_timer_events(0); buf[ev.val1] = '\0'; + // If the upper status line area was expanded to show a text box/quotation, restore it back if (gos_upper && mach_status_ht < curr_status_ht) reset_status_ht(); curr_status_ht = 0; diff --git a/engines/glk/window_text_grid.cpp b/engines/glk/window_text_grid.cpp index d1f26da55f..ee3921d9c6 100644 --- a/engines/glk/window_text_grid.cpp +++ b/engines/glk/window_text_grid.cpp @@ -646,11 +646,14 @@ void TextGridWindow::getSize(uint *width, uint *height) const { /*--------------------------------------------------------------------------*/ void TextGridWindow::TextGridRow::resize(size_t newSize) { - _chars.clear(); - _attrs.clear(); - _chars.resize(newSize); - _attrs.resize(newSize); - Common::fill(&_chars[0], &_chars[0] + newSize, ' '); + size_t oldSize = _chars.size(); + if (newSize != oldSize) { + _chars.resize(newSize); + _attrs.resize(newSize); + + if (newSize > oldSize) + Common::fill(&_chars[0] + oldSize, &_chars[0] + newSize, ' '); + } } } // End of namespace Glk |