]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/vscroll.cpp
no real changes, just refactor to remove some code duplication in wxToolBarTool
[wxWidgets.git] / src / generic / vscroll.cpp
index de9cf1fa61c34cce367494781b1a72829621098e..50bb4c1c6d1785eb567cc2bd951faa59580e8f6a 100644 (file)
@@ -592,8 +592,8 @@ bool wxVarScrollHelperBase::DoScrollToUnit(size_t unit)
     // finally refresh the display -- but only redraw as few units as possible
     // to avoid flicker.  We can't do this if we have children because they
     // won't be scrolled
-    if ( m_targetWindow->GetChildren().empty() &&
-         GetVisibleBegin() >= unitLastOld || GetVisibleEnd() <= unitFirstOld )
+    if ( (m_targetWindow->GetChildren().empty() &&
+         GetVisibleBegin() >= unitLastOld) || GetVisibleEnd() <= unitFirstOld )
     {
         // the simplest case: we don't have any old units left, just redraw
         // everything
@@ -601,7 +601,12 @@ bool wxVarScrollHelperBase::DoScrollToUnit(size_t unit)
     }
     else // scroll the window
     {
+        // Avoid scrolling visible parts of the screen on Mac
+#ifdef __WXMAC__
+        if (m_physicalScrolling && m_targetWindow->IsShownOnScreen())
+#else
         if ( m_physicalScrolling )
+#endif
         {
             wxCoord dx = 0,
                     dy = GetUnitsSize(GetVisibleBegin(), unitFirstOld);