aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp')
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
index 403ba9fbe9..4399f669c7 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
@@ -329,11 +329,23 @@ QRectF QuickItemNodeInstance::contentItemBoundingBox() const
return QRectF();
}
+static bool layerEnabledAndEffect(QQuickItem *item)
+{
+ QQuickItemPrivate *pItem = QQuickItemPrivate::get(item);
+
+ if (pItem && pItem->layer() && pItem->layer()->enabled() && pItem->layer()->effect())
+ return true;
+
+ return false;
+}
+
QRectF QuickItemNodeInstance::boundingRect() const
{
if (quickItem()) {
if (quickItem()->clip()) {
return quickItem()->boundingRect();
+ } else if (layerEnabledAndEffect(quickItem())) {
+ return ServerNodeInstance::effectAdjustedBoundingRect(quickItem());
} else {
return boundingRectWithStepChilds(quickItem());
}