gui: fix return value of NotifyKey

Only the last action got its keys and ate all of them (om nom nom).
This fixes the power button action that activates the lock screen.

Change-Id: Ia724568b159090c2c14a282cf3927915b2dc70e7
This commit is contained in:
that
2016-01-19 00:15:21 +01:00
parent faa4377e40
commit d4725ca147
2 changed files with 7 additions and 2 deletions

View File

@@ -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)

View File

@@ -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;