From 576de41d512691e18990a41239fa25c56139fc2f Mon Sep 17 00:00:00 2001 From: Mehmet Emin Karaman Date: Tue, 26 Nov 2024 12:40:01 +0100 Subject: [PATCH] Bugfix for Hover which is visible above other application windows. #2534 This patch is fixing the problem, where the HoverManagers listeners are deregistered but the hover is still visibile on top. This happens when the hover was sticky eclipse was minimized and put back on foreground after it. In that case the listeners are already deregistered and there is no chance to react at all. So for this case the visibility has to be set explicitly when the close is going to stop. --- .../xtext/xbase/ui/hover/XbaseInformationControl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/hover/XbaseInformationControl.java b/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/hover/XbaseInformationControl.java index 980972f764a..d8cdd82205d 100644 --- a/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/hover/XbaseInformationControl.java +++ b/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/hover/XbaseInformationControl.java @@ -514,8 +514,6 @@ public static boolean isAvailable(Composite parent) { @Override public void setVisible(boolean visible) { Shell shell = getShell(); - if (shell.isVisible() == visible) - return; if (!visible) { super.setVisible(false); @@ -523,6 +521,9 @@ public void setVisible(boolean visible) { startDisposeTimeout(shell.getDisplay()); return; } + + if (shell.isVisible() == visible) + return; /* * The Browser widget flickers when made visible while it is not completely loaded.