summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gui/action.cpp7
-rw-r--r--gui/terminal.cpp2
2 files changed, 7 insertions, 2 deletions
diff --git a/gui/action.cpp b/gui/action.cpp
index 81c6294e2..1b30a2064 100644
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -304,8 +304,10 @@ int GUIAction::NotifyKey(int key, bool down)
// Else, check if all buttons are pressed, then consume their release events
// so they don't trigger one-button actions and reset mKeys pressed status
if(mKeys.size() == 1) {
- if(!down && prevState)
+ if(!down && prevState) {
doActions();
+ return 0;
+ }
} else if(down) {
for(itr = mKeys.begin(); itr != mKeys.end(); ++itr) {
if(!itr->second)
@@ -320,9 +322,10 @@ int GUIAction::NotifyKey(int key, bool down)
}
doActions();
+ return 0;
}
- return 0;
+ return 1;
}
int GUIAction::NotifyVarChange(const std::string& varName, const std::string& value)
diff --git a/gui/terminal.cpp b/gui/terminal.cpp
index 00b7820a5..044782e4e 100644
--- a/gui/terminal.cpp
+++ b/gui/terminal.cpp
@@ -833,6 +833,8 @@ int GUITerminal::NotifyTouch(TOUCH_STATE state, int x, int y)
int GUITerminal::NotifyKey(int key, bool down)
{
+ if (!HasInputFocus)
+ return 1;
if (down)
if (engine->inputKey(key))
mUpdate = 1;