]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/toolbar.cpp
Explicitly set "C" locale for the tests using decimal point.
[wxWidgets.git] / src / osx / carbon / toolbar.cpp
index 58cc4af000a989685548c645c803cbd940baa41e..3d19290fc433fbe0fdbe5e5fa4848185a395da95 100644 (file)
@@ -926,6 +926,12 @@ bool wxToolBar::Create(
 
 wxToolBar::~wxToolBar()
 {
+#if wxOSX_USE_NATIVE_TOOLBAR
+    // We could be not using a native tool bar at all, this happens when we're
+    // created with something other than the frame as parent for example.
+    if ( !m_macToolbar )
+        return;
+
     CFIndex count = CFGetRetainCount( m_macToolbar ) ;
     // Leopard seems to have one refcount more, so we cannot check reliably at the moment
     if ( UMAGetSystemVersion() < 0x1050 )
@@ -937,6 +943,7 @@ wxToolBar::~wxToolBar()
     }
     CFRelease( (HIToolbarRef)m_macToolbar );
     m_macToolbar = NULL;
+#endif // wxOSX_USE_NATIVE_TOOLBAR
 }
 
 bool wxToolBar::Show( bool show )
@@ -1143,7 +1150,7 @@ void wxToolBar::MacUninstallNativeToolbar()
 {
     if (!m_macToolbar)
         return;
-        
+
     WindowRef tlw = MAC_WXHWND(MacGetTopLevelWindowRef());
     if (tlw)
         SetWindowToolbar( tlw, NULL );
@@ -1315,6 +1322,10 @@ bool wxToolBar::Realize()
                             wxFAIL_MSG("Reference count of native tool was illegal before removal");
                         }
                         wxASSERT( IsValidControlHandle(tool->GetControl()->GetPeer()->GetControlRef() )) ;
+
+                        wxString label = tool->GetLabel();
+                        if ( !label.empty() )
+                            HIToolbarItemSetLabel( hiItemRef, wxCFStringRef(label, GetFont().GetEncoding()) );
                     }
                 }