From: Vadim Zeitlin Date: Sun, 10 Apr 2005 17:55:52 +0000 (+0000) Subject: GetParent() was always used in test for wxHSCROLL checked in in last commit; use... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/a83b5b74c365705144f9359d4527e4b2d073f569 GetParent() was always used in test for wxHSCROLL checked in in last commit; use the parent window recursively as intended instead; slightly simplified the code git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33479 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/msw/statbox.cpp b/src/msw/statbox.cpp index da28e527ff..9a08377074 100644 --- a/src/msw/statbox.cpp +++ b/src/msw/statbox.cpp @@ -143,24 +143,23 @@ WXDWORD wxStaticBox::MSWGetStyle(long style, WXDWORD *exstyle) const if ( exstyle ) { - // If any of the ancestors are scrolling windows, style has to be WS_EX_TRANSPARENT - // or the static box won't be painted when the window is scrolled. We try - // not to do this normally, because we get a lot of flicker. - wxWindow* p = GetParent(); - bool ancestorScrolls = false; - while (p && !p->IsTopLevel()) + *exstyle = 0; + + // If any of the ancestors are scrolling windows, style has to be + // WS_EX_TRANSPARENT or the static box won't be painted when the window + // is scrolled. We try not to do this normally, because we get a lot of + // flicker. + for ( wxWindow *win = GetParent(); win; win = win->GetParent() ) { - if (p->HasFlag(wxVSCROLL) || GetParent()->HasFlag(wxHSCROLL)) + if ( win->HasFlag(wxVSCROLL) || win->HasFlag(wxHSCROLL) ) { - ancestorScrolls = true; + *exstyle = WS_EX_TRANSPARENT; break; } - p = p->GetParent(); + + if ( win->IsTopLevel() ) + break; } - if (ancestorScrolls) - *exstyle = WS_EX_TRANSPARENT; - else - *exstyle = 0; } return styleWin | BS_GROUPBOX;