From f61855a60f871f96bf910efd4bf3b1080faa8218 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Wed, 4 May 2016 14:43:48 +0200 Subject: QQuickContainer: add missing null check This fixes 'make qmltypes' for the templates. qmlplugindump creates and instance of each type, and the plain container template does not have a content item. Change-Id: I20c2f5f23ded9745fe0b579c31f5483eae18731e Reviewed-by: Mitch Curtis --- src/quicktemplates2/qquickcontainer.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/quicktemplates2/qquickcontainer.cpp') diff --git a/src/quicktemplates2/qquickcontainer.cpp b/src/quicktemplates2/qquickcontainer.cpp index 6c0e6df5..f17c56f1 100644 --- a/src/quicktemplates2/qquickcontainer.cpp +++ b/src/quicktemplates2/qquickcontainer.cpp @@ -85,12 +85,14 @@ void QQuickContainerPrivate::cleanup() QQuickItemPrivate::get(item)->removeItemChangeListener(this, QQuickItemPrivate::Destroyed | QQuickItemPrivate::Parent | QQuickItemPrivate::SiblingOrder); } - QQuickItem *focusItem = QQuickItemPrivate::get(contentItem)->subFocusItem; - if (focusItem && window) - QQuickWindowPrivate::get(window)->clearFocusInScope(contentItem, focusItem, Qt::OtherFocusReason); + if (contentItem) { + QQuickItem *focusItem = QQuickItemPrivate::get(contentItem)->subFocusItem; + if (focusItem && window) + QQuickWindowPrivate::get(window)->clearFocusInScope(contentItem, focusItem, Qt::OtherFocusReason); - q->contentItemChange(nullptr, contentItem); - delete contentItem; + q->contentItemChange(nullptr, contentItem); + delete contentItem; + } QObject::disconnect(contentModel, &QQmlObjectModel::countChanged, q, &QQuickContainer::countChanged); QObject::disconnect(contentModel, &QQmlObjectModel::childrenChanged, q, &QQuickContainer::contentChildrenChanged); -- cgit v1.2.3