]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/icon.cpp
in synch with others
[wxWidgets.git] / src / mac / carbon / icon.cpp
index 27cc3149d219eea3446930935f021dd99e32f747..a3bd7817c1a5f1957437942df5d378e2bd692343 100644 (file)
@@ -170,6 +170,7 @@ bool wxIcon::LoadFile(const wxString& filename, wxBitmapType type,
         }
         else
         {
+#if wxUSE_IMAGE
             wxImage loadimage(filename, type);
             if (loadimage.Ok()) 
             {
@@ -183,6 +184,7 @@ bool wxIcon::LoadFile(const wxString& filename, wxBitmapType type,
                 CopyFromBitmap( bmp ) ;
                 return true;
             }
+#endif
         }
     }
     return true ;
@@ -192,7 +194,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() ) ;
 }