diff options
Diffstat (limited to 'backends')
-rw-r--r-- | backends/vkeybd/virtual-keyboard-gui.cpp | 7 |
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; |