summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qproperty.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/kernel/qproperty.h')
-rw-r--r--src/corelib/kernel/qproperty.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/corelib/kernel/qproperty.h b/src/corelib/kernel/qproperty.h
index 008748840d..133c7a7e14 100644
--- a/src/corelib/kernel/qproperty.h
+++ b/src/corelib/kernel/qproperty.h
@@ -944,8 +944,10 @@ struct QBindingStatus
QtPrivate::BindingEvaluationState *currentlyEvaluatingBinding = nullptr;
QtPrivate::CompatPropertySafePoint *currentCompatProperty = nullptr;
Qt::HANDLE threadId = nullptr;
+ QPropertyDelayedNotifications *groupUpdateData = nullptr;
};
+
struct QBindingStorageData;
class Q_CORE_EXPORT QBindingStorage
{
@@ -955,6 +957,7 @@ class Q_CORE_EXPORT QBindingStorage
template<typename Class, typename T, auto Offset, auto Setter, auto Signal>
friend class QObjectCompatProperty;
friend class QObjectPrivate;
+ friend class QtPrivate::QPropertyBindingData;
public:
QBindingStorage();
~QBindingStorage();
@@ -1184,7 +1187,7 @@ private:
void notify(const QtPrivate::QPropertyBindingData *binding)
{
if (binding)
- binding->notifyObservers(this);
+ binding->notifyObservers(this, qGetBindingStorage(owner()));
if constexpr (HasSignal) {
if constexpr (SignalTakesValue::value)
(owner()->*Signal)(this->valueBypassingBindings());
@@ -1322,7 +1325,7 @@ public:
auto *storage = const_cast<QBindingStorage *>(qGetBindingStorage(owner()));
auto bd = storage->bindingData(const_cast<QObjectComputedProperty *>(this), false);
if (bd)
- bd->notifyObservers(this);
+ bd->notifyObservers(this, qGetBindingStorage(owner()));
}
};