qt5location: fix build failure due to GCC < 5.x bug in implicit casts
GCC < 5.x has some bug in implicit casts, this leads to build failure. In particular QPointer<QGeoMap> in m_map QDeclarativeGeoMap class, when passed to connect(m_map, ...) should directly cast to m_map.data(). Add reworked patch referred on QTBUG-69512: https://bugreports.qt.io/browse/QTBUG-69512 Fixes: http://autobuild.buildroot.org/results/dc5/dc5c354f3aae54b77dad74ad44aca6d12425a457/ http://autobuild.buildroot.org/results/3ab/3ab6f79a36543fa677555bc9ec3500baa46ab0f8/ http://autobuild.buildroot.org/results/8b5/8b5531e44c4f4258c950902b2cd92d1ac8a8491e/ http://autobuild.buildroot.org/results/089/089d03ab14a7c70e465cce891506a082049f2998/ http://autobuild.buildroot.org/results/da8/da87ca470b22d599bb25998af8f25136921f35a7/ http://autobuild.buildroot.org/results/5fe/5fe91fd762c5d4eda01378947b13f7ffc084a8be/ http://autobuild.buildroot.org/results/a84/a84182145122935c8f10105818dbf0e3aa23fd11/ http://autobuild.buildroot.org/results/5b9/5b9106351a04646f42697215ed497e09c62c12fa/ http://autobuild.buildroot.org/results/397/397acc3f5d4998a8d632749ef7d21533c35d501a/ http://autobuild.buildroot.org/results/b18/b186ec0e297d6857a9e0a6a063e476b5049ccf93/ http://autobuild.buildroot.org/results/bf2/bf241beeb1ce10eec99d247cdd331870c08e0ac8/ Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
c59c6c162e
commit
8354c7fe11
@ -0,0 +1,48 @@
|
||||
From ad78b1a671edac369ede86bff376ec8af2cafbf2 Mon Sep 17 00:00:00 2001
|
||||
From: Giulio Benetti <giulio.benetti@micronovasrl.com>
|
||||
Date: Wed, 5 Sep 2018 12:51:41 +0200
|
||||
Subject: [PATCH] qdeclarativegeomap: fix building with GCC < 5.x
|
||||
|
||||
With GCC < 5.x implicit casts don't work as expected, in particular
|
||||
QPointer<QGeoMap> in m_map QDeclarativeGeoMap class when passed to
|
||||
connect(m_map, ...) should directly cast to m_map.data().
|
||||
|
||||
Workaround this using connect(m_map.data(), ...).
|
||||
|
||||
Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
|
||||
---
|
||||
src/location/declarativemaps/qdeclarativegeomap.cpp | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/location/declarativemaps/qdeclarativegeomap.cpp b/src/location/declarativemaps/qdeclarativegeomap.cpp
|
||||
index 09f9d01c..dc5a32ed 100644
|
||||
--- a/src/location/declarativemaps/qdeclarativegeomap.cpp
|
||||
+++ b/src/location/declarativemaps/qdeclarativegeomap.cpp
|
||||
@@ -694,11 +694,11 @@ void QDeclarativeGeoMap::mappingManagerInitialized()
|
||||
QImage copyrightImage;
|
||||
if (!m_initialized && width() > 0 && height() > 0) {
|
||||
QMetaObject::Connection copyrightStringCatcherConnection =
|
||||
- connect(m_map,
|
||||
+ connect(m_map.data(),
|
||||
QOverload<const QString &>::of(&QGeoMap::copyrightsChanged),
|
||||
[©rightString](const QString ©){ copyrightString = copy; });
|
||||
QMetaObject::Connection copyrightImageCatcherConnection =
|
||||
- connect(m_map,
|
||||
+ connect(m_map.data(),
|
||||
QOverload<const QImage &>::of(&QGeoMap::copyrightsChanged),
|
||||
[©rightImage](const QImage ©){ copyrightImage = copy; });
|
||||
m_map->setViewportSize(QSize(width(), height()));
|
||||
@@ -719,8 +719,8 @@ void QDeclarativeGeoMap::mappingManagerInitialized()
|
||||
emit m_map->copyrightsChanged(copyrightImage);
|
||||
|
||||
|
||||
- connect(m_map, &QGeoMap::sgNodeChanged, this, &QQuickItem::update);
|
||||
- connect(m_map, &QGeoMap::cameraCapabilitiesChanged, this, &QDeclarativeGeoMap::onCameraCapabilitiesChanged);
|
||||
+ connect(m_map.data(), &QGeoMap::sgNodeChanged, this, &QQuickItem::update);
|
||||
+ connect(m_map.data(), &QGeoMap::cameraCapabilitiesChanged, this, &QDeclarativeGeoMap::onCameraCapabilitiesChanged);
|
||||
|
||||
// This prefetches a buffer around the map
|
||||
m_map->prefetchData();
|
||||
--
|
||||
2.17.1
|
||||
|
Loading…
Reference in New Issue
Block a user