From e8d3e8e0b93271bb41fcdc264fc10ec59be5aa20 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Wed, 11 Aug 2010 13:58:08 +1000 Subject: Compile on Symbian Task-number: QTBUG-12771 --- src/declarative/util/qdeclarativelistmodel.cpp | 12 +++++++++--- src/declarative/util/qdeclarativelistmodel_p_p.h | 12 +----------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/declarative/util/qdeclarativelistmodel.cpp b/src/declarative/util/qdeclarativelistmodel.cpp index b0d47a9..20fe3a9 100644 --- a/src/declarative/util/qdeclarativelistmodel.cpp +++ b/src/declarative/util/qdeclarativelistmodel.cpp @@ -1209,16 +1209,22 @@ ModelNode::ModelNode() ModelNode::~ModelNode() { - qDeleteAll(properties.values()); + clear(); + if (modelCache) { modelCache->m_nested->_root = 0/* ==this */; delete modelCache; modelCache = 0; } + if (objectCache) { delete objectCache; objectCache = 0; } +} +void ModelNode::clear() +{ ModelNode *node; for (int ii = 0; ii < values.count(); ++ii) { node = qvariant_cast(values.at(ii)); if (node) { delete node; node = 0; } } + values.clear(); - if (modelCache) { modelCache->m_nested->_root = 0/* ==this */; delete modelCache; modelCache = 0; } - if (objectCache) { delete objectCache; objectCache = 0; } + qDeleteAll(properties.values()); + properties.clear(); } void ModelNode::setObjectValue(const QScriptValue& valuemap) { diff --git a/src/declarative/util/qdeclarativelistmodel_p_p.h b/src/declarative/util/qdeclarativelistmodel_p_p.h index c41f016..8231414 100644 --- a/src/declarative/util/qdeclarativelistmodel_p_p.h +++ b/src/declarative/util/qdeclarativelistmodel_p_p.h @@ -158,17 +158,7 @@ struct ModelNode QList values; QHash properties; - void clear() { - ModelNode *node; - for (int ii = 0; ii < values.count(); ++ii) { - node = qvariant_cast(values.at(ii)); - if (node) { delete node; node = 0; } - } - values.clear(); - - qDeleteAll(properties.values()); - properties.clear(); - } + void clear(); QDeclarativeListModel *model(const NestedListModel *model) { if (!modelCache) { -- cgit v0.12