summaryrefslogtreecommitdiffstats
path: root/src/Runtime/api/studio3dqml/q3dsrenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Runtime/api/studio3dqml/q3dsrenderer.cpp')
-rw-r--r--src/Runtime/api/studio3dqml/q3dsrenderer.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/Runtime/api/studio3dqml/q3dsrenderer.cpp b/src/Runtime/api/studio3dqml/q3dsrenderer.cpp
index 9ecf5c33..0452bf14 100644
--- a/src/Runtime/api/studio3dqml/q3dsrenderer.cpp
+++ b/src/Runtime/api/studio3dqml/q3dsrenderer.cpp
@@ -367,6 +367,14 @@ void Q3DSRenderer::processCommands()
command.m_data = nullptr;
break;
}
+ case CommandType_DeleteMaterials: {
+ m_runtime->deleteMaterials(cmd.m_elementPath, *static_cast<QStringList *>(cmd.m_data));
+ // Runtime makes copy of the data in its own format, so we can delete it now
+ auto &command = m_commands.commandAt(i);
+ delete reinterpret_cast<QStringList *>(command.m_data);
+ command.m_data = nullptr;
+ break;
+ }
case CommandType_CreateMeshes: {
m_runtime->createMeshes(*static_cast<QHash<QString, Q3DSViewer::MeshData> *>(
cmd.m_data));
@@ -378,6 +386,14 @@ void Q3DSRenderer::processCommands()
command.m_data = nullptr;
break;
}
+ case CommandType_DeleteMeshes: {
+ m_runtime->deleteMeshes(*static_cast<QStringList *>(cmd.m_data));
+ // Runtime makes copy of the data in its own format, so we can delete it now
+ auto &command = m_commands.commandAt(i);
+ delete reinterpret_cast<QStringList *>(command.m_data);
+ command.m_data = nullptr;
+ break;
+ }
case CommandType_RequestSlideInfo: {
int current = 0;
int previous = 0;