summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBjoern Erik Nilsen <bnilsen@trolltech.com>2009-02-26 13:49:47 (GMT)
committerJason McDonald <jason.mcdonald@nokia.com>2009-04-15 10:14:21 (GMT)
commit2f1c9ca37b9ce2ab05aff9aa19b35c93990dcec7 (patch)
tree804c2086b47eeb1c6985eec5ac9f1faa4f10c2ce /src
parentc141a575930ae3eb7a98353838d9c7142dbe5b93 (diff)
downloadQt-2f1c9ca37b9ce2ab05aff9aa19b35c93990dcec7.zip
Qt-2f1c9ca37b9ce2ab05aff9aa19b35c93990dcec7.tar.gz
Qt-2f1c9ca37b9ce2ab05aff9aa19b35c93990dcec7.tar.bz2
Fixes: Optimize QGraphicsViewPrivate::updateRect()/updateRegion().
Details: Those cut-offs are extremely important. After few seconds interaction with the iphone demo, updateRect() was called approx. 3000 times with an empty rect. Then imagine what happens when having e.g. FullViewportUpdate. We do q->viewport()->update() JUST FOR FUN! (cherry picked from commit be6be8c73929f2ddee9a02f59db05c3ba453a63e)
Diffstat (limited to 'src')
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp
index 175e5a3..b7ce085 100644
--- a/src/gui/graphicsview/qgraphicsview.cpp
+++ b/src/gui/graphicsview/qgraphicsview.cpp
@@ -928,6 +928,9 @@ void QGraphicsViewPrivate::updateAll()
void QGraphicsViewPrivate::updateRegion(const QRegion &r)
{
+ if (r.isEmpty())
+ return;
+
Q_Q(QGraphicsView);
// Rect intersects viewport - update everything?
@@ -976,6 +979,9 @@ void QGraphicsViewPrivate::updateRegion(const QRegion &r)
void QGraphicsViewPrivate::updateRect(const QRect &r)
{
+ if (r.isEmpty())
+ return;
+
Q_Q(QGraphicsView);
// Rect intersects viewport - update everything?