X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c482b99ec93fc52a1a10507d4b338ac217a28364..3399051ee9fa4dfa5fa7ac2dd9034062f4414d64:/src/univ/notebook.cpp

diff --git a/src/univ/notebook.cpp b/src/univ/notebook.cpp
index 39bf56b228..da6d4b486f 100644
--- a/src/univ/notebook.cpp
+++ b/src/univ/notebook.cpp
@@ -255,7 +255,7 @@ int wxNotebook::SetSelection(int nPage)
         m_pages[m_sel]->Show();
     }
 
-    return m_sel;
+    return selOld;
 }
 
 void wxNotebook::ChangePage(int nPage)
@@ -330,6 +330,7 @@ bool wxNotebook::InsertPage(int nPage,
         bSelect = TRUE;
 
         Relayout();
+        Refresh();
     }
     else // not the first tab
     {
@@ -518,10 +519,20 @@ void wxNotebook::DoDraw(wxControlRenderer *renderer)
         wxSize sizeSpinBtn = m_spinbtn->GetSize();
 
         if ( IsVertical() )
+        {
             rectTabs.height -= sizeSpinBtn.y;
+
+            // Allow for erasing the line under selected tab
+            rectTabs.width += 2;
+        }
         else
+        {
             rectTabs.width -= sizeSpinBtn.x;
 
+            // Allow for erasing the line under selected tab
+            rectTabs.height += 2;
+        }
+
         dc.SetClippingRegion(rectTabs);
     }
 
@@ -566,6 +577,8 @@ void wxNotebook::DoDraw(wxControlRenderer *renderer)
     {
         DoDrawTab(dc, rectSel, m_sel);
     }
+
+    dc.DestroyClippingRegion();
 }
 
 // ----------------------------------------------------------------------------