diff --git a/src/map/mapsforge/mapdata.cpp b/src/map/mapsforge/mapdata.cpp index bc3d03e7..0fa6785e 100644 --- a/src/map/mapsforge/mapdata.cpp +++ b/src/map/mapsforge/mapdata.cpp @@ -497,6 +497,9 @@ int MapData::level(int zoom) const void MapData::points(const RectC &rect, int zoom, QList *list) { + if (!rect.isValid()) + return; + int l(level(zoom)); PointCTX ctx(this, rect, zoom, list); double min[2], max[2]; @@ -528,6 +531,9 @@ void MapData::points(const VectorTile *tile, const RectC &rect, int zoom, void MapData::paths(const RectC &rect, int zoom, QList *list) { + if (!rect.isValid()) + return; + int l(level(zoom)); PathCTX ctx(this, rect, zoom, list); double min[2], max[2]; diff --git a/src/map/mapsforgemap.cpp b/src/map/mapsforgemap.cpp index 5849022a..cd4bdf22 100644 --- a/src/map/mapsforgemap.cpp +++ b/src/map/mapsforgemap.cpp @@ -211,9 +211,10 @@ void MapsforgeMap::draw(QPainter *painter, const QRectF &rect, Flags flags) _data.points(pointRectD.toRectC(_projection, 20), _zoom, &points); - tiles.append(RasterTile(_projection, _transform, &_style, _zoom, - QRect(ttl, QSize(_data.tileSize(), _data.tileSize())), - _tileRatio, paths, points)); + if (paths.size() || points.size()) + tiles.append(RasterTile(_projection, _transform, &_style, + _zoom, QRect(ttl, QSize(_data.tileSize(), _data.tileSize())), + _tileRatio, paths, points)); } } }