diff options
author | Andrew den Exter <andrew.den-exter@nokia.com> | 2012-05-11 11:01:33 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-14 05:36:33 +0200 |
commit | 15db94ac656b6c398756b3e0eb982183bb6036bb (patch) | |
tree | 9ca077e6d7aa94cc6ce20fd9789b19d188e43263 /src | |
parent | d3ec26ea2e22d350a1adc58fbc6903a32c9dea3a (diff) |
Fix setting drag properties in mousePress.
Cache the dragX and dragY properties after the onPressed
signal has been emitted to allow for deferred creation of the drag
object or changes to the axis property in the handler.
Change-Id: If154e661359c82e957fcf0cbc11ccc1f75bee919
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/quick/items/qquickmousearea.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp index d2c9dd9162..1d768a531a 100644 --- a/src/quick/items/qquickmousearea.cpp +++ b/src/quick/items/qquickmousearea.cpp @@ -188,7 +188,7 @@ QQuickDragAttached *QQuickDrag::qmlAttachedProperties(QObject *obj) QQuickMouseAreaPrivate::QQuickMouseAreaPrivate() : enabled(true), hovered(false), pressed(false), longPress(false), - moved(false), stealMouse(false), doubleClick(false), preventStealing(false), + moved(false), dragX(true), dragY(true), stealMouse(false), doubleClick(false), preventStealing(false), propagateComposedEvents(false), drag(0) { } @@ -696,10 +696,6 @@ void QQuickMouseArea::mousePressEvent(QMouseEvent *event) else { d->longPress = false; d->saveEvent(event); - if (d->drag) { - d->dragX = drag()->axis() & QQuickDrag::XAxis; - d->dragY = drag()->axis() & QQuickDrag::YAxis; - } if (d->drag) d->drag->setActive(false); setHovered(true); @@ -708,6 +704,10 @@ void QQuickMouseArea::mousePressEvent(QMouseEvent *event) setKeepMouseGrab(d->stealMouse); event->setAccepted(setPressed(true)); + if (d->drag) { + d->dragX = drag()->axis() & QQuickDrag::XAxis; + d->dragY = drag()->axis() & QQuickDrag::YAxis; + } } } |