diff options
author | Stephen Kennedy | 2008-08-17 12:11:34 +0000 |
---|---|---|
committer | Stephen Kennedy | 2008-08-17 12:11:34 +0000 |
commit | 63c4a61032bd97b478de9cbf82510f461d08f653 (patch) | |
tree | 50763830be3ee133b6374046edf6001fdeaf9f5f /backends/events/default/default-events.cpp | |
parent | 8c2340d323dcf7d404e05da147f4e964d0d10133 (diff) | |
download | scummvm-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.cpp | 16 |
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) { |