From 90a812a8a8018bbe18b7ecf075778181bc96a9ec Mon Sep 17 00:00:00 2001 From: Christiaan Janssen <christiaan.janssen@nokia.com> Date: Thu, 18 Aug 2011 11:41:42 +0200 Subject: [PATCH] QmlLivePreview: fix crash when inserting node with no parents Change-Id: Ib781f64aed11aafc106dc15b40689181fefd5dd3 Reviewed-on: http://codereview.qt.nokia.com/3171 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Kai Koehne <kai.koehne@nokia.com> --- src/libs/qmljs/qmljsdelta.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/libs/qmljs/qmljsdelta.cpp b/src/libs/qmljs/qmljsdelta.cpp index 56c3336fd83..c385284d28c 100644 --- a/src/libs/qmljs/qmljsdelta.cpp +++ b/src/libs/qmljs/qmljsdelta.cpp @@ -511,13 +511,15 @@ Delta::DebugIdMap Delta::operator()(const Document::Ptr &doc1, const Document::P if (!M.way2.contains(y)) { UiObjectMember* parent = parents2.parent.value(y); - if ( parent->kind == QmlJS::AST::Node::Kind_UiArrayBinding ) - parent = parents2.parent.value(parent); - - if (M.way2.contains(parent) && newDebuggIds.value(parent).count() > 0) { - if (debug) - qDebug () << "Delta::operator(): insert " << label(y, doc2) << " to " << label(parent, doc2); - insert(y, parent, newDebuggIds.value(parent), doc2); + if (parent) { + if ( parent->kind == QmlJS::AST::Node::Kind_UiArrayBinding ) + parent = parents2.parent.value(parent); + + if (M.way2.contains(parent) && newDebuggIds.value(parent).count() > 0) { + if (debug) + qDebug () << "Delta::operator(): insert " << label(y, doc2) << " to " << label(parent, doc2); + insert(y, parent, newDebuggIds.value(parent), doc2); + } } continue; } -- GitLab