]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/tbar95.cpp
SourceForge patch #654210 to fix naming/numbering shared libs under OS X
[wxWidgets.git] / src / msw / tbar95.cpp
index 836a79ee2f6ead96bc210745ed5c7c3c319fea73..5716e1a76fc83356ab09e64ed6e06187d2328cbd 100644 (file)
@@ -472,9 +472,19 @@ bool wxToolBar::Realize()
 
     const bool isVertical = HasFlag(wxTB_VERTICAL);
 
+    // delete all old buttons, if any
+    for ( size_t pos = 0; pos < m_nButtons; pos++ )
+    {
+        if ( !::SendMessage(GetHwnd(), TB_DELETEBUTTON, 0, 0) )
+        {
+            wxLogDebug(wxT("TB_DELETEBUTTON failed"));
+        }
+    }
+
     // First, add the bitmap: we use one bitmap for all toolbar buttons
     // ----------------------------------------------------------------
 
+    wxToolBarToolsList::Node *node;
     int bitmapId = 0;
 
     wxSize sizeBmp;
@@ -531,9 +541,7 @@ bool wxToolBar::Realize()
         // the number of buttons (not separators)
         int nButtons = 0;
 
-        for ( wxToolBarToolsList::Node *node = m_tools.GetFirst();
-              node;
-              node = node->GetNext() )
+        for ( node = m_tools.GetFirst(); node; node = node->GetNext() )
         {
             wxToolBarToolBase *tool = node->GetData();
             if ( tool->IsButton() )
@@ -613,15 +621,6 @@ bool wxToolBar::Realize()
 
                 bitmapId = m_nButtons;
             }
-
-            // Now delete all the buttons
-            for ( size_t pos = 0; pos < m_nButtons; pos++ )
-            {
-                if ( !::SendMessage(GetHwnd(), TB_DELETEBUTTON, 0, 0) )
-                {
-                    wxLogDebug(wxT("TB_DELETEBUTTON failed"));
-                }
-            }
         }
 
         if ( addBitmap ) // no old bitmap or we can't replace it
@@ -655,9 +654,7 @@ bool wxToolBar::Realize()
 
     bool lastWasRadio = FALSE;
     int i = 0;
-    for ( wxToolBarToolsList::Node *node = m_tools.GetFirst();
-          node;
-          node = node->GetNext() )
+    for ( node = m_tools.GetFirst(); node; node = node->GetNext() )
     {
         wxToolBarToolBase *tool = node->GetData();
 
@@ -1200,7 +1197,7 @@ bool wxToolBar::HandleSize(WXWPARAM wParam, WXLPARAM lParam)
                 // FIXME: 6 is hardcoded separator line height...
                 //h += 6;
                 if (HasFlag(wxTB_NODIVIDER))
-                    h += 3;
+                    h += 4;
                 else
                     h += 6;
                 h *= m_maxRows;