From 603f738642891773c46308663fb7733055cf3cdc Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Wed, 30 Sep 2009 09:10:08 +1000 Subject: Make sure the delayed press event is exactly the same as the original. --- src/declarative/fx/qfxflickable.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/declarative/fx/qfxflickable.cpp b/src/declarative/fx/qfxflickable.cpp index 5c1cccf..a83ee66 100644 --- a/src/declarative/fx/qfxflickable.cpp +++ b/src/declarative/fx/qfxflickable.cpp @@ -744,12 +744,19 @@ void QFxFlickablePrivate::captureDelayedPress(QGraphicsSceneMouseEvent *event) if (event->buttons() & i) { Qt::MouseButton button = Qt::MouseButton(i); delayedPressEvent->setButtonDownPos(button, event->buttonDownPos(button)); + delayedPressEvent->setButtonDownScenePos(button, event->buttonDownScenePos(button)); + delayedPressEvent->setButtonDownScreenPos(button, event->buttonDownScreenPos(button)); } } - delayedPressEvent->setScenePos(event->scenePos()); - delayedPressEvent->setLastScenePos(event->lastScenePos()); + delayedPressEvent->setButtons(event->buttons()); + delayedPressEvent->setButton(event->button()); delayedPressEvent->setPos(event->pos()); + delayedPressEvent->setScenePos(event->scenePos()); + delayedPressEvent->setScreenPos(event->screenPos()); delayedPressEvent->setLastPos(event->lastPos()); + delayedPressEvent->setLastScenePos(event->lastScenePos()); + delayedPressEvent->setLastScreenPos(event->lastScreenPos()); + delayedPressEvent->setModifiers(event->modifiers()); delayedPressTimer.start(pressDelay, q); } -- cgit v0.12