From 72a0ce045c83ce6c59ab10684a8ab3030be80f58 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 16 Nov 2012 10:36:49 +0100 Subject: [PATCH] Accept subsequent drag moves in QWidgetWindow if enter was accepted. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add handling similar to QGuiApplicationPrivate::processDrag. Task-number: QTBUG-28008 Change-Id: I516531da242471cdfbb59418d0052b25f799f373 Reviewed-by: Samuel Rødal --- src/widgets/kernel/qwidgetwindow.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp index 056eabd2f4..b700d33f52 100644 --- a/src/widgets/kernel/qwidgetwindow.cpp +++ b/src/widgets/kernel/qwidgetwindow.cpp @@ -499,6 +499,10 @@ void QWidgetWindow::handleDragEnterMoveEvent(QDragMoveEvent *event) const QPoint mapped = widget->mapFromGlobal(m_widget->mapToGlobal(event->pos())); QDragMoveEvent translated(mapped, event->possibleActions(), event->mimeData(), event->mouseButtons(), event->keyboardModifiers()); translated.setDropAction(event->dropAction()); + if (event->isAccepted()) { // Handling 'DragEnter' should suffice for the application. + translated.accept(); + translated.setDropAction(event->dropAction()); + } QGuiApplication::sendSpontaneousEvent(widget, &translated); if (translated.isAccepted()) { event->accept();