summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2009-09-15 00:21:31 (GMT)
committerMartin Jones <martin.jones@nokia.com>2009-09-15 00:21:31 (GMT)
commit135e56a632fd6193534828901959165aa68c353d (patch)
tree4e492d92b036aba922f69f667a3fbdecbe1cf47a
parentdf394cd24e65dcfa929074b794878081a42659c7 (diff)
downloadQt-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.cpp8
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;
}