summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
b0162e3)
Add an Update() call to ensure that text controls in the initially selected
notebook page are shown correctly. It's almost certainly not the right fix for
the real bug that results in text controls not being shown when the notebook
comes up but it doesn't cost much and at least allows us to get correct
appearance for the themed notebooks.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69793
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// true if we have already subclassed our updown control
bool m_hasSubclassedUpdown;
// true if we have already subclassed our updown control
bool m_hasSubclassedUpdown;
+
+ // true if we already refreshed the current page after showing the window
+ bool m_doneUpdateHack;
#endif // __WXWINCE__
#if wxUSE_UXTHEME
#endif // __WXWINCE__
#if wxUSE_UXTHEME
#if USE_NOTEBOOK_ANTIFLICKER
m_hasSubclassedUpdown = false;
#if USE_NOTEBOOK_ANTIFLICKER
m_hasSubclassedUpdown = false;
+ m_doneUpdateHack = false;
#endif // USE_NOTEBOOK_ANTIFLICKER
}
#endif // USE_NOTEBOOK_ANTIFLICKER
}
+
+ // 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();
#endif // USE_NOTEBOOK_ANTIFLICKER
event.Skip();