diff options
Diffstat (limited to 'src/imports/location/qdeclarativepolylinemapitem.cpp')
-rw-r--r-- | src/imports/location/qdeclarativepolylinemapitem.cpp | 12 |
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(); |