diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-11-13 15:04:07 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-11-13 15:04:07 +0100 |
commit | befa6cc99722ccef6635071cc35463f8429aef29 (patch) | |
tree | d1a1ae305e33f67b1cb3e2d30a5726c0e06a37f8 /src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp | |
parent | 7db70f1e85f628f78df84eb195473fb315e812fe (diff) | |
parent | 4d6de2ba36ff4fe17b0e1c8ee7de4f63e2778c9e (diff) |
Merge remote-tracking branch 'origin/5.12.0' into 5.12
Change-Id: I05a9474efe6b00cc18ad6e33e19a1eb1cbbe8afe
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.cpp | 22 |
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; |