Updated copyright
[sixth-3d.git] / src / main / java / eu / svjatoslav / sixth / e3d / gui / humaninput / KeyboardFocusStack.java
index 4ee7ed8..02767f1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Sixth 3D engine. Copyright ©2012-2018, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
+ * Sixth 3D engine. Copyright ©2012-2019, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 3 of the GNU Lesser General Public License
@@ -40,16 +40,20 @@ public class KeyboardFocusStack {
         currentUserInputHandler.focusReceived(viewPanel);
     }
 
-    public void pushFocusOwner(final UserInputHandler newInputHandler) {
+    public boolean pushFocusOwner(final UserInputHandler newInputHandler) {
+        boolean updateNeeded = false;
+
         if (currentUserInputHandler == newInputHandler)
-            return;
+            return false;
 
         if (currentUserInputHandler != null) {
-            currentUserInputHandler.focusLost(viewPanel);
+            updateNeeded = currentUserInputHandler.focusLost(viewPanel);
             inputHandlers.push(currentUserInputHandler);
         }
 
         currentUserInputHandler = newInputHandler;
-        currentUserInputHandler.focusReceived(viewPanel);
+        updateNeeded |= currentUserInputHandler.focusReceived(viewPanel);
+
+        return updateNeeded;
     }
 }