]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/tabg.cpp
corrected use of Print Manager Session APIs for Carbon targets
[wxWidgets.git] / src / generic / tabg.cpp
index 7da066a106c4aa3831b8bd73330b860609de9c37..24fb5c5f1c1c2b8652307ee3a00bfb86cf402b51 100644 (file)
@@ -623,7 +623,7 @@ bool wxTabView::RemoveTab(int id)
         m_noTabs --;
 
         // The layout has changed
-        Layout();
+        LayoutTabs();
         return TRUE;
       }
       tabNode = tabNode->Next();
@@ -699,11 +699,12 @@ void wxTabView::ClearTabs(bool deleteTabs)
     layerNode = nextLayerNode;
   }
   m_noTabs = 0;
+  m_tabSelection = -1;
 }
 
 
 // Layout tabs (optional, e.g. if resizing window)
-void wxTabView::Layout(void)
+void wxTabView::LayoutTabs(void)
 {
   // Make a list of the tab controls, deleting the wxTabLayers.
   wxList controls;
@@ -875,8 +876,8 @@ bool wxTabView::OnEvent(wxMouseEvent& event)
   if (!event.LeftDown())
     return FALSE;
 
-  long x, y;
-  event.Position(&x, &y);
+  wxCoord x, y;
+  event.GetPosition(&x, &y);
 
   wxTabControl *hitControl = (wxTabControl *) NULL;
 
@@ -1024,6 +1025,9 @@ void wxTabView::SetBackgroundColour(const wxColour& col)
 
 void wxTabView::SetTabSelection(int sel, bool activateTool)
 {
+  if ( sel==m_tabSelection )
+    return;
+
   int oldSel = m_tabSelection;
   wxTabControl *control = FindTabControlForId(sel);
   wxTabControl *oldControl = FindTabControlForId(m_tabSelection);