]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/scrolwin.cpp
More makefiles, distrib things,
[wxWidgets.git] / src / generic / scrolwin.cpp
index cc001c2d47a751fb8a39751155e72a9d90e1352e..81a4a152de1a0a90ea0a13f296ee8f455a4d51bd 100644 (file)
@@ -305,10 +305,13 @@ int wxScrolledWindow::CalcScrollInc(wxScrollWinEvent& event)
 }
 
 // Adjust the scrollbars - new version.
-void wxScrolledWindow::AdjustScrollbars(void)
+void wxScrolledWindow::AdjustScrollbars()
 {
     int w, h;
     GetClientSize(&w, &h);
+    
+    int oldXScroll = m_xScrollPosition;
+    int oldYScroll = m_yScrollPosition;
 
     if (m_xScrollLines > 0)
     {
@@ -353,6 +356,22 @@ void wxScrolledWindow::AdjustScrollbars(void)
         m_yScrollPosition = 0;
         SetScrollbar (wxVERTICAL, 0, 0, 0, FALSE); 
     }
+    
+    if (oldXScroll != m_xScrollPosition)
+    {
+       if (m_xScrollingEnabled)
+            ScrollWindow( m_xScrollPixelsPerLine * (oldXScroll-m_xScrollPosition), 0, (const wxRect *) NULL );
+       else
+            Refresh();
+    }
+    
+    if (oldYScroll != m_yScrollPosition)
+    {
+        if (m_yScrollingEnabled)
+            ScrollWindow( 0, m_yScrollPixelsPerLine * (oldYScroll-m_yScrollPosition), (const wxRect *) NULL );
+        else
+            Refresh();
+    }
 }
 
 // Default OnSize resets scrollbars, if any