diff options
Diffstat (limited to 'src/runtime/Qt3DSLogicSystem.cpp')
-rw-r--r-- | src/runtime/Qt3DSLogicSystem.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/runtime/Qt3DSLogicSystem.cpp b/src/runtime/Qt3DSLogicSystem.cpp index 4a8341b..742764c 100644 --- a/src/runtime/Qt3DSLogicSystem.cpp +++ b/src/runtime/Qt3DSLogicSystem.cpp @@ -218,7 +218,7 @@ struct SLogicSystem : public ILogicSystem if (logicIter != m_LogicKeys.end()) { for (TLogicDataList::iterator listIter = logicIter->second.begin(), listEnd = logicIter->second.end(); - listIter != listEnd; ++listIter) + listIter != listEnd; ++listIter) { if (listIter->m_Id == inActionIndex) { listIter->m_Active = inActive; if (IApplication::isPickingEvent(logicIter->first.m_CommandHash)) { @@ -226,8 +226,16 @@ struct SLogicSystem : public ILogicSystem logicIter->first.m_ElementHandle); if (theElement && inActive) theElement->SetFlag(Q3DStudio::ELEMENTFLAG_PICKENABLED, true); + } else if (IApplication::isActivityEvent(logicIter->first.m_CommandHash)) { + SElement *theElement = inElemAllocator.FindElementByHandle( + logicIter->first.m_ElementHandle); + if (theElement && inActive) { + theElement->SetFlag(Q3DStudio::ELEMENTFLAG_ACTIVITYACTIONENABLED, + true); + } } } + } } } } |