From 81e967f20d15d1b7f9b8e542e522e95de11c55c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20T=C5=AFma?= Date: Wed, 17 May 2023 23:08:17 +0200 Subject: [PATCH] Only fetch data when the rect is valid --- src/map/mapsforge/mapdata.cpp | 6 ++++++ src/map/mapsforgemap.cpp | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) 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)); } } }