summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index 7a6c21c..a137b06 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -5152,20 +5152,6 @@ void QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem *item, QPainter *
}
}
- bool childClip = (item && (item->d_ptr->flags & QGraphicsItem::ItemClipsChildrenToShape));
- bool dontDrawItem = !item || viewBoundingRect.isEmpty();
- bool dontDrawChildren = item && dontDrawItem && childClip;
- childClip &= !dontDrawChildren & !children.isEmpty();
- if (item && item->d_ptr->flags & QGraphicsItem::ItemHasNoContents)
- dontDrawItem = true;
-
- // Clip children.
- if (childClip) {
- painter->save();
- painter->setWorldTransform(transformTmp);
- painter->setClipPath(item->shape(), Qt::IntersectClip);
- }
-
// Find and sort children.
QList<QGraphicsItem *> tmp;
QList<QGraphicsItem *> *children = 0;
@@ -5192,6 +5178,20 @@ void QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem *item, QPainter *
tmp = tli;
children = &tmp;
}
+
+ bool childClip = (item && (item->d_ptr->flags & QGraphicsItem::ItemClipsChildrenToShape));
+ bool dontDrawItem = !item || viewBoundingRect.isEmpty();
+ bool dontDrawChildren = item && dontDrawItem && childClip;
+ childClip &= !dontDrawChildren & !children->isEmpty();
+ if (item && item->d_ptr->flags & QGraphicsItem::ItemHasNoContents)
+ dontDrawItem = true;
+
+ // Clip children.
+ if (childClip) {
+ painter->save();
+ painter->setWorldTransform(transformTmp);
+ painter->setClipPath(item->shape(), Qt::IntersectClip);
+ }
if (!dontDrawChildren) {
if (item && item->d_ptr->needSortChildren) {