diff options
author | Martin Jones <martin.jones@nokia.com> | 2010-02-03 05:52:28 (GMT) |
---|---|---|
committer | Martin Jones <martin.jones@nokia.com> | 2010-02-03 05:52:28 (GMT) |
commit | 4c288190000ea6c9f7148d44e8e12d882256e217 (patch) | |
tree | cd6972dcdb9289adb7d653205e9f94b391395e01 /src/declarative/graphicsitems/qmlgraphicslistview.cpp | |
parent | fb6cf75abfae111ab2a1c968ffd0c9b707109b10 (diff) | |
download | Qt-4c288190000ea6c9f7148d44e8e12d882256e217.zip Qt-4c288190000ea6c9f7148d44e8e12d882256e217.tar.gz Qt-4c288190000ea6c9f7148d44e8e12d882256e217.tar.bz2 |
Avoid crash on shutdown if model is destroyed before view.
Diffstat (limited to 'src/declarative/graphicsitems/qmlgraphicslistview.cpp')
-rw-r--r-- | src/declarative/graphicsitems/qmlgraphicslistview.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/declarative/graphicsitems/qmlgraphicslistview.cpp b/src/declarative/graphicsitems/qmlgraphicslistview.cpp index ad0aa04..8fb7c84 100644 --- a/src/declarative/graphicsitems/qmlgraphicslistview.cpp +++ b/src/declarative/graphicsitems/qmlgraphicslistview.cpp @@ -210,7 +210,7 @@ class QmlGraphicsListViewPrivate : public QmlGraphicsFlickablePrivate, private Q public: QmlGraphicsListViewPrivate() - : model(0), currentItem(0), orient(QmlGraphicsListView::Vertical) + : currentItem(0), orient(QmlGraphicsListView::Vertical) , visiblePos(0), visibleIndex(0) , averageSize(100.0), currentIndex(-1), requestedIndex(-1) , highlightRangeStart(0), highlightRangeEnd(0) @@ -495,7 +495,7 @@ public: virtual void flickX(qreal velocity); virtual void flickY(qreal velocity); - QmlGraphicsVisualModel *model; + QGuard<QmlGraphicsVisualModel> model; QVariant modelVariant; QList<FxListItem*> visibleItems; QHash<QmlGraphicsItem*,int> unrequestedItems; @@ -615,7 +615,7 @@ FxListItem *QmlGraphicsListViewPrivate::createItem(int modelIndex) void QmlGraphicsListViewPrivate::releaseItem(FxListItem *item) { Q_Q(QmlGraphicsListView); - if (!item) + if (!item || !model) return; if (trackedItem == item) { const char *notifier1 = orient == QmlGraphicsListView::Vertical ? SIGNAL(yChanged()) : SIGNAL(xChanged()); |