summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Leinonen <tony.leinonen@qt.io>2021-02-17 19:52:32 +0200
committerTony Leinonen <tony.leinonen@qt.io>2021-03-02 05:31:17 +0000
commit2873034e617e99cad49146624d9dc36a03b7758a (patch)
tree0ccab1d7de297ce128551e2ab5a8a087f8ca4f80
parent7632cf2dd0692aa4c8560bcdda5ce580a8611d4b (diff)
Add component to dirty list when switching slides
Components are not being updated after slide switch. Adding them to the dirty list for slide change fixes this. Task-number: QT3DS-4217 Change-Id: I9f6f2d9c23548156edbc790d14e99e0e43e5d8ad Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
-rw-r--r--src/runtime/Qt3DSSlideSystem.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/runtime/Qt3DSSlideSystem.cpp b/src/runtime/Qt3DSSlideSystem.cpp
index 4eaa698..67e38f7 100644
--- a/src/runtime/Qt3DSSlideSystem.cpp
+++ b/src/runtime/Qt3DSSlideSystem.cpp
@@ -41,6 +41,8 @@
#include "Qt3DSHash.h"
#include "Qt3DSTimePolicy.h"
#include "foundation/Qt3DSIndexableLinkedList.h"
+#include "Qt3DSIPresentation.h"
+#include "Qt3DSPresentation.h"
using namespace qt3ds::runtime;
using namespace qt3ds::runtime::element;
@@ -457,6 +459,8 @@ struct SSlideSystem : public ISlideSystem
if (!theElem) {
QT3DS_ASSERT(false);
} else {
+ if (theElem->IsIndependent())
+ theElem->GetBelongedPresentation()->GetFrameData().GetDirtyList().Push(theElem);
if (inOp.handleElementActive(*theElem, theElement->m_Active)) {
for (TSlideAttributeNodeList::const_iterator
iter = TSlideAttributeNodeList::begin(theElement->m_AttributeNodes,