aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2022-06-10 21:10:52 +0200
committerThomas Hartmann <thomas.hartmann@qt.io>2022-06-13 08:35:11 +0000
commit7ae288d355b9763ed495c1ebbf198809ed7e50f0 (patch)
treef6041ba83454242b5cf7a80ceed4cb5cc9fd0d70
parent13c1b6f2373f3da6198e1111a96f5aee1036023a (diff)
QmlDesigner: Use changed properties to update 3D preview
EffectReference is always dirty and it is the only dirty flag. Instead, we update now if any property changed. Task-number: QDS-7079 Change-Id: I157cf2d3b15120c33f4a6b3f53e526d555c7f80c Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp
index 2ff2339576..59e7a4aa82 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp
@@ -111,8 +111,6 @@ void Qt5RenderNodeInstanceServer::collectItemChangesAndSendChangeCommands()
}
}
- clearChangedPropertyList();
-
if (Internal::QuickItemNodeInstance::unifiedRenderPath()) {
if (windowDirty)
nodeInstanceClient()->pixmapChanged(createPixmapChangedCommand({rootNodeInstance()}));
@@ -134,13 +132,15 @@ void Qt5RenderNodeInstanceServer::collectItemChangesAndSendChangeCommands()
}
if (rootIsRenderable3DObject() && rootNodeInstance().contentItem()
- && DesignerSupport::isDirty(rootNodeInstance().contentItem(),
- DesignerSupport::AllMask)
+ && !changedPropertyList().isEmpty()
&& nodeInstanceClient()->bytesToWrite() < 10000) {
+
Internal::QuickItemNodeInstance::updateDirtyNode(rootNodeInstance().contentItem());
nodeInstanceClient()->pixmapChanged(createPixmapChangedCommand({rootNodeInstance()}));
}
+ clearChangedPropertyList();
+
inFunction = false;
}
}