diff options
Diffstat (limited to 'src/gui/kernel/qsimpledrag.cpp')
-rw-r--r-- | src/gui/kernel/qsimpledrag.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/gui/kernel/qsimpledrag.cpp b/src/gui/kernel/qsimpledrag.cpp index f6912a2d57..d53239e74f 100644 --- a/src/gui/kernel/qsimpledrag.cpp +++ b/src/gui/kernel/qsimpledrag.cpp @@ -116,6 +116,8 @@ void QBasicDrag::disableEventFilter() bool QBasicDrag::eventFilter(QObject *o, QEvent *e) { + Q_UNUSED(o); + if (!m_drag) { if (e->type() == QEvent::KeyRelease && static_cast<QKeyEvent*>(e)->key() == Qt::Key_Escape) { disableEventFilter(); @@ -125,9 +127,6 @@ bool QBasicDrag::eventFilter(QObject *o, QEvent *e) return false; } - if (!qobject_cast<QWindow *>(o)) - return false; - switch (e->type()) { case QEvent::ShortcutOverride: // prevent accelerators from firing while dragging @@ -324,9 +323,10 @@ void QSimpleDrag::startDrag() void QSimpleDrag::cancel() { QBasicDrag::cancel(); - if (drag()) + if (drag() && m_current_window) { QWindowSystemInterface::handleDrag(m_current_window, 0, QPoint(), Qt::IgnoreAction); - m_current_window = 0; + m_current_window = 0; + } } void QSimpleDrag::move(const QMouseEvent *me) |