summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJanne Kangas <janne.kangas@qt.io>2018-09-27 10:28:42 +0300
committerTomi Korpipää <tomi.korpipaa@qt.io>2018-09-27 07:57:47 +0000
commit29b89d95df02f2d13359bd473e6ab9d83290af5c (patch)
treee88334c3f49f89f069ee33eb6d4e846817ad16a5
parent05afa85a3a3320a688bcf276607c15a95743a9ba (diff)
Use scene element as starting point for datainput map update
Code used active instance as recursion start point, resulting in only partial traversal of scene if user was currently editing component and made changes to datainputs or their bindings. Changed to always start recursion from main scene instance. Change-Id: I55ed480433acc4cda49c48233701125f7d642516 Task-Id: QT3DS-2407 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
-rw-r--r--src/Authoring/Client/Code/Core/Doc/Doc.cpp2
-rw-r--r--src/Authoring/Studio/Application/StudioApp.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/Authoring/Client/Code/Core/Doc/Doc.cpp b/src/Authoring/Client/Code/Core/Doc/Doc.cpp
index a0ff63e0..d91f2b67 100644
--- a/src/Authoring/Client/Code/Core/Doc/Doc.cpp
+++ b/src/Authoring/Client/Code/Core/Doc/Doc.cpp
@@ -1264,7 +1264,7 @@ void CDoc::onPropertyChanged(qt3dsdm::Qt3DSDMInstanceHandle inInstance,
it->boundTypes.clear();
}
- UpdateDatainputMap(m_Core->GetDoc()->GetActiveRootInstance());
+ UpdateDatainputMap(m_Core->GetDoc()->GetSceneInstance());
}
}
diff --git a/src/Authoring/Studio/Application/StudioApp.cpp b/src/Authoring/Studio/Application/StudioApp.cpp
index 8a684b01..771ea182 100644
--- a/src/Authoring/Studio/Application/StudioApp.cpp
+++ b/src/Authoring/Studio/Application/StudioApp.cpp
@@ -2094,7 +2094,7 @@ void CStudioApp::checkDeletedDatainputs()
QMultiMap<QString, QPair<qt3dsdm::Qt3DSDMInstanceHandle, qt3dsdm::Qt3DSDMPropertyHandle>> *map;
map = new QMultiMap<QString, QPair<qt3dsdm::Qt3DSDMInstanceHandle,
qt3dsdm::Qt3DSDMPropertyHandle>>;
- m_core->GetDoc()->UpdateDatainputMap(m_core->GetDoc()->GetActiveRootInstance(), map);
+ m_core->GetDoc()->UpdateDatainputMap(m_core->GetDoc()->GetSceneInstance(), map);
if (!map->empty())
m_core->GetDispatch()->FireOnUndefinedDatainputsFail(map);