summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-11-13 15:04:07 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-11-13 15:04:07 +0100
commitbefa6cc99722ccef6635071cc35463f8429aef29 (patch)
treed1a1ae305e33f67b1cb3e2d30a5726c0e06a37f8 /src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
parent7db70f1e85f628f78df84eb195473fb315e812fe (diff)
parent4d6de2ba36ff4fe17b0e1c8ee7de4f63e2778c9e (diff)
Merge remote-tracking branch 'origin/5.12.0' into 5.12
Diffstat (limited to 'src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp')
-rw-r--r--src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp22
1 files changed, 9 insertions, 13 deletions
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;