diff options
author | Johannes Schickel | 2009-01-21 15:23:30 +0000 |
---|---|---|
committer | Johannes Schickel | 2009-01-21 15:23:30 +0000 |
commit | ceefbd19b97fe50c2a3721c303fcd087f2762b5b (patch) | |
tree | 7c68caa536ac249aceb5227b5edf6645621cd41b /backends | |
parent | 980917e54588f36be928a9ed32287c3cc4927783 (diff) | |
download | scummvm-rg350-ceefbd19b97fe50c2a3721c303fcd087f2762b5b.tar.gz scummvm-rg350-ceefbd19b97fe50c2a3721c303fcd087f2762b5b.tar.bz2 scummvm-rg350-ceefbd19b97fe50c2a3721c303fcd087f2762b5b.zip |
Fixed vkbd drawing and GUI drawing on screen change while vkbd is shown.
svn-id: r35979
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; |