aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/statemachine/signaltransition.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/statemachine/signaltransition.cpp')
-rw-r--r--src/imports/statemachine/signaltransition.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/imports/statemachine/signaltransition.cpp b/src/imports/statemachine/signaltransition.cpp
index 37edd6eb87..41286d84c8 100644
--- a/src/imports/statemachine/signaltransition.cpp
+++ b/src/imports/statemachine/signaltransition.cpp
@@ -44,6 +44,7 @@
#include <private/qv8engine_p.h>
#include <private/qjsvalue_p.h>
#include <private/qv4scopedvalue_p.h>
+#include <private/qqmlcontext_p.h>
SignalTransition::SignalTransition(QState *parent)
: QSignalTransition(this, SIGNAL(invokeYourself()), parent)
@@ -60,7 +61,10 @@ bool SignalTransition::eventTest(QEvent *event)
if (m_guard.isEmpty())
return true;
- QQmlContext context(QQmlEngine::contextForObject(this));
+ QQmlContext *outerContext = QQmlEngine::contextForObject(this);
+ QQmlContext context(outerContext);
+ QQmlContextData::get(outerContext)->imports->addref();
+ QQmlContextData::get(&context)->imports = QQmlContextData::get(outerContext)->imports;
QStateMachine::SignalEvent *e = static_cast<QStateMachine::SignalEvent*>(event);