aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickwidgets/qquickwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quickwidgets/qquickwidget.cpp')
-rw-r--r--src/quickwidgets/qquickwidget.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp
index 7458d2de01..d530e0c18f 100644
--- a/src/quickwidgets/qquickwidget.cpp
+++ b/src/quickwidgets/qquickwidget.cpp
@@ -754,6 +754,21 @@ void QQuickWidget::mouseMoveEvent(QMouseEvent *e)
d->offscreenWindow->mouseMoveEvent(&mappedEvent);
}
+void QQuickWidget::mouseDoubleClickEvent(QMouseEvent *e)
+{
+ Q_D(QQuickWidget);
+ Q_QUICK_PROFILE(addEvent<QQuickProfiler::Mouse>());
+
+ // As the second mouse press is suppressed in widget windows we emulate it here for QML.
+ // See QTBUG-25831
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, e->localPos(), e->screenPos(), e->button(),
+ e->buttons(), e->modifiers());
+ d->offscreenWindow->mousePressEvent(&pressEvent);
+ QMouseEvent mappedEvent(e->type(), e->localPos(), e->screenPos(), e->button(), e->buttons(),
+ e->modifiers());
+ d->offscreenWindow->mouseDoubleClickEvent(&mappedEvent);
+}
+
void QQuickWidget::showEvent(QShowEvent *e)
{
Q_D(QQuickWidget);