From d3915634c392f8a350e5ef112f740d4d353daaac Mon Sep 17 00:00:00 2001 From: Kirill Burtsev Date: Wed, 3 Jul 2019 18:36:40 +0200 Subject: Fully setup replaced QMouseDblClickEvent with source and flags Not fully preserving properties causes event to not be considered synthesized by system and be forwarded into chromium. Receiving one single press event and no release event confuses input event_handler and triggers infinite loop and renderer process crash for pages with multiple nested iframes. Fixes: QTBUG-62106 Change-Id: Iabb8bff78fc3475923b4aa3209b720453a5b6ce5 Reviewed-by: Alexandru Croitor --- src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 27adef919..18f1e97d0 100644 --- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp +++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp @@ -471,7 +471,7 @@ bool RenderWidgetHostViewQtDelegateWidget::event(QEvent *event) // where we can simply ignore the DblClick event. QMouseEvent *dblClick = static_cast(event); QMouseEvent press(QEvent::MouseButtonPress, dblClick->localPos(), dblClick->windowPos(), dblClick->screenPos(), - dblClick->button(), dblClick->buttons(), dblClick->modifiers()); + dblClick->button(), dblClick->buttons(), dblClick->modifiers(), dblClick->source()); press.setTimestamp(dblClick->timestamp()); handled = m_client->forwardEvent(&press); } else -- cgit v1.2.3