X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c605b871f0df083d8bd6748b133b19e6b47b1f3f..b16de7461ac6d97b0b04a5ce4e73447925e93416:/src/mac/carbon/icon.cpp diff --git a/src/mac/carbon/icon.cpp b/src/mac/carbon/icon.cpp index 27cc3149d2..8423ef6224 100644 --- a/src/mac/carbon/icon.cpp +++ b/src/mac/carbon/icon.cpp @@ -9,17 +9,11 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "icon.h" -#endif - #include "wx/wxprec.h" #include "wx/icon.h" -#if !USE_SHARED_LIBRARIES IMPLEMENT_DYNAMIC_CLASS(wxIcon, wxBitmap) -#endif #include "wx/image.h" #include "wx/mac/private.h" @@ -170,6 +164,7 @@ bool wxIcon::LoadFile(const wxString& filename, wxBitmapType type, } else { +#if wxUSE_IMAGE wxImage loadimage(filename, type); if (loadimage.Ok()) { @@ -183,6 +178,7 @@ bool wxIcon::LoadFile(const wxString& filename, wxBitmapType type, CopyFromBitmap( bmp ) ; return true; } +#endif } } return true ; @@ -192,7 +188,10 @@ void wxIcon::CopyFromBitmap(const wxBitmap& bmp) { UnRef() ; - m_refData = new wxIconRefData( (WXHICON) wxMacCreateIconRef( bmp ) ) ; + // as the bitmap owns that ref, we have to acquire it as well + IconRef iconRef = bmp.GetBitmapData()->GetIconRef() ; + AcquireIconRef( iconRef ) ; + m_refData = new wxIconRefData( (WXHICON) iconRef ) ; M_ICONDATA->SetWidth( bmp.GetWidth() ) ; M_ICONDATA->SetHeight( bmp.GetHeight() ) ; }