From 335414d721c2c8748a48b074b2616503bdeeacf5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCri=20Valdmann?= <juri.valdmann@qt.io>
Date: Wed, 31 Oct 2018 16:32:59 +0100
Subject: [PATCH] Fix quicknanobrowser crash on exit

Fixes: QTBUG-71513
Change-Id: If3dfa048cfce57a1f10fa7bde3e7892e00fc8fa9
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
---
 src/webengine/api/qquickwebengineview.cpp | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
index 39901e693..3bc0be196 100644
--- a/src/webengine/api/qquickwebengineview.cpp
+++ b/src/webengine/api/qquickwebengineview.cpp
@@ -166,6 +166,9 @@ QQuickWebEngineViewPrivate::~QQuickWebEngineViewPrivate()
     adapter->stopFinding();
     if (faviconProvider)
         faviconProvider->detach(q_ptr);
+    // q_ptr->d_ptr might be null due to destroy()
+    if (q_ptr->d_ptr)
+        bindViewAndWidget(q_ptr, nullptr);
 }
 
 void QQuickWebEngineViewPrivate::initializeProfile()
@@ -188,10 +191,11 @@ bool QQuickWebEngineViewPrivate::profileInitialized() const
 
 void QQuickWebEngineViewPrivate::destroy()
 {
-   // the profile for this web contens is about to be
-   // garbage collected, delete WebContent first and
-   // let the QQuickWebEngineView be collected later by gc.
-   delete q_ptr->d_ptr.take();
+    // The profile for this web contents is about to be
+    // garbage collected, delete WebContents first and
+    // let the QQuickWebEngineView be collected later by gc.
+    bindViewAndWidget(q_ptr, nullptr);
+    delete q_ptr->d_ptr.take();
 }
 
 UIDelegatesManager *QQuickWebEngineViewPrivate::ui()
-- 
GitLab