summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMahmoud Badri <mahmoud.badri@qt.io>2019-02-20 10:01:55 +0200
committerMahmoud Badri <mahmoud.badri@qt.io>2019-02-20 10:57:53 +0000
commit4bb0eba7d661f4efe87bfc86bf6bebef85902be5 (patch)
tree07b7939e0b951f34e1e89faf6db5f7ad8fae6786
parent303002cac0e5122ce13f74401d18b9c71f876f28 (diff)
Fix a crash that happens on slide change
Change-Id: I5931500612714e21389ec3c695afea3f7788188d Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r--src/Authoring/Studio/Palettes/TimelineGraphicsView/TimelineWidget.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/Authoring/Studio/Palettes/TimelineGraphicsView/TimelineWidget.cpp b/src/Authoring/Studio/Palettes/TimelineGraphicsView/TimelineWidget.cpp
index 15366742..7fa54cb6 100644
--- a/src/Authoring/Studio/Palettes/TimelineGraphicsView/TimelineWidget.cpp
+++ b/src/Authoring/Studio/Palettes/TimelineGraphicsView/TimelineWidget.cpp
@@ -473,6 +473,7 @@ void TimelineWidget::insertToHandlesMapRecursive(Qt3DSDMTimelineItemBinding *bin
return;
insertToHandlesMap(binding);
+
const QList<ITimelineItemBinding *> children = binding->GetChildren();
for (auto child : children)
insertToHandlesMapRecursive(static_cast<Qt3DSDMTimelineItemBinding *>(child));
@@ -798,7 +799,7 @@ void TimelineWidget::onAsyncUpdate()
m_toolbar->setNewLayerEnabled(!m_graphicsScene->rowManager()->isComponentRoot());
refreshVariants();
- // update suppresentation indicators
+ // update sub-presentation indicators
for (auto *row : qAsConst(m_handlesMap))
row->updateSubpresentations();
} else {
@@ -948,10 +949,10 @@ void TimelineWidget::onAsyncUpdate()
if (!m_variantsMap.isEmpty()) {
const auto instances = m_variantsMap.keys();
for (int instance : instances) {
- RowTree *row = m_handlesMap[instance];
- if (row) {
- const auto groups = m_variantsMap.value(instance); // variants groups names
- row->updateVariants(groups);
+ if (m_handlesMap.contains(instance)) {
+ RowTree *row = m_handlesMap[instance];
+ if (row)
+ row->updateVariants(m_variantsMap[instance]); // variants groups names
}
}
}
@@ -1251,7 +1252,7 @@ void TimelineWidget::refreshVariants()
const auto propertySystem = g_StudioApp.GetCore()->GetDoc()->GetPropertySystem();
const auto layers = g_StudioApp.GetCore()->GetDoc()->getLayers();
for (auto layer : layers) {
- if (!m_handlesMap[layer])
+ if (!m_handlesMap.contains(layer))
continue;
qt3dsdm::SValue sValue;