summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qproperty.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/kernel/qproperty.cpp')
-rw-r--r--src/corelib/kernel/qproperty.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/corelib/kernel/qproperty.cpp b/src/corelib/kernel/qproperty.cpp
index 103c3d8482..147103aed9 100644
--- a/src/corelib/kernel/qproperty.cpp
+++ b/src/corelib/kernel/qproperty.cpp
@@ -110,12 +110,15 @@ void QPropertyBindingPrivate::markDirtyAndNotifyObservers()
eagerlyUpdating = true;
QScopeGuard guard([&](){eagerlyUpdating = false;});
+ bool knownIfChanged = false;
if (requiresEagerEvaluation()) {
// these are compat properties that we will need to evaluate eagerly
- evaluateIfDirtyAndReturnTrueIfValueChanged(propertyDataPtr);
+ if (!evaluateIfDirtyAndReturnTrueIfValueChanged(propertyDataPtr))
+ return;
+ knownIfChanged = true;
}
if (firstObserver)
- firstObserver.notify(this, propertyDataPtr);
+ firstObserver.notify(this, propertyDataPtr, knownIfChanged);
if (hasStaticObserver)
staticObserverCallback(propertyDataPtr);
}