diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-05-23 21:27:07 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-05-23 21:27:07 +0200 |
commit | d3a8bc803cd7c4ce106038bfc4b37cdd6bb8e177 (patch) | |
tree | 3b6db0d4869f334d0eb4559c5ae457995cbe913e /src/platformsupport/dnd | |
parent | d934ddc297f6db94dbc548fe01da64350f13577d (diff) | |
parent | 47a7628023610904c6ac52e23fa289f75f349b4e (diff) |
Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
src/corelib/io/qdatastream.cpp
src/corelib/io/qdatastream.h
src/corelib/json/qjsonwriter.cpp
src/plugins/platforms/cocoa/qcocoawindow.mm
src/plugins/platforms/xcb/qxcbkeyboard.cpp
Change-Id: I46fef1455f5a9f2ce1ec394a3c65881093c51b62
Diffstat (limited to 'src/platformsupport/dnd')
-rw-r--r-- | src/platformsupport/dnd/qsimpledrag.cpp | 8 | ||||
-rw-r--r-- | src/platformsupport/dnd/qsimpledrag_p.h | 2 |
2 files changed, 4 insertions, 6 deletions
diff --git a/src/platformsupport/dnd/qsimpledrag.cpp b/src/platformsupport/dnd/qsimpledrag.cpp index 587e70b0f3..f2ff177055 100644 --- a/src/platformsupport/dnd/qsimpledrag.cpp +++ b/src/platformsupport/dnd/qsimpledrag.cpp @@ -140,7 +140,6 @@ bool QBasicDrag::eventFilter(QObject *o, QEvent *e) QKeyEvent *ke = static_cast<QKeyEvent *>(e); if (ke->key() == Qt::Key_Escape && e->type() == QEvent::KeyPress) { cancel(); - resetDndState(true); disableEventFilter(); exitDndEventLoop(); @@ -154,13 +153,10 @@ bool QBasicDrag::eventFilter(QObject *o, QEvent *e) case QEvent::MouseButtonRelease: disableEventFilter(); - if (canDrop()) { drop(static_cast<QMouseEvent *>(e)); - resetDndState(false); } else { cancel(); - resetDndState(true); } exitDndEventLoop(); return true; // Eat all mouse events @@ -195,7 +191,7 @@ Qt::DropAction QBasicDrag::drag(QDrag *o) return m_executed_drop_action; } -void QBasicDrag::resetDndState(bool /* deleteSource */) +void QBasicDrag::restoreCursor() { if (m_restoreCursor) { #ifndef QT_NO_CURSOR @@ -227,6 +223,7 @@ void QBasicDrag::endDrag() void QBasicDrag::cancel() { disableEventFilter(); + restoreCursor(); m_drag_icon_window->setVisible(false); } @@ -239,6 +236,7 @@ void QBasicDrag::move(const QMouseEvent *) void QBasicDrag::drop(const QMouseEvent *) { disableEventFilter(); + restoreCursor(); m_drag_icon_window->setVisible(false); } diff --git a/src/platformsupport/dnd/qsimpledrag_p.h b/src/platformsupport/dnd/qsimpledrag_p.h index b2d4191b89..10237b36d7 100644 --- a/src/platformsupport/dnd/qsimpledrag_p.h +++ b/src/platformsupport/dnd/qsimpledrag_p.h @@ -88,7 +88,7 @@ protected: private: void enableEventFilter(); void disableEventFilter(); - void resetDndState(bool deleteSource); + void restoreCursor(); void exitDndEventLoop(); bool m_restoreCursor; |