summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsflickable.cpp12
-rw-r--r--src/declarative/graphicsitems/qmlgraphicslistview.cpp14
2 files changed, 13 insertions, 13 deletions
diff --git a/src/declarative/graphicsitems/qmlgraphicsflickable.cpp b/src/declarative/graphicsitems/qmlgraphicsflickable.cpp
index c4edb28..2ff3b30 100644
--- a/src/declarative/graphicsitems/qmlgraphicsflickable.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsflickable.cpp
@@ -119,8 +119,8 @@ void QmlGraphicsFlickableVisibleArea::updateVisible()
// Vertical
const qreal viewheight = flickable->height();
- const qreal maxyextent = -flickable->maxYExtent();
- qreal pagePos = -p->_moveY.value() / (maxyextent + viewheight);
+ const qreal maxyextent = -flickable->maxYExtent() + flickable->minYExtent();
+ qreal pagePos = (-p->_moveY.value() + flickable->minYExtent()) / (maxyextent + viewheight);
qreal pageSize = viewheight / (maxyextent + viewheight);
if (pageSize != m_heightRatio) {
@@ -134,8 +134,8 @@ void QmlGraphicsFlickableVisibleArea::updateVisible()
// Horizontal
const qreal viewwidth = flickable->width();
- const qreal maxxextent = -flickable->maxXExtent();
- pagePos = -p->_moveX.value() / (maxxextent + viewwidth);
+ const qreal maxxextent = -flickable->maxXExtent() + flickable->minXExtent();
+ pagePos = (-p->_moveX.value() + flickable->minXExtent()) / (maxxextent + viewwidth);
pageSize = viewwidth / (maxxextent + viewwidth);
if (pageSize != m_widthRatio) {
@@ -322,7 +322,7 @@ void QmlGraphicsFlickablePrivate::updateBeginningEnd()
// Vertical
const int maxyextent = int(-q->maxYExtent());
const qreal ypos = -_moveY.value();
- bool atBeginning = (ypos <= 0.0);
+ bool atBeginning = (ypos <= -q->minYExtent());
bool atEnd = (maxyextent <= ypos);
if (atBeginning != atYBeginning) {
@@ -337,7 +337,7 @@ void QmlGraphicsFlickablePrivate::updateBeginningEnd()
// Horizontal
const int maxxextent = int(-q->maxXExtent());
const qreal xpos = -_moveX.value();
- atBeginning = (xpos <= 0.0);
+ atBeginning = (xpos <= -q->minXExtent());
atEnd = (maxxextent <= xpos);
if (atBeginning != atXBeginning) {
diff --git a/src/declarative/graphicsitems/qmlgraphicslistview.cpp b/src/declarative/graphicsitems/qmlgraphicslistview.cpp
index dafbef8..26be7d8 100644
--- a/src/declarative/graphicsitems/qmlgraphicslistview.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicslistview.cpp
@@ -2572,15 +2572,15 @@ void QmlGraphicsListView::itemsRemoved(int modelIndex, int count)
d->updateCurrent(qMin(modelIndex, d->model->count()-1));
}
- if (removedVisible) {
- // update visibleIndex
- for (it = d->visibleItems.begin(); it != d->visibleItems.end(); ++it) {
- if ((*it)->index != -1) {
- d->visibleIndex = (*it)->index;
- break;
- }
+ // update visibleIndex
+ for (it = d->visibleItems.begin(); it != d->visibleItems.end(); ++it) {
+ if ((*it)->index != -1) {
+ d->visibleIndex = (*it)->index;
+ break;
}
+ }
+ if (removedVisible) {
if (d->visibleItems.isEmpty()) {
d->visibleIndex = 0;
d->visiblePos = d->header ? d->header->size() : 0;