aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquicktextarea.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-09-14 12:09:39 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-09-14 12:09:39 +0200
commita6ca9472de6d4cbdb85dfceaa4f8c10b243cea07 (patch)
tree719e2c3a1732ab0cc82c32d560484b5740f40a05 /src/quicktemplates2/qquicktextarea.cpp
parent658b0f610a71fab8c103b913d2cfd11c3c7c6bef (diff)
parentb3619f32c20b5851ada0826ec2e7ddc2ec8a210b (diff)
Merge remote-tracking branch 'origin/5.7' into 5.8
Conflicts: src/quicktemplates2/qquicktextarea_p_p.h src/quicktemplates2/qquicktextfield_p_p.h Change-Id: Ie7b4a114ad27a4cad337c91e8ebcf696b0e845d7
Diffstat (limited to 'src/quicktemplates2/qquicktextarea.cpp')
-rw-r--r--src/quicktemplates2/qquicktextarea.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/quicktemplates2/qquicktextarea.cpp b/src/quicktemplates2/qquicktextarea.cpp
index 7c2e0f11..92c85941 100644
--- a/src/quicktemplates2/qquicktextarea.cpp
+++ b/src/quicktemplates2/qquicktextarea.cpp
@@ -388,6 +388,14 @@ QAccessible::Role QQuickTextAreaPrivate::accessibleRole() const
}
#endif
+void QQuickTextAreaPrivate::deleteDelegate(QObject *delegate)
+{
+ if (componentComplete)
+ delete delegate;
+ else
+ pendingDeletions.append(delegate);
+}
+
QFont QQuickTextArea::font() const
{
return QQuickTextEdit::font();
@@ -426,7 +434,7 @@ void QQuickTextArea::setBackground(QQuickItem *background)
if (d->background == background)
return;
- delete d->background;
+ d->deleteDelegate(d->background);
d->background = background;
if (background) {
background->setParentItem(this);
@@ -571,6 +579,9 @@ void QQuickTextArea::componentComplete()
if (!d->accessibleAttached && QAccessible::isActive())
d->accessibilityActiveChanged(true);
#endif
+
+ qDeleteAll(d->pendingDeletions);
+ d->pendingDeletions.clear();
}
void QQuickTextArea::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)