]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/notebook.cpp
Enable variadic macros for VC9 and later.
[wxWidgets.git] / src / msw / notebook.cpp
index 1879bb2ba3df3c3f59009e00ce8eb1aadad33d12..5990c012bc29b541bcc49c00cf9dccc0dd7cb36f 100644 (file)
@@ -138,14 +138,13 @@ END_EVENT_TABLE()
 // common part of all ctors
 void wxNotebook::Init()
 {
-    m_imageList = NULL;
-
 #if wxUSE_UXTHEME
     m_hbrBackground = NULL;
 #endif // wxUSE_UXTHEME
 
 #if USE_NOTEBOOK_ANTIFLICKER
     m_hasSubclassedUpdown = false;
+    m_doneUpdateHack = false;
 #endif // USE_NOTEBOOK_ANTIFLICKER
 }
 
@@ -980,6 +979,21 @@ void wxNotebook::OnSize(wxSizeEvent& event)
             }
         }
     }
+
+    // Probably because of the games we play above to avoid flicker sometimes
+    // the text controls inside notebook pages are not shown correctly (they
+    // don't have their borders) when the notebook is shown for the first time.
+    // It's not really clear why does this happen and maybe the bug is in
+    // wxTextCtrl itself and not here but updating the page when it's about to
+    // be shown doesn't cost much and works around the problem so do it here
+    // for now.
+    if ( !m_doneUpdateHack && IsShownOnScreen() )
+    {
+        m_doneUpdateHack = true;
+        wxWindow* const page = GetCurrentPage();
+        if ( page )
+            page->Update();
+    }
 #endif // USE_NOTEBOOK_ANTIFLICKER
 
     event.Skip();