summaryrefslogtreecommitdiffstats
path: root/src/gui/graphicsview/qgraphicsview.cpp
diff options
context:
space:
mode:
authorBjoern Erik Nilsen <bjorn.nilsen@nokia.com>2009-03-24 14:50:26 (GMT)
committerAndreas Aardal Hanssen <andreas.aardal.hanssen@nokia.com>2009-04-06 11:49:47 (GMT)
commit0d959a6c402ea3a3a55d7076d453d4bdbf8dce8e (patch)
treee62dfa5843fea4841e2ad781ed15dad94ddc9e8b /src/gui/graphicsview/qgraphicsview.cpp
parentdeccc867b244fbc52ca58e21623febbc27310b05 (diff)
downloadQt-0d959a6c402ea3a3a55d7076d453d4bdbf8dce8e.zip
Qt-0d959a6c402ea3a3a55d7076d453d4bdbf8dce8e.tar.gz
Qt-0d959a6c402ea3a3a55d7076d453d4bdbf8dce8e.tar.bz2
Fixes: Discard update requests if possible.
AutoTest: Still pass. Details: Update requests can be discarded if the item itself is clipped away and the item clips all its children to shape. This cut-off is extremely effective (and aggressive:))
Diffstat (limited to 'src/gui/graphicsview/qgraphicsview.cpp')
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp
index 9191fc5..43263da 100644
--- a/src/gui/graphicsview/qgraphicsview.cpp
+++ b/src/gui/graphicsview/qgraphicsview.cpp
@@ -855,6 +855,8 @@ void QGraphicsViewPrivate::_q_updateLaterSlot()
const QList<QGraphicsItem *> &dirtyItems = scene->d_func()->dirtyItems;
for (int i = 0; i < dirtyItems.size(); ++i) {
const QGraphicsItem *item = dirtyItems.at(i);
+ if (item->d_ptr->discardUpdateRequest())
+ continue;
QTransform x = item->sceneTransform() * viewTransform;
updateRect(x.mapRect(item->boundingRect()).toAlignedRect() & vr);
}