aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util/qquickstate_p_p.h
diff options
context:
space:
mode:
authorRichard Moe Gustavsen <richard.gustavsen@qt.io>2022-03-10 12:19:59 +0100
committerRichard Moe Gustavsen <richard.gustavsen@qt.io>2022-03-10 12:19:59 +0100
commite798058823d6b3b813807151b91ee7d4c9417c3e (patch)
treea77487803177ea40775343e87b1ede3e521f0194 /src/quick/util/qquickstate_p_p.h
parent56993597c05545922bbb2ef7aed49e7e34ac06b9 (diff)
parent473663128eaaf1c92ada255ac6ef1101c8bda790 (diff)
Merge remote-tracking branch 'origin/dev' into iosstyle
Diffstat (limited to 'src/quick/util/qquickstate_p_p.h')
-rw-r--r--src/quick/util/qquickstate_p_p.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/quick/util/qquickstate_p_p.h b/src/quick/util/qquickstate_p_p.h
index d75cfc32ee..3f0545df91 100644
--- a/src/quick/util/qquickstate_p_p.h
+++ b/src/quick/util/qquickstate_p_p.h
@@ -212,13 +212,19 @@ public:
struct OperationGuard : public QQmlGuard<QQuickStateOperation>
{
- OperationGuard(QObject *obj, QList<OperationGuard> *l) : list(l) {
+ OperationGuard(QObject *obj, QList<OperationGuard> *l) : QQmlGuard<QQuickStateOperation>(
+ OperationGuard::objectDestroyedImpl, nullptr)
+ ,list(l)
+ {
setObject(static_cast<QQuickStateOperation *>(obj));
}
QList<OperationGuard> *list;
- void objectDestroyed(QQuickStateOperation *) override {
+
+ private:
+ static void objectDestroyedImpl(QQmlGuardImpl *guard) {
+ auto This = static_cast<OperationGuard *>(guard);
// we assume priv will always be destroyed after objectDestroyed calls
- list->removeOne(*this);
+ This->list->removeOne(*This);
}
};
QList<OperationGuard> operations;