diff options
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 | 10 |
1 files changed, 10 insertions, 0 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 a504506a0..55b6001d1 100644 --- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp +++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp @@ -162,7 +162,14 @@ RenderWidgetHostViewQtDelegateWidget::RenderWidgetHostViewQtDelegateWidget(Rende void RenderWidgetHostViewQtDelegateWidget::removeParentBeforeParentDelete() { + // Unset the parent, because parent is being destroyed, but the owner of this + // RenderWidgetHostViewQtDelegateWidget is actually a RenderWidgetHostViewQt instance. setParent(Q_NULLPTR); + + // If this widget represents a popup window, make sure to close it, so that if the popup was the + // last visible top level window, the application event loop can quit if it deems it necessarry. + if (m_isPopup) + close(); } void RenderWidgetHostViewQtDelegateWidget::initAsChild(WebContentsAdapterClient* container) @@ -430,6 +437,9 @@ bool RenderWidgetHostViewQtDelegateWidget::event(QEvent *event) case QEvent::DragLeave: case QEvent::DragMove: case QEvent::Drop: + case QEvent::HoverEnter: + case QEvent::HoverLeave: + case QEvent::HoverMove: // Let the parent handle these events. return false; default: |