diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2016-09-07 15:49:37 +0200 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@qt.io> | 2016-09-12 12:17:23 +0000 |
commit | d99e0764e2fe9bc7e652474b5d70e8b66154b807 (patch) | |
tree | db159cfa9b6c4b4579104475420f12b04dcb98e1 /src/quicktemplates2/qquickcontrol_p_p.h | |
parent | 04779d6db3e8219ebda62de4a6f8e57fa62c0b6a (diff) |
Delete replaced delegates after Component.completed() is emitted
This avoids the issue "Object destroyed during incubation" error.
A proper fix is still required in the QML engine.
Change-Id: I3c168cfe2d8c295662bcb5886e99a0f95748e302
Task-number: QTBUG-50992
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickcontrol_p_p.h')
-rw-r--r-- | src/quicktemplates2/qquickcontrol_p_p.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/quicktemplates2/qquickcontrol_p_p.h b/src/quicktemplates2/qquickcontrol_p_p.h index d36b8f9e..64f29986 100644 --- a/src/quicktemplates2/qquickcontrol_p_p.h +++ b/src/quicktemplates2/qquickcontrol_p_p.h @@ -109,9 +109,15 @@ public: static void updateLocaleRecur(QQuickItem *item, const QLocale &l); static QLocale calcLocale(const QQuickItem *item); + void deleteDelegate(QObject *object); + struct ExtraData { ExtraData(); QFont font; + // This list contains the default delegates which were + // replaced with custom ones via declarative assignments + // before Component.completed() was emitted. See QTBUG-50992. + QVector<QObject*> pendingDeletions; }; QLazilyAllocated<ExtraData> extra; |