From 0cfb48518250e988c4ef0d9717e69fa1b73561b6 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Thu, 17 Dec 2009 08:33:41 +1000 Subject: Use faster listmodelinterface data accessor. --- .../graphicsitems/qmlgraphicsvisualitemmodel.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp b/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp index 6b4a773..d4d07cc 100644 --- a/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp @@ -496,19 +496,13 @@ QVariant QmlGraphicsVisualDataModelDataMetaObject::initialValue(int propId) QHash::const_iterator it = model->m_roleNames.find(propName); if (it != model->m_roleNames.end()) { roleToProp.insert(*it, propId); - QHash values = model->m_listModelInterface->data(data->m_index, QList() << *it); - if (values.isEmpty()) - return QVariant(); - else - return values.value(*it); + QVariant value = model->m_listModelInterface->data(data->m_index, *it); + return value; } else if (model->m_roles.count() == 1 && propName == "modelData") { //for compatability with other lists, assign modelData if there is only a single role roleToProp.insert(model->m_roles.first(), propId); - QHash values = model->m_listModelInterface->data(data->m_index, QList() << model->m_roles.first()); - if (values.isEmpty()) - return QVariant(); - else - return *values.begin(); + QVariant value = model->m_listModelInterface->data(data->m_index, model->m_roles.first()); + return value; } } else if (model->m_abstractItemModel) { model->ensureRoles(); -- cgit v0.12