From 19a45f7eb3525bcf923f03ae52d83228f17da16d Mon Sep 17 00:00:00 2001
From: Viktor Engelmann <viktor.engelmann@qt.io>
Date: Tue, 21 Feb 2017 11:24:19 +0100
Subject: [PATCH] Abort findText when destroying QWebEnginePage

In the destructor of QWebEnginePage and QQuickWebEngineView, we
now call adapter->stopFinding() to suppress callbacks that would
cause segmentation faults if a findText request is still active
at that point.

Task-number: QTBUG-58563
Change-Id: I9d5d8407ee6c28cd76bf6ecf0b62808394e151cd
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
---
 src/webengine/api/qquickwebengineview.cpp   | 2 ++
 src/webenginewidgets/api/qwebenginepage.cpp | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
index 4cef45f8c..c1f1c9d0b 100644
--- a/src/webengine/api/qquickwebengineview.cpp
+++ b/src/webengine/api/qquickwebengineview.cpp
@@ -879,6 +879,8 @@ QQuickWebEngineView::QQuickWebEngineView(QQuickItem *parent)
 QQuickWebEngineView::~QQuickWebEngineView()
 {
     Q_D(QQuickWebEngineView);
+    if (d->adapter)
+        d->adapter->stopFinding();
     if (d->faviconProvider)
         d->faviconProvider->detach(this);
 }
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index 9150525b5..69697d626 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -802,6 +802,8 @@ QWebEnginePage::QWebEnginePage(QWebEngineProfile *profile, QObject* parent)
 QWebEnginePage::~QWebEnginePage()
 {
     Q_D(QWebEnginePage);
+    if (d->adapter)
+        d->adapter->stopFinding();
     QWebEngineViewPrivate::bind(d->view, 0);
 }
 
-- 
GitLab