aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
Diffstat (limited to 'backends')
-rw-r--r--backends/vkeybd/virtual-keyboard-gui.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/backends/vkeybd/virtual-keyboard-gui.cpp b/backends/vkeybd/virtual-keyboard-gui.cpp
index b26b34068a..a4b6d63aad 100644
--- a/backends/vkeybd/virtual-keyboard-gui.cpp
+++ b/backends/vkeybd/virtual-keyboard-gui.cpp
@@ -248,12 +248,19 @@ void VirtualKeyboardGUI::move(int16 x, int16 y) {
}
void VirtualKeyboardGUI::screenChanged() {
+ g_gui.checkScreenChange();
+
_lastScreenChanged = _system->getScreenChangeID();
int16 newScreenW = _system->getOverlayWidth();
int16 newScreenH = _system->getOverlayHeight();
+
if (_screenW != newScreenW || _screenH != newScreenH) {
_screenW = newScreenW;
_screenH = newScreenH;
+
+ _overlayBackup.create(_screenW, _screenH, sizeof(OverlayColor));
+ _system->grabOverlay((OverlayColor*)_overlayBackup.pixels, _overlayBackup.w);
+
if (!_kbd->checkModeResolutions()) {
_displaying = false;
return;