]> git.saurik.com Git - wxWidgets.git/blobdiff - src/cocoa/icon.mm
[#1577388] - fix for scaling in wxImage.
[wxWidgets.git] / src / cocoa / icon.mm
index 5299b5a6453b4c6ef5f7a118eeff8c44d57d2a4c..09924c8cb7cc16bc3518d843310101e8a29fcb2e 100644 (file)
@@ -6,14 +6,18 @@
 // Created:     2003/08/11
 // RCS-ID:      $Id$
 // Copyright:   (c) 2003 David Elliott
 // Created:     2003/08/11
 // RCS-ID:      $Id$
 // Copyright:   (c) 2003 David Elliott
-// Licence:    wxWindows licence
+// Licence:     wxWidgets licence
 /////////////////////////////////////////////////////////////////////////////
 
 #include "wx/wxprec.h"
 /////////////////////////////////////////////////////////////////////////////
 
 #include "wx/wxprec.h"
+
+#include "wx/icon.h"
+
 #ifndef WX_PRECOMP
 #ifndef WX_PRECOMP
-    #include "wx/icon.h"
+    #include "wx/bitmap.h"
 #endif //WX_PRECOMP
 #endif //WX_PRECOMP
-#include "wx/bitmap.h"
+
+#include "wx/cocoa/autorelease.h"
 
 #import <AppKit/NSImage.h>
 
 
 #import <AppKit/NSImage.h>
 
@@ -42,7 +46,7 @@ protected:
 
 wxIconRefData::wxIconRefData()
 {
 
 wxIconRefData::wxIconRefData()
 {
-    m_ok = FALSE;
+    m_ok = false;
     m_width = 0;
     m_height = 0;
     m_depth = 0;
     m_width = 0;
     m_height = 0;
     m_depth = 0;
@@ -64,6 +68,7 @@ wxIconRefData::wxIconRefData( const wxIconRefData& data)
 
 wxIconRefData::~wxIconRefData()
 {
 
 wxIconRefData::~wxIconRefData()
 {
+    wxAutoNSAutoreleasePool pool;
     [m_cocoaNSImage release];
     m_cocoaNSImage = NULL;
 }
     [m_cocoaNSImage release];
     m_cocoaNSImage = NULL;
 }
@@ -113,7 +118,7 @@ bool wxIcon::LoadFile(const wxString& filename, wxBitmapType type,
     M_ICONDATA->m_numColors = 0;
     M_ICONDATA->m_quality = 0;
 
     M_ICONDATA->m_numColors = 0;
     M_ICONDATA->m_quality = 0;
 
-    return FALSE;
+    return false;
 }
 
 void wxIcon::CopyFromBitmap(const wxBitmap& bitmap)
 }
 
 void wxIcon::CopyFromBitmap(const wxBitmap& bitmap)
@@ -122,13 +127,14 @@ void wxIcon::CopyFromBitmap(const wxBitmap& bitmap)
     m_refData = new wxIconRefData;
     M_ICONDATA->m_width = bitmap.GetWidth();
     M_ICONDATA->m_height = bitmap.GetHeight();
     m_refData = new wxIconRefData;
     M_ICONDATA->m_width = bitmap.GetWidth();
     M_ICONDATA->m_height = bitmap.GetHeight();
-    M_ICONDATA->m_cocoaNSImage = bitmap.GetNSImage(true);
+    wxAutoNSAutoreleasePool pool;
+    M_ICONDATA->m_cocoaNSImage = [bitmap.GetNSImage(true) retain];
     M_ICONDATA->m_ok = bitmap.Ok();
     M_ICONDATA->m_numColors = 0;
     M_ICONDATA->m_quality = 0;
 }
 
     M_ICONDATA->m_ok = bitmap.Ok();
     M_ICONDATA->m_numColors = 0;
     M_ICONDATA->m_quality = 0;
 }
 
-bool wxIcon::Ok() const
+bool wxIcon::IsOk() const
 {
     return m_refData && M_ICONDATA->m_ok;
 }
 {
     return m_refData && M_ICONDATA->m_ok;
 }
@@ -153,4 +159,3 @@ WX_NSImage wxIcon::GetNSImage() const
         return nil;
     return M_ICONDATA->m_cocoaNSImage;
 }
         return nil;
     return M_ICONDATA->m_cocoaNSImage;
 }
-