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);