summaryrefslogtreecommitdiff
path: root/src/imports/location/qdeclarativepolylinemapitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/location/qdeclarativepolylinemapitem.cpp')
-rw-r--r--src/imports/location/qdeclarativepolylinemapitem.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/imports/location/qdeclarativepolylinemapitem.cpp b/src/imports/location/qdeclarativepolylinemapitem.cpp
index e349b287..3c29ad2b 100644
--- a/src/imports/location/qdeclarativepolylinemapitem.cpp
+++ b/src/imports/location/qdeclarativepolylinemapitem.cpp
@@ -767,15 +767,15 @@ QGeoCoordinate QDeclarativePolylineMapItem::updateLeftBound(const QList<QGeoCoor
QGeoCoordinate currentLeftBound)
{
if (path.isEmpty()) {
+ deltaXs.clear();
minX = qInf();
return QGeoCoordinate();
} else if (path.size() == 1) {
- deltaXs.clear();
- minX = 0.0;
+ deltaXs.resize(1);
+ deltaXs[0] = minX = 0.0;
return path.last();
- } else if ( path.size() != deltaXs.size() + 2 ) { // this case should not happen
- minX = qInf();
- return QGeoCoordinate();
+ } else if ( path.size() != deltaXs.size() + 1 ) { // something went wrong. This case should not happen
+ return computeLeftBound(path, deltaXs, minX);
}
const QGeoCoordinate &geoFrom = path.at(path.size()-2);
@@ -791,7 +791,7 @@ QGeoCoordinate QDeclarativePolylineMapItem::updateLeftBound(const QList<QGeoCoor
deltaLongi = longiTo - longiFrom;
}
- deltaXs.push_back((deltaXs.isEmpty()) ? 0.0 : deltaXs.last() + deltaLongi);
+ deltaXs.push_back(deltaXs.last() + deltaLongi);
if (deltaXs.last() < minX) {
minX = deltaXs.last();
return path.last();