From 732d5ec7013235beea7f2ae2df9ef7231821ff80 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Mon, 26 Aug 2013 15:40:19 +0200 Subject: [PATCH] QmlDesigner.QmlPuppet: fix for clipping in sub items We did not clip sub items if clipping was enabled. Task-number: QTCREATORBUG-9604 Change-Id: I75fdabd86193fbfbf397bf3d119a1a33c72cf771 Reviewed-by: Marco Bubke --- .../qmlpuppet/instances/graphicsobjectnodeinstance.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp index ba61b13bb94..a3f6f6b7843 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp @@ -30,6 +30,7 @@ #include "graphicsobjectnodeinstance.h" #include +#include #include "private/qgraphicsitem_p.h" #include @@ -302,6 +303,11 @@ void GraphicsObjectNodeInstance::paintRecursively(QGraphicsItem *graphicsItem, Q painter->save(); painter->setTransform(graphicsItem->itemTransform(graphicsItem->parentItem()), true); painter->setOpacity(graphicsItem->opacity() * painter->opacity()); + + QDeclarativeItem *declarativeItem = qobject_cast(graphicsItem); + if (declarativeItem && declarativeItem->clip()) + painter->setClipRect(declarativeItem->boundingRect()); + QStyleOptionGraphicsItem option; initOption(graphicsItem, &option, painter->transform()); graphicsItem->paint(painter, &option);