From c6938e9f97eed0ea5d99cdc82f2f316bef2c6c16 Mon Sep 17 00:00:00 2001 From: Artur Wieczorek Date: Thu, 28 Sep 2017 19:04:45 +0200 Subject: [PATCH] Fix setting transparency flag for wxBitmap created from wxIcon wxBitmap should be made transparency-capable before copying wxIcon bits to it. Doing so when wxIcon bits are already copied seems to work fine for OSX 10.8, but not for newer versions. Closes #17953. --- src/osx/core/bitmap.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/osx/core/bitmap.cpp b/src/osx/core/bitmap.cpp index c3c35ba980..16bec10892 100644 --- a/src/osx/core/bitmap.cpp +++ b/src/osx/core/bitmap.cpp @@ -839,13 +839,14 @@ bool wxBitmap::CopyFromIcon(const wxIcon& icon) if ( Create( w, h ) ) { + // Assume 32 bpp icon has transparency values + UseAlpha(icon.GetDepth() == 32); + wxMemoryDC dc ; dc.SelectObject( *this ) ; dc.DrawIcon( icon , 0 , 0 ) ; dc.SelectObject( wxNullBitmap ) ; - // Assume 32 bpp icon has transparency values - UseAlpha(icon.GetDepth() == 32); return true; }