From b9cde8a787a0efbcad5ac8da129c428980b2e4e7 Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Sat, 3 Mar 2018 03:58:01 +0100 Subject: [PATCH] Correctly focus game canvas when requesting focus Correctly focus game canvas when requesting ClientUI focus. Also, move the call to OSXUtil.requestFocus() to clientUI. Signed-off-by: Tomas Slusny --- .../main/java/net/runelite/client/Notifier.java | 10 +--------- .../java/net/runelite/client/ui/ClientUI.java | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/Notifier.java b/runelite-client/src/main/java/net/runelite/client/Notifier.java index f2f2006a91..5fa9ca3516 100644 --- a/runelite-client/src/main/java/net/runelite/client/Notifier.java +++ b/runelite-client/src/main/java/net/runelite/client/Notifier.java @@ -43,7 +43,6 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.client.config.RuneLiteConfig; import net.runelite.client.ui.ClientUI; import net.runelite.client.util.OSType; -import net.runelite.client.util.OSXUtil; @Singleton @Slf4j @@ -99,14 +98,7 @@ public class Notifier if (runeLiteConfig.requestFocusOnNotification()) { - if (OSType.getOSType() == OSType.MacOS) - { - OSXUtil.requestFocus(); - } - else - { - clientUI.requestFocus(); - } + clientUI.requestFocus(); } if (runeLiteConfig.enableTrayNotifications()) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java index 2c435ad80c..a41f4ae54e 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java @@ -24,6 +24,7 @@ */ package net.runelite.client.ui; +import com.google.common.eventbus.Subscribe; import java.applet.Applet; import java.awt.AWTException; import java.awt.BorderLayout; @@ -57,7 +58,6 @@ import javax.swing.ToolTipManager; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.FontUIResource; -import com.google.common.eventbus.Subscribe; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; @@ -65,6 +65,7 @@ import net.runelite.api.GameState; import net.runelite.api.events.ConfigChanged; import net.runelite.client.RuneLite; import net.runelite.client.RuneLiteProperties; +import net.runelite.client.util.OSType; import net.runelite.client.util.OSXUtil; import org.pushingpixels.substance.api.skin.SubstanceGraphiteLookAndFeel; import org.pushingpixels.substance.internal.utils.SubstanceCoreUtilities; @@ -371,6 +372,18 @@ public class ClientUI extends JFrame add(container); } + @Override + public void requestFocus() + { + if (OSType.getOSType() == OSType.MacOS) + { + OSXUtil.requestFocus(); + } + + super.requestFocus(); + giveClientFocus(); + } + private void revalidateMinimumSize() { // The JFrame only respects minimumSize if it was set by setMinimumSize, for some reason. (atleast on windows/native)