]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/scrlwing.cpp
add wx/unix/private directory
[wxWidgets.git] / src / generic / scrlwing.cpp
index 7db540e792cf07270618cb7a62d159422a1e7c30..682e7043dcbadefe7cd04f417676272afac91b6c 100644 (file)
@@ -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)