X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c7e94140cd436c6c234a382ad4e16ec5da65830c..96c9640205933ad0673d5af2c96af0816c50160c:/src/msw/notebook.cpp diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp index 1879bb2ba3..5990c012bc 100644 --- a/src/msw/notebook.cpp +++ b/src/msw/notebook.cpp @@ -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();