diff options
author | Martin Jones <martin.jones@nokia.com> | 2009-09-15 00:21:31 (GMT) |
---|---|---|
committer | Martin Jones <martin.jones@nokia.com> | 2009-09-15 00:21:31 (GMT) |
commit | 135e56a632fd6193534828901959165aa68c353d (patch) | |
tree | 4e492d92b036aba922f69f667a3fbdecbe1cf47a | |
parent | df394cd24e65dcfa929074b794878081a42659c7 (diff) | |
download | Qt-135e56a632fd6193534828901959165aa68c353d.zip Qt-135e56a632fd6193534828901959165aa68c353d.tar.gz Qt-135e56a632fd6193534828901959165aa68c353d.tar.bz2 |
Give a useful error if the delegate doesn't return a QFxItem.
-rw-r--r-- | src/declarative/fx/qfxvisualitemmodel.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/declarative/fx/qfxvisualitemmodel.cpp b/src/declarative/fx/qfxvisualitemmodel.cpp index 30879a2..81fbafa 100644 --- a/src/declarative/fx/qfxvisualitemmodel.cpp +++ b/src/declarative/fx/qfxvisualitemmodel.cpp @@ -50,6 +50,7 @@ #include "private/qmetaobjectbuilder_p.h" #include "qmlopenmetaobject.h" #include "qmllistaccessor.h" +#include "qmlinfo.h" #include "qfxvisualitemmodel.h" #include "private/qguard_p.h" #include <QtCore/qdebug.h> @@ -750,9 +751,14 @@ QFxItem *QFxVisualDataModel::item(int index, const QByteArray &viewId, bool comp if (package) { QObject *o = package->part(QLatin1String(viewId)); item = qobject_cast<QFxItem *>(o); - d->m_packaged.insertMulti(item, package); + if (item) + d->m_packaged.insertMulti(item, package); } } + if (!item) { + d->m_cache.releaseItem(nobj); + qmlInfo(d->m_delegate) << "Delegate component must be Item type."; + } return item; } |