X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2e9c0c010a375156eb72eaa1e2e4efcbb7ecf06b..0a7ce61e65c6fffcc8ab1649ab29c08d90e13fdb:/src/generic/scrlwing.cpp diff --git a/src/generic/scrlwing.cpp b/src/generic/scrlwing.cpp index 7db540e792..682e7043dc 100644 --- a/src/generic/scrlwing.cpp +++ b/src/generic/scrlwing.cpp @@ -468,22 +468,6 @@ wxWindow *wxScrollHelper::GetTargetWindow() const return m_targetWindow; } -#ifdef __WXMAC__ -static bool wxScrolledWindowHasChildren(wxWindow* win) -{ - wxWindowList::compatibility_iterator node = win->GetChildren().GetFirst(); - while ( node ) - { - wxWindow* child = node->GetData(); - if ( !child->IsKindOf(CLASSINFO(wxScrollBar)) ) - return true; - - node = node->GetNext(); - } - return false; -} -#endif - // ---------------------------------------------------------------------------- // scrolling implementation itself // ---------------------------------------------------------------------------- @@ -500,11 +484,6 @@ void wxScrollHelper::HandleOnScroll(wxScrollWinEvent& event) } bool needsRefresh = false; -#ifdef __WXMAC__ - // OS X blocks on immediate redraws, so make this a refresh - if (!wxScrolledWindowHasChildren(m_targetWindow)) - needsRefresh = true; -#endif int dx = 0, dy = 0; int orient = event.GetOrientation(); @@ -536,7 +515,12 @@ void wxScrollHelper::HandleOnScroll(wxScrollWinEvent& event) // flush all pending repaints before we change m_{x,y}ScrollPosition, as // otherwise invalidated area could be updated incorrectly later when // ScrollWindow() makes sure they're repainted before scrolling them +#ifdef __WXMAC__ + // wxWindowMac is taking care of making sure the update area is correctly + // set up, while not forcing an immediate redraw +#else m_targetWindow->Update(); +#endif } if (orient == wxHORIZONTAL)