X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/90b18154c8a72d3f522d3960a70517d40bbf02e0..ad20b0b300846930b222eaa16e40235645d66d06:/src/univ/notebook.cpp

diff --git a/src/univ/notebook.cpp b/src/univ/notebook.cpp
index 4c19121069..c1d4f7fdc0 100644
--- a/src/univ/notebook.cpp
+++ b/src/univ/notebook.cpp
@@ -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();
 }
 
 // ----------------------------------------------------------------------------
@@ -949,7 +962,7 @@ void wxNotebook::SetPageSize(const wxSize& size)
     SetClientSize(GetSizeForPage(size));
 }
 
-wxSize wxNotebook::CalcSizeFromPage(const wxSize& sizePage)
+wxSize wxNotebook::CalcSizeFromPage(const wxSize& sizePage) const
 {
     return AdjustSize(GetSizeForPage(sizePage));
 }