]> git.saurik.com Git - wxWidgets.git/commitdiff
update window before changing the scrolling position and really scrolling it to avoid...
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 6 Nov 2006 01:45:03 +0000 (01:45 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 6 Nov 2006 01:45:03 +0000 (01:45 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/generic/scrlwing.cpp

index be460077749407c266978a12f696b4c9c2dfa2f6..92ebe1aedb1212de389b06435165c2e563f65a62 100644 (file)
@@ -462,6 +462,11 @@ void wxScrollHelper::HandleOnScroll(wxScrollWinEvent& event)
         return;
     }
 
+    // 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
+    m_targetWindow->Update();
+
     int orient = event.GetOrientation();
     if (orient == wxHORIZONTAL)
     {
@@ -894,6 +899,11 @@ void wxScrollHelper::Scroll( int x_pos, int y_pos )
     int w = 0, h = 0;
     GetTargetSize(&w, &h);
 
+    // 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
+    m_targetWindow->Update();
+
     if ((x_pos != -1) && (m_xScrollPixelsPerLine))
     {
         int old_x = m_xScrollPosition;