]> git.saurik.com Git - wxWidgets.git/commitdiff
use cleaner OSX version (10.3 upwards)
authorStefan Csomor <csomor@advancedconcepts.ch>
Mon, 1 May 2006 14:40:35 +0000 (14:40 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Mon, 1 May 2006 14:40:35 +0000 (14:40 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38970 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mac/carbon/bitmap.cpp

index 2d354a3f2aef65c0527cd22ab5424a21de7abbc7..d7f9c3ba838af7b508e368c5ceb894aebf822c65 100644 (file)
@@ -396,9 +396,14 @@ IconRef wxBitmapRefData::GetIconRef()
             PicHandle pic = GetPictHandle() ;
             SetIconFamilyData( iconFamily, 'PICT' , (Handle) pic ) ;
         }
-
         // transform into IconRef
-
+#ifdef __WXMAC_OSX__
+        // cleaner version existing from 10.3 upwards
+        HLock((Handle) iconFamily);
+        OSStatus err = GetIconRefFromIconFamilyPtr( *iconFamily, GetHandleSize((Handle) iconFamily), &m_iconRef );
+        HUnlock((Handle) iconFamily);
+        wxASSERT_MSG( err == noErr , wxT("Error when constructing icon ref") );
+#else
         static int iconCounter = 2 ;
 
         OSStatus err = RegisterIconRefFromIconFamily( 'WXNG' , (OSType) iconCounter, iconFamily, &m_iconRef ) ;
@@ -407,8 +412,9 @@ IconRef wxBitmapRefData::GetIconRef()
         // we have to retain a reference, as Unregister will decrement it
         AcquireIconRef( m_iconRef ) ;
         UnregisterIconRef( 'WXNG' , (OSType) iconCounter ) ;
-        DisposeHandle( (Handle) iconFamily ) ;
         ++iconCounter ;
+#endif
+        DisposeHandle( (Handle) iconFamily ) ;
     }
 
     return m_iconRef ;