summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qwidget_mac.mm
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2009-07-31 02:01:00 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2009-07-31 02:01:00 (GMT)
commit1835decbcfe6c95de3c895cb5bf2d0cefe4d2643 (patch)
treeb5db0d8b49a4d421fd2e36c2f295d69909fca914 /src/gui/kernel/qwidget_mac.mm
parent52e52af114a9ebb2534de0573ee52550dfdd0130 (diff)
parent56b6a5924008ab5cdbae36e9662eddba923acd5e (diff)
downloadQt-1835decbcfe6c95de3c895cb5bf2d0cefe4d2643.zip
Qt-1835decbcfe6c95de3c895cb5bf2d0cefe4d2643.tar.gz
Qt-1835decbcfe6c95de3c895cb5bf2d0cefe4d2643.tar.bz2
Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt
Diffstat (limited to 'src/gui/kernel/qwidget_mac.mm')
-rw-r--r--src/gui/kernel/qwidget_mac.mm7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index 70eea3a..3bbf5d4 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -3100,7 +3100,12 @@ void QWidgetPrivate::update_sys(const QRegion &rgn)
return;
dirtyOnWidget += rgn;
#ifndef QT_MAC_USE_COCOA
- HIViewSetNeedsDisplayInRegion(qt_mac_nativeview_for(q), QMacSmartQuickDrawRegion(rgn.toQDRgn()), true);
+ RgnHandle rgnHandle = rgn.toQDRgnForUpdate_sys();
+ if (rgnHandle)
+ HIViewSetNeedsDisplayInRegion(qt_mac_nativeview_for(q), QMacSmartQuickDrawRegion(rgnHandle), true);
+ else {
+ HIViewSetNeedsDisplay(qt_mac_nativeview_for(q), true); // do a complete repaint on overflow.
+ }
#else
// Cocoa doesn't do regions, it seems more efficient to just update the bounding rect instead of a potential number of message passes for each rect.
const QRect &boundingRect = rgn.boundingRect();