diff options
-rw-r--r-- | engines/lure/surface.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/engines/lure/surface.cpp b/engines/lure/surface.cpp index b4849ec3dd..c241a6551a 100644 --- a/engines/lure/surface.cpp +++ b/engines/lure/surface.cpp @@ -408,7 +408,9 @@ bool Surface::getString(Common::String &line, int maxSize, bool isNumeric, bool bool abortFlag = false; bool refreshFlag = false; - mouse.cursorOff(); + bool vKbdFlag = g_system->hasFeature(OSystem::kFeatureVirtualKeyboard); + if (!vKbdFlag) + mouse.cursorOff(); // Insert a cursor character at the end of the string newLine.insertChar('_', newLine.size()); @@ -437,7 +439,8 @@ bool Surface::getString(Common::String &line, int maxSize, bool isNumeric, bool screen.update(); newLine.deleteLastChar(); line = newLine; - mouse.cursorOn(); + if (!vKbdFlag) + mouse.cursorOn(); return true; } else if (keycode == Common::KEYCODE_ESCAPE) { @@ -471,7 +474,9 @@ bool Surface::getString(Common::String &line, int maxSize, bool isNumeric, bool } } - mouse.cursorOn(); + if (!vKbdFlag) + mouse.cursorOn(); + return false; } |