diff options
author | Patrick Luby <plubius@libreoffice.org> | 2023-12-06 11:11:38 -0500 |
---|---|---|
committer | Patrick Luby <plubius@libreoffice.org> | 2023-12-06 23:52:49 +0100 |
commit | 0ddd9f7e055a0c1ecb120de3e40c3fdb8373e9dc (patch) | |
tree | 935ba0d100759feb51438baa5597a7e357854458 /vcl | |
parent | c574def363c96aa38e8db4e8a03fa9ebcc41da7b (diff) |
Related: tdf#155266 skip redisplay of the view when forcing flush
It appears that calling -[NSView display] overwhelms some Intel Macs
so only flush the graphics and skip immediate redisplay of the view.
Change-Id: I7a94a1ada35526c5eda1b793f872e206b4c833ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160399
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@libreoffice.org>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/osx/salframe.cxx | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/vcl/osx/salframe.cxx b/vcl/osx/salframe.cxx index 2240de319860..b02dbc59585e 100644 --- a/vcl/osx/salframe.cxx +++ b/vcl/osx/salframe.cxx @@ -1035,7 +1035,11 @@ void AquaSalFrame::Flush() { mbForceFlush = false; mpGraphics->Flush(); - [mpNSView display]; + // Related: tdf#155266 skip redisplay of the view when forcing flush + // It appears that calling -[NSView display] overwhelms some Intel Macs + // so only flush the graphics and skip immediate redisplay of the view. + if( ImplGetSVData()->maAppData.mnDispatchLevel <= 0 ) + [mpNSView display]; } } @@ -1057,7 +1061,11 @@ void AquaSalFrame::Flush( const tools::Rectangle& rRect ) { mbForceFlush = false; mpGraphics->Flush( rRect ); - [mpNSView display]; + // Related: tdf#155266 skip redisplay of the view when forcing flush + // It appears that calling -[NSView display] overwhelms some Intel Macs + // so only flush the graphics and skip immediate redisplay of the view. + if( ImplGetSVData()->maAppData.mnDispatchLevel <= 0 ) + [mpNSView display]; } } |