summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-11-13 14:16:37 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2018-11-13 16:48:50 +0000
commit68524d22255c0e2a76b47caec3ef01f3d23d955c (patch)
tree75169f7619452f9e4d74d60642642295ec07fa73 /src
parent22591c92adae1f9927234437a9b227d4a0c9a790 (diff)
parentbefa6cc99722ccef6635071cc35463f8429aef29 (diff)
Merge "Merge remote-tracking branch 'origin/5.12.0' into 5.12" into refs/staging/5.12
Diffstat (limited to 'src')
-rw-r--r--src/webengine/doc/src/qtwebengine-overview.qdoc2
-rw-r--r--src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp22
-rw-r--r--src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h2
3 files changed, 11 insertions, 15 deletions
diff --git a/src/webengine/doc/src/qtwebengine-overview.qdoc b/src/webengine/doc/src/qtwebengine-overview.qdoc
index 9c2cbb414..bd5569e3f 100644
--- a/src/webengine/doc/src/qtwebengine-overview.qdoc
+++ b/src/webengine/doc/src/qtwebengine-overview.qdoc
@@ -89,7 +89,7 @@
\l{https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md}{overview}
that is part of the documentation in the \l {Chromium Project} upstream source tree.
- This version of Qt WebEngine is based on Chromium version 65.0.3325.151, with
+ This version of Qt WebEngine is based on Chromium version 69.0.3497.128, with
additional security fixes from newer versions.
\section2 Qt WebEngine Process
diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
index dd183585a..e34bca875 100644
--- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
+++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
@@ -177,16 +177,15 @@ RenderWidgetHostViewQtDelegateWidget::~RenderWidgetHostViewQtDelegateWidget()
void RenderWidgetHostViewQtDelegateWidget::connectRemoveParentBeforeParentDelete()
{
- if (QWidget *parent = parentWidget())
- connect(parent, &QObject::destroyed,
- this, &RenderWidgetHostViewQtDelegateWidget::removeParentBeforeParentDelete);
-}
-
-void RenderWidgetHostViewQtDelegateWidget::disconnectRemoveParentBeforeParentDelete()
-{
- if (QWidget *parent = parentWidget())
- disconnect(parent, &QObject::destroyed,
- this, &RenderWidgetHostViewQtDelegateWidget::removeParentBeforeParentDelete);
+ disconnect(m_parentDestroyedConnection);
+
+ if (QWidget *parent = parentWidget()) {
+ m_parentDestroyedConnection = connect(parent, &QObject::destroyed,
+ this,
+ &RenderWidgetHostViewQtDelegateWidget::removeParentBeforeParentDelete);
+ } else {
+ m_parentDestroyedConnection = QMetaObject::Connection();
+ }
}
void RenderWidgetHostViewQtDelegateWidget::removeParentBeforeParentDelete()
@@ -426,9 +425,6 @@ bool RenderWidgetHostViewQtDelegateWidget::event(QEvent *event)
// Track parent to make sure we don't get deleted.
switch (event->type()) {
- case QEvent::ParentAboutToChange:
- disconnectRemoveParentBeforeParentDelete();
- break;
case QEvent::ParentChange:
connectRemoveParentBeforeParentDelete();
break;
diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h
index e78a9b119..e23f13d86 100644
--- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h
+++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h
@@ -102,7 +102,6 @@ protected:
private slots:
void onWindowPosChanged();
void connectRemoveParentBeforeParentDelete();
- void disconnectRemoveParentBeforeParentDelete();
void removeParentBeforeParentDelete();
private:
@@ -116,6 +115,7 @@ private:
QPoint m_lastGlobalPos;
QList<QMetaObject::Connection> m_windowConnections;
QWebEnginePage *m_page = nullptr;
+ QMetaObject::Connection m_parentDestroyedConnection;
};
} // namespace QtWebEngineCore