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;
