summaryrefslogtreecommitdiffstats
path: root/src/Authoring/Client/Code/Core/Doc/Doc.cpp
diff options
context:
space:
mode:
authorJere Tuliniemi <jere.tuliniemi@qt.io>2018-11-22 17:52:30 +0200
committerJere Tuliniemi <jere.tuliniemi@qt.io>2018-11-26 13:08:28 +0000
commit06498355471227722dcf9be936776f6dcb5a1e04 (patch)
treedc5eca7afa661664ad11f98bc5dd584caabe4be5 /src/Authoring/Client/Code/Core/Doc/Doc.cpp
parent42e56b5a07976cd24e9eb764fc498dc99f7c3b3d (diff)
Fix undo and redo matdef saving
Task-number: QT3DS-2706 Change-Id: I797d615df13029bf062b5437ac588dbc5c77324b Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src/Authoring/Client/Code/Core/Doc/Doc.cpp')
-rw-r--r--src/Authoring/Client/Code/Core/Doc/Doc.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Authoring/Client/Code/Core/Doc/Doc.cpp b/src/Authoring/Client/Code/Core/Doc/Doc.cpp
index b632513d..3457d50a 100644
--- a/src/Authoring/Client/Code/Core/Doc/Doc.cpp
+++ b/src/Authoring/Client/Code/Core/Doc/Doc.cpp
@@ -1275,7 +1275,11 @@ void CDoc::onPropertyChanged(qt3dsdm::Qt3DSDMInstanceHandle inInstance,
qt3dsdm::Qt3DSDMPropertyHandle inProperty)
{
using namespace qt3dsdm;
-
+ // Save the material definition upon undo and redo
+ if (m_Core->GetCmdStack()->isUndoingOrRedoing() &&
+ m_StudioSystem->GetClientDataModelBridge()->isInsideMaterialContainer(inInstance)) {
+ getSceneEditor()->saveIfMaterial(inInstance);
+ }
// check if we changed datainput bindings
if (inProperty == m_StudioSystem->GetPropertySystem()
->GetAggregateInstancePropertyByName(inInstance, L"controlledproperty")) {