diff options
Diffstat (limited to 'src/widgets/kernel/qwindowcontainer.cpp')
-rw-r--r-- | src/widgets/kernel/qwindowcontainer.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/widgets/kernel/qwindowcontainer.cpp b/src/widgets/kernel/qwindowcontainer.cpp index 206a265761..065f6c86cf 100644 --- a/src/widgets/kernel/qwindowcontainer.cpp +++ b/src/widgets/kernel/qwindowcontainer.cpp @@ -301,10 +301,16 @@ bool QWindowContainer::event(QEvent *e) break; #ifndef QT_NO_DRAGANDDROP case QEvent::Drop: - case QEvent::DragEnter: case QEvent::DragMove: case QEvent::DragLeave: - return d->window->event(e); + QCoreApplication::sendEvent(d->window, e); + return e->isAccepted(); + case QEvent::DragEnter: + // Don't reject drag events for the entire widget when one + // item rejects the drag enter + QCoreApplication::sendEvent(d->window, e); + e->accept(); + return true; #endif default: break; |