diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-11-13 14:16:37 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2018-11-13 16:48:50 +0000 |
commit | 68524d22255c0e2a76b47caec3ef01f3d23d955c (patch) | |
tree | 75169f7619452f9e4d74d60642642295ec07fa73 /src | |
parent | 22591c92adae1f9927234437a9b227d4a0c9a790 (diff) | |
parent | befa6cc99722ccef6635071cc35463f8429aef29 (diff) |
Merge "Merge remote-tracking branch 'origin/5.12.0' into 5.12" into refs/staging/5.12
Diffstat (limited to 'src')
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 |