diff options
Diffstat (limited to 'src/Runtime/api/studio3dqml/q3dsrenderer.cpp')
-rw-r--r-- | src/Runtime/api/studio3dqml/q3dsrenderer.cpp | 16 |
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; |