[Libreoffice-commits] core.git: vcl/win

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Sun Dec 9 19:05:52 UTC 2018


 vcl/win/gdi/gdiimpl.cxx |   44 ++++++++++++++++++++------------------------
 vcl/win/gdi/gdiimpl.hxx |    1 +
 2 files changed, 21 insertions(+), 24 deletions(-)

New commits:
commit 53a29871800c5b520767e18c1e3f10c4d5c4852e
Author:     Dmitriy Shilin <dshil at fastmail.com>
AuthorDate: Sat Dec 8 12:07:30 2018 +0300
Commit:     Mike Kaganski <mike.kaganski at collabora.com>
CommitDate: Sun Dec 9 20:05:30 2018 +0100

    tdf#39593 vcl/win/gdi: extract pen resetting into method
    
    Change-Id: I5abb3ed26376b38b2469f124d2ac1864083a09ef
    Reviewed-on: https://gerrit.libreoffice.org/64801
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>

diff --git a/vcl/win/gdi/gdiimpl.cxx b/vcl/win/gdi/gdiimpl.cxx
index b2879686d9a7..8caf2a94317f 100644
--- a/vcl/win/gdi/gdiimpl.cxx
+++ b/vcl/win/gdi/gdiimpl.cxx
@@ -1354,21 +1354,9 @@ bool WinSalGraphicsImpl::setClipRegion( const vcl::Region& i_rClip )
 
 void WinSalGraphicsImpl::SetLineColor()
 {
-    // create and select new pen
-    HPEN hNewPen = GetStockPen( NULL_PEN );
-    HPEN hOldPen = SelectPen( mrParent.getHDC(), hNewPen );
-
-    // destroy or save old pen
-    if ( mhPen )
-    {
-        if ( !mbStockPen )
-            DeletePen( mhPen );
-    }
-    else
-        mrParent.mhDefPen = hOldPen;
+    ResetPen(GetStockPen(NULL_PEN));
 
     // set new data
-    mhPen       = hNewPen;
     mbPen       = FALSE;
     mbStockPen  = TRUE;
 }
@@ -1411,23 +1399,31 @@ void WinSalGraphicsImpl::SetLineColor( Color nColor )
         bStockPen = FALSE;
     }
 
-    // select new pen
-    HPEN hOldPen = SelectPen( mrParent.getHDC(), hNewPen );
+    ResetPen(hNewPen);
 
-    // destroy or save old pen
-    if ( mhPen )
+    // set new data
+    mnPenColor  = nPenColor;
+    mbPen       = TRUE;
+    mbStockPen  = bStockPen;
+}
+
+void WinSalGraphicsImpl::ResetPen(HPEN hNewPen)
+{
+    HPEN hOldPen = SelectPen(mrParent.getHDC(), hNewPen);
+
+    if (mhPen)
     {
-        if ( !mbStockPen )
-            DeletePen( mhPen );
+        if (!mbStockPen)
+        {
+            DeletePen(mhPen);
+        }
     }
     else
+    {
         mrParent.mhDefPen = hOldPen;
+    }
 
-    // set new data
-    mnPenColor  = nPenColor;
-    mhPen       = hNewPen;
-    mbPen       = TRUE;
-    mbStockPen  = bStockPen;
+    mhPen = hNewPen;
 }
 
 void WinSalGraphicsImpl::SetFillColor()
diff --git a/vcl/win/gdi/gdiimpl.hxx b/vcl/win/gdi/gdiimpl.hxx
index 217b33109311..040920cb1536 100644
--- a/vcl/win/gdi/gdiimpl.hxx
+++ b/vcl/win/gdi/gdiimpl.hxx
@@ -52,6 +52,7 @@ private:
     bool tryDrawBitmapGdiPlus(const SalTwoRect& rTR, const SalBitmap& rSrcBitmap);
     void drawPixelImpl( long nX, long nY, COLORREF crColor );
 
+    void ResetPen(HPEN hNewPen);
 public:
 
     explicit WinSalGraphicsImpl(WinSalGraphics& rParent);


More information about the Libreoffice-commits mailing list