diff options
author | Jere Tuliniemi <jere.tuliniemi@qt.io> | 2018-11-27 17:21:13 +0200 |
---|---|---|
committer | Jere Tuliniemi <jere.tuliniemi@qt.io> | 2018-11-27 15:38:24 +0000 |
commit | 56fdb004583675be4ae1fc69bdf808f52c3926d5 (patch) | |
tree | 88367f8b3b0fad1396117ca583746ecf60428cf8 | |
parent | 0874a716139539864fba445863ef762a2a87576e (diff) |
Fix presentation id crash and save for matdefs
Task-number: QT3DS-2753
Change-Id: I1dcdc1e1bd8b4ad8364c6c04affa4b1d6a0f8224
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r-- | src/Authoring/Studio/Application/ProjectFile.cpp | 3 | ||||
-rw-r--r-- | src/Authoring/Studio/Palettes/Inspector/InspectorControlModel.cpp | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/Authoring/Studio/Application/ProjectFile.cpp b/src/Authoring/Studio/Application/ProjectFile.cpp index f70a1689..f314a312 100644 --- a/src/Authoring/Studio/Application/ProjectFile.cpp +++ b/src/Authoring/Studio/Application/ProjectFile.cpp @@ -35,6 +35,7 @@ #include "ClientDataModelBridge.h" #include "Core.h" #include "Doc.h" +#include "IDocumentEditor.h" #include "PresentationFile.h" #include "IStudioRenderer.h" #include "StudioUtils.h" @@ -322,6 +323,8 @@ void ProjectFile::writePresentationId(const QString &id, const QString &src) if (instancesToRefresh.size() > 0) { g_StudioApp.GetCore()->GetDispatch()->FireImmediateRefreshInstance( &(instancesToRefresh[0]), long(instancesToRefresh.size())); + for (auto &instance : instancesToRefresh) + doc->getSceneEditor()->saveIfMaterial(instance); } } } diff --git a/src/Authoring/Studio/Palettes/Inspector/InspectorControlModel.cpp b/src/Authoring/Studio/Palettes/Inspector/InspectorControlModel.cpp index a1183c72..19348fc2 100644 --- a/src/Authoring/Studio/Palettes/Inspector/InspectorControlModel.cpp +++ b/src/Authoring/Studio/Palettes/Inspector/InspectorControlModel.cpp @@ -1435,8 +1435,10 @@ void InspectorControlModel::refreshRenderables() for (int p = 0; p < group.controlElements.count(); ++p) { QVariant& element = group.controlElements[p]; InspectorControlBase *property = element.value<InspectorControlBase *>(); - if (property->m_propertyType == qt3dsdm::AdditionalMetaDataType::Renderable) + if (property->m_property.Valid() + && property->m_propertyType == qt3dsdm::AdditionalMetaDataType::Renderable) { updatePropertyValue(property); + } } } } |