vcl/osx/salframe.cxx |   10 ++++++++++
 1 file changed, 10 insertions(+)

New commits:
commit 3bc7cc14706f47d740dfc5715970054922ca470c
Author:     Patrick Luby <plubius@@users.noreply.github.com>
AuthorDate: Thu May 4 09:45:09 2023 -0400
Commit:     Patrick Luby <plub...@neooffice.org>
CommitDate: Thu May 4 22:48:48 2023 +0200

    tdf#152173 Don't display tooltip windows when application is inactive
    
    Starting with macOS 13 Ventura, inactive applications receive mouse
    move events so when LibreOffice is inactive, a mouse move event causes
    a tooltip to be displayed. Since the tooltip window is attached to its
    parent window (to ensure that the tooltip is above the parent window),
    displaying a tooltip pulls the parent window in front of the windows
    of all other inactive applications.
    
    Change-Id: I35caf480a8afb42694957a4a6c2bec20be591ef3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151394
    Tested-by: Jenkins
    Reviewed-by: Patrick Luby <plub...@neooffice.org>

diff --git a/vcl/osx/salframe.cxx b/vcl/osx/salframe.cxx
index 6288c44b2ab1..686f346fb54f 100644
--- a/vcl/osx/salframe.cxx
+++ b/vcl/osx/salframe.cxx
@@ -455,6 +455,16 @@ void AquaSalFrame::Show(bool bVisible, bool bNoActivate)
 
     OSX_SALDATA_RUNINMAIN( Show(bVisible, bNoActivate) )
 
+    // tdf#152173 Don't display tooltip windows when application is inactive
+    // Starting with macOS 13 Ventura, inactive applications receive mouse
+    // move events so when LibreOffice is inactive, a mouse move event causes
+    // a tooltip to be displayed. Since the tooltip window is attached to its
+    // parent window (to ensure that the tooltip is above the parent window),
+    // displaying a tooltip pulls the parent window in front of the windows
+    // of all other inactive applications.
+    if (bVisible && (mnStyle & SalFrameStyleFlags::TOOLTIP) && ![NSApp 
isActive])
+        return;
+
     mbShown = bVisible;
     if(bVisible)
     {

Reply via email to