From c7639882c1a0314b595a060d57073d0bf87cd358 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 3 Sep 2008 20:45:52 +0000 Subject: [PATCH] copy alpha presence flag when copying bitmaps using DIBs (#9883) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/bitmap.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/msw/bitmap.cpp b/src/msw/bitmap.cpp index 570c673c49..38a27a4092 100644 --- a/src/msw/bitmap.cpp +++ b/src/msw/bitmap.cpp @@ -264,23 +264,25 @@ wxGDIRefData *wxBitmap::CloneGDIRefData(const wxGDIRefData *dataOrig) const // course (except in !wxUSE_WXDIB), but is completely illogical wxBitmap *self = wx_const_cast(wxBitmap *, this); + wxBitmapRefData *selfdata; #if wxUSE_WXDIB // copy the other bitmap if ( data->m_hBitmap ) { wxDIB dib((HBITMAP)(data->m_hBitmap)); self->CopyFromDIB(dib); + + selfdata = wx_static_cast(wxBitmapRefData *, m_refData); + selfdata->m_hasAlpha = data->m_hasAlpha; } else #endif // wxUSE_WXDIB { // copy the bitmap data - self->m_refData = new wxBitmapRefData(*data); + selfdata = new wxBitmapRefData(*data); + self->m_refData = selfdata; } - wxBitmapRefData * const - selfdata = wx_static_cast(wxBitmapRefData *, m_refData); - // copy also the mask wxMask * const maskSrc = data->GetMask(); if ( maskSrc ) -- 2.45.2