diff options
-rw-r--r-- | src/quick/items/qquickflickable.cpp | 12 | ||||
-rw-r--r-- | src/quick/items/qquickflickable_p_p.h | 2 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/quick/items/qquickflickable.cpp b/src/quick/items/qquickflickable.cpp index 0a8e220a57..a15f77d3ce 100644 --- a/src/quick/items/qquickflickable.cpp +++ b/src/quick/items/qquickflickable.cpp @@ -540,12 +540,20 @@ void QQuickFlickablePrivate::updateBeginningEnd() if (vData.extentsChanged) { vData.extentsChanged = false; - emit q->originYChanged(); + qreal originY = q->originY(); + if (vData.origin != originY) { + vData.origin = originY; + emit q->originYChanged(); + } } if (hData.extentsChanged) { hData.extentsChanged = false; - emit q->originXChanged(); + qreal originX = q->originX(); + if (hData.origin != originX) { + hData.origin = originX; + emit q->originXChanged(); + } } if (atBoundaryChange) diff --git a/src/quick/items/qquickflickable_p_p.h b/src/quick/items/qquickflickable_p_p.h index 49f27a48c7..ab5f03f34d 100644 --- a/src/quick/items/qquickflickable_p_p.h +++ b/src/quick/items/qquickflickable_p_p.h @@ -102,6 +102,7 @@ public: : move(fp, func) , transitionToBounds(0) , viewSize(-1), startMargin(0), endMargin(0) + , origin(0) , transitionTo(0) , continuousFlickVelocity(0), vTime(0) , smoothVelocity(fp), atEnd(false), atBeginning(true) @@ -146,6 +147,7 @@ public: qreal flickTarget; qreal startMargin; qreal endMargin; + qreal origin; qreal transitionTo; qreal continuousFlickVelocity; QElapsedTimer velocityTime; |