summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/webengine/api/qquickwebengineview.cpp12
1 files 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()