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

New commits:
commit 0ddd9f7e055a0c1ecb120de3e40c3fdb8373e9dc
Author:     Patrick Luby <plub...@libreoffice.org>
AuthorDate: Wed Dec 6 11:11:38 2023 -0500
Commit:     Patrick Luby <plub...@libreoffice.org>
CommitDate: Wed Dec 6 23:52:49 2023 +0100

    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 <plub...@libreoffice.org>

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];
     }
 }
 

Reply via email to