summaryrefslogtreecommitdiffstats
path: root/src/statemachine/qeventtransition.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/statemachine/qeventtransition.cpp')
-rw-r--r--src/statemachine/qeventtransition.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/statemachine/qeventtransition.cpp b/src/statemachine/qeventtransition.cpp
index c509415..460010a 100644
--- a/src/statemachine/qeventtransition.cpp
+++ b/src/statemachine/qeventtransition.cpp
@@ -149,12 +149,11 @@ QEvent::Type QEventTransition::eventType() const
void QEventTransition::setEventType(QEvent::Type type)
{
Q_D(QEventTransition);
- if (d->eventType.value() == type) {
- d->eventType.removeBindingUnlessInWrapper();
+ d->eventType.removeBindingUnlessInWrapper();
+ if (d->eventType.valueBypassingBindings() == type)
return;
- }
d->unregister();
- d->eventType = type;
+ d->eventType.setValueBypassingBindings(type);
d->maybeRegister();
d->eventType.notify();
}
@@ -181,12 +180,11 @@ QObject *QEventTransition::eventSource() const
void QEventTransition::setEventSource(QObject *object)
{
Q_D(QEventTransition);
- if (d->object.value() == object) {
- d->object.removeBindingUnlessInWrapper();
+ d->object.removeBindingUnlessInWrapper();
+ if (d->object.valueBypassingBindings() == object)
return;
- }
d->unregister();
- d->object = object;
+ d->object.setValueBypassingBindings(object);
d->maybeRegister();
d->object.notify();
}