From 11d0e0f9438d6c08ea5f9eb949b9a3b362e1ff0f Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 28 Dec 2013 15:11:34 +0000 Subject: [PATCH] Make raw pixel access work even with DDBs under MSW. This is inefficient, because we need to copy pixels to and from them, but better than silently doing nothing. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/bitmap.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/msw/bitmap.cpp b/src/msw/bitmap.cpp index 61ad4d25f8..89ee4104ac 100644 --- a/src/msw/bitmap.cpp +++ b/src/msw/bitmap.cpp @@ -242,6 +242,8 @@ void wxBitmapRefData::Free() { wxLogLastError(wxT("DeleteObject(hbitmap)")); } + + m_hBitmap = 0; } wxDELETE(m_bitmapMask); @@ -1329,7 +1331,8 @@ void wxBitmap::UngetRawData(wxPixelDataBase& dataBase) wxDIB *dib = GetBitmapData()->m_dib; GetBitmapData()->m_dib = NULL; - // TODO: convert + GetBitmapData()->Free(); + GetBitmapData()->CopyFromDIB(*dib); delete dib; }