From f8480f281ce0540a478d0daadb509255595e124f Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Fri, 12 Sep 2003 16:08:47 +0000 Subject: [PATCH] Applied patch [ 805147 ] GDI objects are not deselected from DC git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@23545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/bitmap.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/msw/bitmap.cpp b/src/msw/bitmap.cpp index 433a4ff392..87c7ae89cb 100644 --- a/src/msw/bitmap.cpp +++ b/src/msw/bitmap.cpp @@ -1463,8 +1463,8 @@ extern HBITMAP wxInvertMask(HBITMAP hbmpMask, int w, int h) wxLogLastError(wxT("CreateBitmap")); } - ::SelectObject(hdcSrc, hbmpMask); - ::SelectObject(hdcDst, hbmpInvMask); + HGDIOBJ srcTmp = ::SelectObject(hdcSrc, hbmpMask); + HGDIOBJ dstTmp = ::SelectObject(hdcDst, hbmpInvMask); if ( !::BitBlt(hdcDst, 0, 0, w, h, hdcSrc, 0, 0, NOTSRCCOPY) ) @@ -1472,6 +1472,10 @@ extern HBITMAP wxInvertMask(HBITMAP hbmpMask, int w, int h) wxLogLastError(wxT("BitBlt")); } + // Deselect objects + SelectObject(hdcSrc,srcTmp); + SelectObject(hdcDst,dstTmp); + ::DeleteDC(hdcSrc); ::DeleteDC(hdcDst);