diff --git a/CHANGELOG.md b/CHANGELOG.md index 970a1f08..9ca656e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,8 @@ FlatLaf Change Log #### Fixed bugs - Tree and List: Fixed painting of rounded drop backgrounds. (issue #1023) +- Popup: Showing tooltip in inactive window brought that window to front (made + it active) and potentially hid the previously active window. (issue #1037) - macOS: Fixed window "flashing" when switching from a light to a dark theme (or vice versa). Especially when using animated theme changer (see [FlatLaf Extras](flatlaf-extras)). diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPopupFactory.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPopupFactory.java index 6bc15326..885f91eb 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPopupFactory.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPopupFactory.java @@ -546,7 +546,15 @@ public class FlatPopupFactory int x = popupWindow.getX(); int y = popupWindow.getY(); - popup.show(); + if( !popupWindow.isVisible() ) + popup.show(); + else { + // if the popup window is already visible (because it is reused), + // do not invoke Popup.show() because this would invoke Window.toFront(), + // which may have the side effect that an inactive owner window + // would be also moved to front and maybe hide previously active window + popupWindow.pack(); + } // restore popup window location if it has changed // (probably scaled when screens use different scale factors)