diff --git a/src/msw/dc.cpp b/src/msw/dc.cpp index c153967b61..e44692390d 100644 --- a/src/msw/dc.cpp +++ b/src/msw/dc.cpp @@ -2303,7 +2303,7 @@ static void wxAlphaBlend(wxDC& dc, int xDst, int yDst, int w, int h, const wxBitmap& bmpSrc) { // get the destination DC pixels - wxBitmap bmpDst(w, h, 32); + wxBitmap bmpDst(w, h, 32 /* force creating RGBA DIB */); MemoryHDC hdcMem; SelectInHDC select(hdcMem, GetHbitmapOf(bmpDst)); @@ -2316,6 +2316,9 @@ wxAlphaBlend(wxDC& dc, int xDst, int yDst, int w, int h, const wxBitmap& bmpSrc) wxRawBitmapData dataDst(bmpDst), dataSrc(bmpSrc); + wxCHECK_RET( dataDst && dataSrc, + _T("failed to get raw data in wxAlphaBlend") ); + wxRawBitmapIterator pDst(dataDst), pSrc(dataSrc);