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@collabora.com>
diff --git a/vcl/win/gdi/gdiimpl.cxx b/vcl/win/gdi/gdiimpl.cxx
index b287968..8caf2a9 100644
--- a/vcl/win/gdi/gdiimpl.cxx
+++ b/vcl/win/gdi/gdiimpl.cxx
@@ -1354,21 +1354,9 @@

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,25 +1399,33 @@
        bStockPen = FALSE;
    }

    // select new pen
    HPEN hOldPen = SelectPen( mrParent.getHDC(), hNewPen );

    // destroy or save old pen
    if ( mhPen )
    {
        if ( !mbStockPen )
            DeletePen( mhPen );
    }
    else
        mrParent.mhDefPen = hOldPen;
    ResetPen(hNewPen);

    // set new data
    mnPenColor  = nPenColor;
    mhPen       = hNewPen;
    mbPen       = TRUE;
    mbStockPen  = bStockPen;
}

void WinSalGraphicsImpl::ResetPen(HPEN hNewPen)
{
    HPEN hOldPen = SelectPen(mrParent.getHDC(), hNewPen);

    if (mhPen)
    {
        if (!mbStockPen)
        {
            DeletePen(mhPen);
        }
    }
    else
    {
        mrParent.mhDefPen = hOldPen;
    }

    mhPen = hNewPen;
}

void WinSalGraphicsImpl::SetFillColor()
{
    // create and select new brush
diff --git a/vcl/win/gdi/gdiimpl.hxx b/vcl/win/gdi/gdiimpl.hxx
index 217b331..040920c 100644
--- a/vcl/win/gdi/gdiimpl.hxx
+++ b/vcl/win/gdi/gdiimpl.hxx
@@ -52,6 +52,7 @@
    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);