aboutsummaryrefslogtreecommitdiff
path: root/backends/events/default/default-events.cpp
diff options
context:
space:
mode:
authorStephen Kennedy2008-08-17 12:11:34 +0000
committerStephen Kennedy2008-08-17 12:11:34 +0000
commit63c4a61032bd97b478de9cbf82510f461d08f653 (patch)
tree50763830be3ee133b6374046edf6001fdeaf9f5f /backends/events/default/default-events.cpp
parent8c2340d323dcf7d404e05da147f4e964d0d10133 (diff)
downloadscummvm-rg350-63c4a61032bd97b478de9cbf82510f461d08f653.tar.gz
scummvm-rg350-63c4a61032bd97b478de9cbf82510f461d08f653.tar.bz2
scummvm-rg350-63c4a61032bd97b478de9cbf82510f461d08f653.zip
Various virtual keyboard bug fixes
svn-id: r33969
Diffstat (limited to 'backends/events/default/default-events.cpp')
-rw-r--r--backends/events/default/default-events.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/backends/events/default/default-events.cpp b/backends/events/default/default-events.cpp
index aad8fee4fc..282d8251b5 100644
--- a/backends/events/default/default-events.cpp
+++ b/backends/events/default/default-events.cpp
@@ -423,11 +423,17 @@ bool DefaultEventManager::pollEvent(Common::Event &event) {
if (_vk->isDisplaying()) {
_vk->close(true);
} else {
- bool isPaused = (g_engine) ? g_engine->isPaused() : true;
- if (!isPaused) g_engine->pauseEngine(true);
- _vk->show();
- if (!isPaused) g_engine->pauseEngine(false);
- result = false;
+ static bool enabled = true;
+ if (enabled && _vk->isLoaded() == false) {
+ enabled = _vk->loadKeyboardPack("vkeybd");
+ }
+ if (enabled) {
+ bool isPaused = (g_engine) ? g_engine->isPaused() : true;
+ if (!isPaused) g_engine->pauseEngine(true);
+ _vk->show();
+ if (!isPaused) g_engine->pauseEngine(false);
+ result = false;
+ }
}
} else if (event.kbd.keycode == Common::KEYCODE_F7 && event.kbd.flags == 0) {
if (!_remap) {