vcl/osx/salinst.cxx |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit 321fa22e87a6258039561fd01d04eb1eee0933e7
Author:     Patrick Luby <[email protected]>
AuthorDate: Wed Feb 25 21:59:14 2026 -0500
Commit:     Patrick Luby <[email protected]>
CommitDate: Sat Feb 28 05:25:39 2026 +0100

    Related: tdf#155092 don't rely on cached "in live resize" value
    
    In certain cases, ImplGetSVData()->mpWinData->mbIsLiveResize
    remains set to true because the current event needs to be
    dispatched for ImplGetSVData()->mpWinData->mbIsLiveResize
    to be reset to false. This causes dispatching to become an
    infinite wait for the current NSEventTypeLeftMouseUp event
    to get dispatched. So query the native window directly to
    get the real live resizing status.
    
    Change-Id: Ib19d45096ffcb845827e2107ecf17006c99d4669
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200374
    Reviewed-by: Patrick Luby <[email protected]>
    Tested-by: Jenkins

diff --git a/vcl/osx/salinst.cxx b/vcl/osx/salinst.cxx
index 4c1e554397f6..3b6965301cab 100644
--- a/vcl/osx/salinst.cxx
+++ b/vcl/osx/salinst.cxx
@@ -586,7 +586,14 @@ bool AquaSalInstance::DoYield(bool bWait, bool 
bHandleAllCurrentEvents)
                 // the front of the event queue so no more events will be
                 // dispatched until live resizing ends. Surprisingly, live
                 // resizing appears to end in the next mouse down event.
-                if ( ImplGetSVData()->mpWinData->mbIsLiveResize && [pEvent 
type] == NSEventTypeLeftMouseUp )
+                // In certain cases, ImplGetSVData()->mpWinData->mbIsLiveResize
+                // remains set to true because the current event needs to be
+                // dispatched for ImplGetSVData()->mpWinData->mbIsLiveResize
+                // to be reset to false. This causes dispatching to become an
+                // infinite wait for the current NSEventTypeLeftMouseUp event
+                // to get dispatched. So query the native window directly to
+                // get the real live resizing status.
+                if ( [pEvent type] == NSEventTypeLeftMouseUp && [pEvent 
window] && [[pEvent window] inLiveResize] )
                 {
                     [NSApp postEvent: pEvent atStart: YES];
                     return false;

Reply via email to