From 65b26acb7c86b8d278c4edb8308b09520ae09c9f Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 31 Jan 2014 13:22:24 +0100 Subject: [PATCH] Prevent crash and emit warning when receiving bogus drop events. Task-number: QTBUG-33635 Change-Id: I6d436bc4d47d1d6b063fc2cf27d67fe4684e7491 Reviewed-by: Oliver Wolff Reviewed-by: Joerg Bornemann --- src/widgets/kernel/qwidgetwindow.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp index 1cf13c880b..c7f8e18118 100644 --- a/src/widgets/kernel/qwidgetwindow.cpp +++ b/src/widgets/kernel/qwidgetwindow.cpp @@ -659,6 +659,11 @@ void QWidgetWindow::handleDragLeaveEvent(QDragLeaveEvent *event) void QWidgetWindow::handleDropEvent(QDropEvent *event) { + if (m_dragTarget.isNull()) { + qWarning() << Q_FUNC_INFO << m_widget << ": No drag target set."; + event->ignore(); + return; + } const QPoint mapped = m_dragTarget.data()->mapFromGlobal(m_widget->mapToGlobal(event->pos())); QDropEvent translated(mapped, event->possibleActions(), event->mimeData(), event->mouseButtons(), event->keyboardModifiers()); QGuiApplication::sendSpontaneousEvent(m_dragTarget.data(), &translated);