include/svx/svdpntv.hxx |   72 ++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 64 insertions(+), 8 deletions(-)

New commits:
commit 209d9cfb475e72da2edaff5d69341484f7acf6ed
Author:     Caolán McNamara <[email protected]>
AuthorDate: Mon Jan 8 10:15:39 2024 +0000
Commit:     Miklos Vajna <[email protected]>
CommitDate: Mon Jan 8 13:40:56 2024 +0100

    Related: cool#7951 only invalidate Window if the setting really changed
    
    cut down on some of these invalidations when the setting didn't change
    and we don't need the expensive invalidation
    
    Change-Id: Id84a79636fcd7f21c7a8dbe86218b75d32b26487
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161757
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Miklos Vajna <[email protected]>

diff --git a/include/svx/svdpntv.hxx b/include/svx/svdpntv.hxx
index 7e49d959232b..7f1fa8a975de 100644
--- a/include/svx/svdpntv.hxx
+++ b/include/svx/svdpntv.hxx
@@ -376,14 +376,70 @@ public:
     bool IsHlplFront() const { return mbHlplFront  ; }
 
     const Color& GetGridColor() const { return maGridColor;}
-    void SetPageVisible(bool bOn = true) { mbPageVisible=bOn; 
InvalidateAllWin(); }
-    void SetPageShadowVisible(bool bOn) { mbPageShadowVisible=bOn; 
InvalidateAllWin(); }
-    void SetPageBorderVisible(bool bOn = true) { mbPageBorderVisible=bOn; 
InvalidateAllWin(); }
-    void SetBordVisible(bool bOn = true) { mbBordVisible=bOn; 
InvalidateAllWin(); }
-    void SetGridVisible(bool bOn) { mbGridVisible=bOn; InvalidateAllWin(); }
-    void SetGridFront(bool bOn) { mbGridFront  =bOn; InvalidateAllWin(); }
-    void SetHlplVisible(bool bOn = true) { mbHlplVisible=bOn; 
InvalidateAllWin(); }
-    void SetHlplFront(bool bOn) { mbHlplFront  =bOn; InvalidateAllWin(); }
+    void SetPageVisible(bool bOn = true)
+    {
+        if (mbPageVisible != bOn)
+        {
+            mbPageVisible = bOn;
+            InvalidateAllWin();
+        }
+    }
+    void SetPageShadowVisible(bool bOn)
+    {
+        if (mbPageShadowVisible != bOn)
+        {
+            mbPageShadowVisible = bOn;
+            InvalidateAllWin();
+        }
+    }
+    void SetPageBorderVisible(bool bOn = true)
+    {
+        if (mbPageBorderVisible != bOn)
+        {
+            mbPageBorderVisible = bOn;
+            InvalidateAllWin();
+        }
+    }
+    void SetBordVisible(bool bOn = true)
+    {
+        if (mbBordVisible != bOn)
+        {
+            mbBordVisible = bOn;
+            InvalidateAllWin();
+        }
+    }
+    void SetGridVisible(bool bOn)
+    {
+        if (mbGridVisible != bOn)
+        {
+            mbGridVisible = bOn;
+            InvalidateAllWin();
+        }
+    }
+    void SetGridFront(bool bOn)
+    {
+        if (mbGridFront != bOn)
+        {
+            mbGridFront = bOn;
+            InvalidateAllWin();
+        }
+    }
+    void SetHlplVisible(bool bOn = true)
+    {
+        if (mbHlplVisible != bOn)
+        {
+            mbHlplVisible = bOn;
+            InvalidateAllWin();
+        }
+    }
+    void SetHlplFront(bool bOn)
+    {
+        if (mbHlplFront != bOn)
+        {
+            mbHlplFront = bOn;
+            InvalidateAllWin();
+        }
+    }
     void SetGlueVisible(bool bOn = true) { if (mbGlueVisible!=bOn) { 
mbGlueVisible=bOn; if (!mbGlueVisible2 && !mbGlueVisible3 && !mbGlueVisible4) 
GlueInvalidate(); } }
 
     bool IsPreviewRenderer() const { return mbPreviewRenderer; }

Reply via email to