summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qbindingstorage.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/kernel/qbindingstorage.h')
-rw-r--r--src/corelib/kernel/qbindingstorage.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/corelib/kernel/qbindingstorage.h b/src/corelib/kernel/qbindingstorage.h
index 9a80acc269..e579dbcf9d 100644
--- a/src/corelib/kernel/qbindingstorage.h
+++ b/src/corelib/kernel/qbindingstorage.h
@@ -65,6 +65,11 @@ struct QBindingStatus
QPropertyDelayedNotifications *groupUpdateData = nullptr;
};
+namespace QtPrivate {
+struct QBindingStatusAccessToken;
+Q_AUTOTEST_EXPORT QBindingStatus *getBindingStatus(QBindingStatusAccessToken);
+}
+
struct QBindingStorageData;
class Q_CORE_EXPORT QBindingStorage
@@ -81,10 +86,13 @@ public:
~QBindingStorage();
bool isEmpty() { return !d; }
+ bool isValid() const noexcept { return bindingStatus; }
+
+ const QBindingStatus *status(QtPrivate::QBindingStatusAccessToken) const;
void registerDependency(const QUntypedPropertyData *data) const
{
- if (!bindingStatus->currentlyEvaluatingBinding)
+ if (!bindingStatus || !bindingStatus->currentlyEvaluatingBinding)
return;
registerDependency_helper(data);
}
@@ -104,6 +112,7 @@ public:
return bindingData_helper(data, create);
}
private:
+ void reinitAfterThreadMove();
void clear();
void registerDependency_helper(const QUntypedPropertyData *data) const;
// ### Unused, but keep for BC