summaryrefslogtreecommitdiffstats
path: root/src/gui/graphicsview
diff options
context:
space:
mode:
authorAlexis Menard <alexis.menard@nokia.com>2010-04-22 06:57:07 (GMT)
committerAlexis Menard <alexis.menard@nokia.com>2010-04-27 03:43:49 (GMT)
commit4b2293fe1dbb82a0767fff155cef9e33cde3faeb (patch)
treeb814de4181cf967b3db5925d9bb41520313ee1a3 /src/gui/graphicsview
parent8ed0a827298776ef2574b1298f24071c61dc8b07 (diff)
downloadQt-4b2293fe1dbb82a0767fff155cef9e33cde3faeb.zip
Qt-4b2293fe1dbb82a0767fff155cef9e33cde3faeb.tar.gz
Qt-4b2293fe1dbb82a0767fff155cef9e33cde3faeb.tar.bz2
Fix update issue when an item has an effect and child.
When a child marks its parent as dirty (and the parent has an effect) and they are not in a scene, they must not set fullUpdatePending to 1 because if the scene is in fullUpdate (not yet painted) then the item will not be processed by processDirtyItemRecursive so the fullUpdatePending flag will never be reset by resetDirtyItem. Any calls to update() will be then discarded because it will think that a full update is pending for the item. A full update will be done anyway by the scene and if not then markDirty will do its job when the parent will be added to the scene. Task-number:QTBUG-10037 Reviewed-by:bnilsen
Diffstat (limited to 'src/gui/graphicsview')
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h
index 8c7fbb4..6b22607 100644
--- a/src/gui/graphicsview/qgraphicsitem_p.h
+++ b/src/gui/graphicsview/qgraphicsitem_p.h
@@ -861,7 +861,7 @@ inline void QGraphicsItemPrivate::markParentDirty(bool updateBoundingRect)
static_cast<QGraphicsItemEffectSourcePrivate *>(parentp->graphicsEffect->d_func()
->source->d_func())->invalidateCache();
}
- if (parentp->graphicsEffect->isEnabled()) {
+ if (parentp->scene && parentp->graphicsEffect->isEnabled()) {
parentp->dirty = 1;
parentp->fullUpdatePending = 1;
}