From ed934bd87a2922e7a044d59e45330cd078d06d8c Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Wed, 29 Jul 2009 11:27:08 +1000 Subject: Don't create a zero distance flick. Make fixupX and fixupY equivalent. --- src/declarative/fx/qfxflickable.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/declarative/fx/qfxflickable.cpp b/src/declarative/fx/qfxflickable.cpp index d94c6d8..e73c8a4 100644 --- a/src/declarative/fx/qfxflickable.cpp +++ b/src/declarative/fx/qfxflickable.cpp @@ -128,16 +128,17 @@ void QFxFlickablePrivate::fixupX() vTime = _tl.time(); - if (_moveX.value() > q->minXExtent() || q->maxXExtent() > 0) { + if (_moveX.value() > q->minXExtent() || (q->maxXExtent() > q->maxXExtent())) { _tl.clear(); - _tl.move(_moveX, q->minXExtent(), QEasingCurve(QEasingCurve::InOutQuad), 200); - flicked = false; + if (_moveX.value() != q->minXExtent()) + _tl.move(_moveX, q->minXExtent(), QEasingCurve(QEasingCurve::InOutQuad), 200); //emit flickingChanged(); } else if (_moveX.value() < q->maxXExtent()) { _tl.clear(); _tl.move(_moveX, q->maxXExtent(), QEasingCurve(QEasingCurve::InOutQuad), 200); - flicked = false; //emit flickingChanged(); + } else { + flicked = false; } } @@ -151,7 +152,8 @@ void QFxFlickablePrivate::fixupY() if (_moveY.value() > q->minYExtent() || (q->maxYExtent() > q->minYExtent())) { _tl.clear(); - _tl.move(_moveY, q->minYExtent(), QEasingCurve(QEasingCurve::InOutQuad), 200); + if (_moveY.value() != q->minYExtent()) + _tl.move(_moveY, q->minYExtent(), QEasingCurve(QEasingCurve::InOutQuad), 200); //emit flickingChanged(); } else if (_moveY.value() < q->maxYExtent()) { _tl.clear(); -- cgit v0.12