From 7ec308a228584cd948eb9fc6cda80026537c91a5 Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Tue, 26 Oct 2010 15:48:39 +0000 Subject: [PATCH] don't crash if the item list is empty svn path=/trunk/KDE/kdebase/runtime/; revision=1190003 --- declarativeimports/core/datamodel.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/declarativeimports/core/datamodel.cpp b/declarativeimports/core/datamodel.cpp index a95e7aa9a..37f9fa2f8 100644 --- a/declarativeimports/core/datamodel.cpp +++ b/declarativeimports/core/datamodel.cpp @@ -102,13 +102,15 @@ void DataModel::setItems(const QVariantList &list) //convert to vector, so data() will be O(1) m_items = list.toVector(); - int role = Qt::UserRole; - m_roleNames.clear(); - foreach (QString roleName, list.first().value().keys()) { - ++role; - m_roleNames[role] = roleName.toLatin1(); + if (!list.isEmpty()) { + int role = Qt::UserRole; + m_roleNames.clear(); + foreach (QString roleName, list.first().value().keys()) { + ++role; + m_roleNames[role] = roleName.toLatin1(); + } + setRoleNames(m_roleNames); } - setRoleNames(m_roleNames); //make the declarative view reload everything, //would be nice an incremental update but is not possible