diff options
Diffstat (limited to 'src/declarative/fx/qfxvisualitemmodel.cpp')
-rw-r--r-- | src/declarative/fx/qfxvisualitemmodel.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/declarative/fx/qfxvisualitemmodel.cpp b/src/declarative/fx/qfxvisualitemmodel.cpp index 61f08de..533917e 100644 --- a/src/declarative/fx/qfxvisualitemmodel.cpp +++ b/src/declarative/fx/qfxvisualitemmodel.cpp @@ -512,12 +512,17 @@ QFxItem *QFxVisualItemModel::item(int index, const QByteArray &viewId, bool comp nobj = d->m_delegate->beginCreate(ctxt); if (complete) d->m_delegate->completeCreate(); - ctxt->setParent(nobj); - data->setParent(nobj); + if (nobj) { + ctxt->setParent(nobj); + data->setParent(nobj); - d->m_cache.insert(index, nobj); + d->m_cache.insert(index, nobj); + } else { + delete data; + delete ctxt; + qWarning() << d->m_delegate->errors(); + } } - QFxItem *item = qobject_cast<QFxItem *>(nobj); if (!item) { QmlPackage *package = qobject_cast<QmlPackage *>(nobj); |