Applied [ 668155 ] Refresh problem when msgbox is shown (wxUniversal)
Backport with modification from CVS head git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@20020 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -217,6 +217,10 @@ wxMotif:
|
||||
|
||||
- don't use stipples in DoDrawText
|
||||
|
||||
wxUniv:
|
||||
|
||||
- fixed refresh problem when message box is shown
|
||||
|
||||
2.4.0
|
||||
-----
|
||||
|
||||
|
@@ -391,6 +391,19 @@ void wxWindow::Refresh(bool eraseBackground, const wxRect *rectClient)
|
||||
#endif // WXDEBUG_REFRESH
|
||||
|
||||
wxWindowNative::Refresh(eraseBackground, &rectWin);
|
||||
|
||||
// Refresh all sub controls if any.
|
||||
wxWindowList::Node *node = GetChildren().GetFirst();
|
||||
while ( node )
|
||||
{
|
||||
wxWindow *win = node->GetData();
|
||||
// Only refresh sub controls when it is visible
|
||||
// and when it is in the update region.
|
||||
if(!win->IsKindOf(CLASSINFO(wxTopLevelWindow)) && win->IsShown() && wxRegion(rectWin).Contains(win->GetRect()) != wxOutRegion)
|
||||
win->Refresh(eraseBackground, &rectWin);
|
||||
|
||||
node = node->GetNext();
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user