aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@theqtcompany.com>2015-06-23 15:58:31 +0200
committerJ-P Nurmi <jpnurmi@theqtcompany.com>2015-06-23 13:59:37 +0000
commita6bcd2624533ed00ce5cc1dd50ffbb042be5cb93 (patch)
tree0d647663ada8036e31707ac491b72ec2b46741ef
parent7f847aef8e27d3870659ab6ec33428bc0e995396 (diff)
TabBar: ensure correct destruction order to avoid crashes in tst_tabbar
Change-Id: I20f6536fbd1eb4afdabf016bdac611a9ee190f84 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
-rw-r--r--src/controls/qquicktabbar.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/controls/qquicktabbar.cpp b/src/controls/qquicktabbar.cpp
index 7e240726..b3fd3593 100644
--- a/src/controls/qquicktabbar.cpp
+++ b/src/controls/qquicktabbar.cpp
@@ -227,12 +227,16 @@ QQuickTabBar::QQuickTabBar(QQuickItem *parent) :
QQuickTabBar::~QQuickTabBar()
{
Q_D(QQuickTabBar);
+ delete d->contentItem;
const int count = d->contentModel->count();
for (int i = 0; i < count; ++i) {
QQuickItem *item = itemAt(i);
- if (item)
+ if (item) {
QQuickItemPrivate::get(item)->removeItemChangeListener(d, QQuickItemPrivate::Destroyed | QQuickItemPrivate::Parent);
+ delete item;
+ }
}
+ delete d->contentModel;
}
/*!