summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmir Masoud Abdol <amir.abdol@qt.io>2023-02-24 16:56:29 +0100
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2023-02-28 12:04:53 +0000
commit95e2cae51e6c92315fbf33c5d3e8a1826cca8907 (patch)
treeab01e0beb8b2ea354de466060b1a22995adad200
parent7334a4b08d553d00aba6d1f5301e833c30029510 (diff)
Resolve a duplicate static symbol during Unity Build
Removed a duplicate function, and replaced it with direct calculation since it was only being used once in one of the files anyway. The same for `invLog2`, as the compiler should be taking care of it already. Pick-to: 6.5 Task-number: QTBUG-109394 Change-Id: I9095bca32ea127f770fa2cb0523b05110bd8ef21 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
-rw-r--r--src/location/maps/qgeocameracapabilities.cpp4
-rw-r--r--src/location/maps/qgeotiledmap.cpp9
2 files changed, 2 insertions, 11 deletions
diff --git a/src/location/maps/qgeocameracapabilities.cpp b/src/location/maps/qgeocameracapabilities.cpp
index b78c4ef6..24c1bb6c 100644
--- a/src/location/maps/qgeocameracapabilities.cpp
+++ b/src/location/maps/qgeocameracapabilities.cpp
@@ -6,11 +6,9 @@
#include <QSharedData>
#include <cmath>
-static const double invLog2 = 1.0 / std::log(2.0);
-
static double zoomLevelTo256(double zoomLevelForTileSize, double tileSize)
{
- return std::log( std::pow(2.0, zoomLevelForTileSize) * tileSize / 256.0 ) * invLog2;
+ return std::log(std::pow(2.0, zoomLevelForTileSize) * tileSize / 256.0) * (1.0 / std::log(2.0));
}
QT_BEGIN_NAMESPACE
diff --git a/src/location/maps/qgeotiledmap.cpp b/src/location/maps/qgeotiledmap.cpp
index 268a3277..64088c36 100644
--- a/src/location/maps/qgeotiledmap.cpp
+++ b/src/location/maps/qgeotiledmap.cpp
@@ -16,13 +16,6 @@
QT_BEGIN_NAMESPACE
#define PREFETCH_FRUSTUM_SCALE 2.0
-static const double invLog2 = 1.0 / std::log(2.0);
-
-static double zoomLevelFrom256(double zoomLevelFor256, double tileSize)
-{
- return std::log( std::pow(2.0, zoomLevelFor256) * 256.0 / tileSize ) * invLog2;
-}
-
QGeoTiledMap::QGeoTiledMap(QGeoTiledMappingManagerEngine *engine, QObject *parent)
: QGeoMap(*new QGeoTiledMapPrivate(engine), parent)
{
@@ -272,7 +265,7 @@ void QGeoTiledMapPrivate::changeCameraData(const QGeoCameraData &cameraData)
// Adapt it to the current tileSize
double zoomLevel = cameraData.zoomLevel();
if (m_visibleTiles->tileSize() != 256)
- zoomLevel = zoomLevelFrom256(zoomLevel, m_visibleTiles->tileSize());
+ zoomLevel = std::log(std::pow(2.0, zoomLevel) * 256.0 / m_visibleTiles->tileSize()) * (1.0 / std::log(2.0));
cam.setZoomLevel(zoomLevel);
// For zoomlevel, "snap" 0.01 either side of a whole number.