diff options
Diffstat (limited to 'src/imports')
-rw-r--r-- | src/imports/statemachine/signaltransition.cpp | 6 |
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); |