+ SetTabEnabled( (ControlHandle) m_macControl , ii+1 , true ) ;
+
+#if TARGET_CARBON
+ if ( GetImageList() && GetPageImage(ii) >= 0 && UMAGetSystemVersion() >= 0x1020 )
+ {
+ // tab controls only support very specific types of images, therefore we are doing an odyssee
+ // accross the icon worlds (even Apple DTS did not find a shorter path)
+ // in order not to pollute the icon registry we put every icon into (OSType) 1 and immediately
+ // afterwards Unregister it (IconRef is ref counted, so it will stay on the tab even if we
+ // unregister it) in case this will ever lead to having the same icon everywhere add some kind
+ // of static counter
+ ControlButtonContentInfo info ;
+ wxMacCreateBitmapButton( &info , *GetImageList()->GetBitmap( GetPageImage(ii ) ) , kControlContentPictHandle) ;
+ IconFamilyHandle iconFamily = (IconFamilyHandle) NewHandle(0) ;
+ OSErr err = SetIconFamilyData( iconFamily, 'PICT' , (Handle) info.u.picture ) ;
+ wxASSERT_MSG( err == noErr , "Error when adding bitmap" ) ;
+ IconRef iconRef ;
+ err = RegisterIconRefFromIconFamily( 'WXNG' , (OSType) 1 , iconFamily, &iconRef ) ;
+ wxASSERT_MSG( err == noErr , "Error when adding bitmap" ) ;
+ info.contentType = kControlContentIconRef ;
+ info.u.iconRef = iconRef ;
+ SetControlData( (ControlHandle) m_macControl, ii+1,kControlTabImageContentTag,
+ sizeof( info ), (Ptr)&info );
+ wxASSERT_MSG( err == noErr , "Error when setting icon on tab" ) ;
+ UnregisterIconRef( 'WXNG' , (OSType) 1 ) ;
+ ReleaseIconRef( iconRef ) ;
+ DisposeHandle( (Handle) iconFamily ) ;
+ }
+#endif