// 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
}
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);