From 753e039d02f3cbe4168d0136af5b10fa7e5ce91b Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 16 Mar 2018 00:28:12 +0100 Subject: [PATCH] * Fixed a problem that a tooltip window was shown of cards from panels in the back. --- Mage.Client/src/main/java/mage/client/MageFrame.java | 2 +- .../client/plugins/adapters/MageActionCallback.java | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Mage.Client/src/main/java/mage/client/MageFrame.java b/Mage.Client/src/main/java/mage/client/MageFrame.java index 77d7ebf6ef4..10ad84de4a4 100644 --- a/Mage.Client/src/main/java/mage/client/MageFrame.java +++ b/Mage.Client/src/main/java/mage/client/MageFrame.java @@ -613,7 +613,7 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { } } - private static MagePane getTopMost(MagePane exclude) { + public static MagePane getTopMost(MagePane exclude) { MagePane topmost = null; int best = Integer.MAX_VALUE; for (Component frame : desktopPane.getComponentsInLayer(JLayeredPane.DEFAULT_LAYER)) { diff --git a/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java b/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java index 8c6e8538596..d428ad1f658 100644 --- a/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java +++ b/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java @@ -26,10 +26,12 @@ import mage.cards.MageCard; import mage.cards.action.ActionCallback; import mage.cards.action.TransferData; import mage.client.MageFrame; +import mage.client.MagePane; import mage.client.SessionHandler; import mage.client.cards.BigCard; import mage.client.components.MageComponents; import mage.client.dialog.PreferencesDialog; +import mage.client.game.GamePane; import mage.client.plugins.impl.Plugins; import mage.client.util.DefaultActionCallback; import mage.client.util.gui.ArrowBuilder; @@ -367,6 +369,16 @@ public class MageActionCallback implements ActionCallback { } private void handleOverNewView(TransferData data) { + // Prevent to show tooltips from panes not in front + MagePane topPane = MageFrame.getTopMost(null); + if (topPane instanceof GamePane) { + if (!((GamePane) topPane).getGameId().equals(data.gameId)) { + return; + } + } else if (data.gameId != null) { + return; + } + hideTooltipPopup(); cancelTimeout(); Component parentComponent = SwingUtilities.getRoot(data.component);