]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/classic/toolbar.cpp
check for NULL pointer in OnMeasureItem() as well as in OnDrawItem()
[wxWidgets.git] / src / mac / classic / toolbar.cpp
index d8bdac1326f60f9cf121423a9a3a12299b82ebf1..15ecb363a9b7ca7ecfe0f4e6c6a514df73a9a081 100644 (file)
@@ -377,6 +377,7 @@ bool wxToolBar::Realize()
     }
     
     SetSize(maxWidth, maxHeight);
+    InvalidateBestSize();
     
     return TRUE;
 }
@@ -400,7 +401,7 @@ void wxToolBar::MacHandleControlClick( WXWidget control , wxInt16 controlpart ,
         wxToolBarTool* tool = (wxToolBarTool*) node->GetData() ; 
         if ( tool->IsButton() )
         {
-           if( tool->GetControlHandle() == control ) 
+           if( (WXWidget) tool->GetControlHandle() == control ) 
            {
                 if ( tool->CanBeToggled() )
                 {
@@ -494,6 +495,7 @@ bool wxToolBar::DoInsertTool(size_t WXUNUSED(pos),
 {
     // nothing special to do here - we relayout in Realize() later
     tool->Attach(this);
+    InvalidateBestSize();
 
     return TRUE;
 }
@@ -540,6 +542,7 @@ bool wxToolBar::DoDeleteTool(size_t WXUNUSED(pos), wxToolBarToolBase *tool)
         tool2->SetPosition( pt ) ;
     }
     
+    InvalidateBestSize();
     return TRUE ;
 }
 
@@ -608,7 +611,7 @@ void  wxToolBar::OnMouse( wxMouseEvent &event )
                     wxTheApp->s_lastMouseDown = 0 ;
                     if ( control && controlpart != kControlNoPart ) // otherwise we will get the event twice
                     {
-                        MacHandleControlClick( control , controlpart , false /* not down anymore */ ) ;
+                        MacHandleControlClick( (WXWidget) control , controlpart , false /* not down anymore */ ) ;
                     }
                 }
             }