diff options
author | Bjørn Erik Nilsen <bjorn.nilsen@nokia.com> | 2009-06-17 14:25:34 (GMT) |
---|---|---|
committer | Bjørn Erik Nilsen <bjorn.nilsen@nokia.com> | 2009-06-17 14:27:05 (GMT) |
commit | 5c3c867989ca4c02114d25a7f91d698f6d334c06 (patch) | |
tree | 1e6c1c960859fea7acccbd299e5d77394e771247 /src/gui/graphicsview | |
parent | a31a48445a8a9c0e0ef046c6eaf611906e9c77a4 (diff) | |
download | Qt-5c3c867989ca4c02114d25a7f91d698f6d334c06.zip Qt-5c3c867989ca4c02114d25a7f91d698f6d334c06.tar.gz Qt-5c3c867989ca4c02114d25a7f91d698f6d334c06.tar.bz2 |
Fix tst_QGraphicsItem::opacityZeroUpdates
Child items must ignore visible/opacity if parent does.
Broke after: c9ab7a8b8504101c06456b706a84e0eb0693c77e
Diffstat (limited to 'src/gui/graphicsview')
-rw-r--r-- | src/gui/graphicsview/qgraphicsscene.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index dd128ad..e89d80f 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -5419,12 +5419,18 @@ void QGraphicsScenePrivate::processDirtyItemsRecursive(QGraphicsItem *item, bool dirtyAncestorContainsChildren = item && item->d_ptr->fullUpdatePending && (item->d_ptr->flags & QGraphicsItem::ItemClipsChildrenToShape); } + const bool parentIgnoresVisible = item && item->d_ptr->ignoreVisible; + const bool parentIgnoresOpacity = item && item->d_ptr->ignoreOpacity; for (int i = 0; i < children->size(); ++i) { QGraphicsItem *child = children->at(i); if (wasDirtyParentSceneTransform) child->d_ptr->dirtySceneTransform = 1; if (wasDirtyParentViewBoundingRects) child->d_ptr->paintedViewBoundingRectsNeedRepaint = 1; + if (parentIgnoresVisible) + child->d_ptr->ignoreVisible = 1; + if (parentIgnoresOpacity) + child->d_ptr->ignoreOpacity = 1; if (allChildrenDirty) { child->d_ptr->dirty = 1; |