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
diff --git a/gui/action.cpp b/gui/action.cpp
index 81c6294..1b30a20 100644
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -304,8 +304,10 @@
 	// 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 @@
 		}
 
 		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 00b7820..044782e 100644
--- a/gui/terminal.cpp
+++ b/gui/terminal.cpp
@@ -833,6 +833,8 @@
 
 int GUITerminal::NotifyKey(int key, bool down)
 {
+	if (!HasInputFocus)
+		return 1;
 	if (down)
 		if (engine->inputKey(key))
 			mUpdate = 1;