From: Julian Smart Date: Fri, 12 Sep 2003 16:08:47 +0000 (+0000) Subject: Applied patch [ 805147 ] GDI objects are not deselected from DC X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/e7222d659b1d1c73d192f1fcfbf0fdcb32c1ef41 Applied patch [ 805147 ] GDI objects are not deselected from DC git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/msw/bitmap.cpp b/src/msw/bitmap.cpp index 0e5ab48c9f..bac7a9c0ca 100644 --- a/src/msw/bitmap.cpp +++ b/src/msw/bitmap.cpp @@ -1910,8 +1910,8 @@ 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) ) @@ -1919,6 +1919,10 @@ HBITMAP wxInvertMask(HBITMAP hbmpMask, int w, int h) wxLogLastError(wxT("BitBlt")); } + // Deselect objects + SelectObject(hdcSrc,srcTmp); + SelectObject(hdcDst,dstTmp); + ::DeleteDC(hdcSrc); ::DeleteDC(hdcDst);