]> git.saurik.com Git - wxWidgets.git/commitdiff
Eliminate apparently unnecessary updates in SetScrollbars.
authorStefan Neis <Stefan.Neis@t-online.de>
Mon, 21 Feb 2000 17:10:39 +0000 (17:10 +0000)
committerStefan Neis <Stefan.Neis@t-online.de>
Mon, 21 Feb 2000 17:10:39 +0000 (17:10 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/generic/scrolwin.cpp

index 74b4d6bbd26ef07283ae0f4f3a2ed39348e45c08..1c286937780199a5a5a222bc86e117f4b78c9f9d 100644 (file)
@@ -129,16 +129,20 @@ void wxScrolledWindow::SetScrollbars (int pixelsPerUnitX, int pixelsPerUnitY,
                int noUnitsX, int noUnitsY,
                int xPos, int yPos, bool noRefresh )
 {
+    int xpos, ypos;
+
+    CalcUnscrolledPosition(xPos, yPos, &xpos, &ypos);
     bool do_refresh =
     (
       (noUnitsX != 0 && m_xScrollLines == 0) ||
-      (noUnitsX < m_xScrollLines) ||
+      (noUnitsX < m_xScrollLines && xpos > pixelsPerUnitX*noUnitsX) || 
+
       (noUnitsY != 0 && m_yScrollLines == 0) ||
-      (noUnitsY < m_yScrollLines) ||
+      (noUnitsY < m_yScrollLines && ypos > pixelsPerUnitY*noUnitsY) ||
       (xPos != m_xScrollPosition) ||
-      (yPos != m_yScrollPosition) ||
-      (pixelsPerUnitX != m_xScrollPixelsPerLine) ||
-      (pixelsPerUnitY != m_yScrollPixelsPerLine)
+      (yPos != m_yScrollPosition)
+//       (pixelsPerUnitX != m_xScrollPixelsPerLine) ||
+//       (pixelsPerUnitY != m_yScrollPixelsPerLine)
     );
 
     m_xScrollPixelsPerLine = pixelsPerUnitX;