From 906cf6ce32604dc71d3e5b33f2de2f0046e252ff Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Tue, 10 Jun 2014 11:09:21 +0200 Subject: Drag&Drop support for child items in QQuickWidget This is a quick-fix. The real issue is that QWidget and QWindow reacts differently when a QDragEnterEvent is rejected. Change-Id: I3e3e50610c14acfaada9c1b243b88cfe9eae54b2 Reviewed-by: Laszlo Agocs --- src/quickwidgets/qquickwidget.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp index 439b039266..3743a8cf1e 100644 --- a/src/quickwidgets/qquickwidget.cpp +++ b/src/quickwidgets/qquickwidget.cpp @@ -1006,13 +1006,18 @@ bool QQuickWidget::event(QEvent *e) switch (e->type()) { #ifndef QT_NO_DRAGANDDROP case QEvent::Drop: - case QEvent::DragEnter: case QEvent::DragMove: case QEvent::DragLeave: // Drag/drop events only have local pos, so no need to map, // but QQuickWindow::event() does not return true d->offscreenWindow->event(e); return e->isAccepted(); + case QEvent::DragEnter: + // Don't reject drag events for the entire widget when one + // item rejects the drag enter + d->offscreenWindow->event(e); + e->accept(); + return true; #endif case QEvent::TouchBegin: case QEvent::TouchEnd: -- cgit v1.2.3