diff options
author | Mahmoud Badri <mahmoud.badri@qt.io> | 2019-02-20 10:01:55 +0200 |
---|---|---|
committer | Mahmoud Badri <mahmoud.badri@qt.io> | 2019-02-20 10:57:53 +0000 |
commit | 4bb0eba7d661f4efe87bfc86bf6bebef85902be5 (patch) | |
tree | 07b7939e0b951f34e1e89faf6db5f7ad8fae6786 | |
parent | 303002cac0e5122ce13f74401d18b9c71f876f28 (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.cpp | 13 |
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; |