summaryrefslogtreecommitdiffstats
path: root/src/gui/graphicsview/qgraphicsitem.cpp
diff options
context:
space:
mode:
authorBjørn Erik Nilsen <bjorn.nilsen@nokia.com>2009-07-31 00:22:39 (GMT)
committerBjørn Erik Nilsen <bjorn.nilsen@nokia.com>2009-07-31 01:54:13 (GMT)
commit0dc124e9eee0b44e331bfcb54d05a35e816f74a1 (patch)
treededd8f5a8adc48c368e733fcb02392374a1ca2a4 /src/gui/graphicsview/qgraphicsitem.cpp
parentc14927c3431017cb781045d8770888f1c2f9b5ec (diff)
downloadQt-0dc124e9eee0b44e331bfcb54d05a35e816f74a1.zip
Qt-0dc124e9eee0b44e331bfcb54d05a35e816f74a1.tar.gz
Qt-0dc124e9eee0b44e331bfcb54d05a35e816f74a1.tar.bz2
Notify QGraphicsEffect about source bounding rect changes.
Diffstat (limited to 'src/gui/graphicsview/qgraphicsitem.cpp')
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index 976ffa3..9700965 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -6661,6 +6661,7 @@ void QGraphicsItem::prepareGeometryChange()
d_ptr->scene->d_func()->dirtyGrowingItemsBoundingRect = true;
d_ptr->geometryChanged = 1;
d_ptr->paintedViewBoundingRectsNeedRepaint = 1;
+ d_ptr->notifyBoundingRectChanged = !d_ptr->inSetPosHelper;
QGraphicsScenePrivate *scenePrivate = d_ptr->scene->d_func();
scenePrivate->index->prepareBoundingRectChange(this);
@@ -6684,8 +6685,11 @@ void QGraphicsItem::prepareGeometryChange()
}
QGraphicsItem *parent = this;
- while ((parent = parent->d_ptr->parent))
+ while ((parent = parent->d_ptr->parent)) {
parent->d_ptr->dirtyChildrenBoundingRect = 1;
+ // ### Only do this if the parent's effect applies to the entire subtree.
+ parent->d_ptr->notifyBoundingRectChanged = 1;
+ }
if (d_ptr->inSetPosHelper)
return;