X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f242653114d93920f01390320bc69923a8f2c3d9..7749035c4edc84ff7ad722c0de8ff1679b68976f:/src/common/containr.cpp diff --git a/src/common/containr.cpp b/src/common/containr.cpp index 4f05ea60f2..d465bc0511 100644 --- a/src/common/containr.cpp +++ b/src/common/containr.cpp @@ -68,18 +68,17 @@ bool wxControlContainer::AcceptsFocus() const while ( node ) { wxWindow *child = node->GetData(); + node = node->GetNext(); +#ifdef __WXMAC__ + if ( m_winParent->MacIsWindowScrollbar( child ) ) + continue; + hasRealChildren = true ; +#endif if ( child->AcceptsFocus() ) { return true; } - -#ifdef __WXMAC__ - wxScrollBar *sb = wxDynamicCast( child , wxScrollBar ) ; - if ( sb == NULL || !m_winParent->MacIsWindowScrollbar( sb ) ) - hasRealChildren = true ; -#endif - node = node->GetNext(); } #ifdef __WXMAC__ @@ -637,7 +636,13 @@ bool wxSetFocusToChild(wxWindow *win, wxWindow **childLastFocused) while ( node ) { wxWindow *child = node->GetData(); + node = node->GetNext(); +#ifdef __WXMAC__ + if ( child->GetParent()->MacIsWindowScrollbar( child ) ) + continue; +#endif + if ( child->AcceptsFocusFromKeyboard() && !child->IsTopLevel() ) { #ifdef __WXMSW__ @@ -660,8 +665,6 @@ bool wxSetFocusToChild(wxWindow *win, wxWindow **childLastFocused) child->SetFocusFromKbd(); return true; } - - node = node->GetNext(); } return false;