summaryrefslogtreecommitdiff
path: root/src/positioning
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-12-25 03:02:19 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-12-25 03:02:19 +0100
commit0a185f62659cecf15ddefcf8748f73ec79b609fb (patch)
treef9397c2d2eaa73adacb7a1208f24825a31a6f58a /src/positioning
parente7bb8f636086c04acd97e4eb3c42e7c6c05dc8f2 (diff)
parent100e0416e7faff954221df9ef97920ba512712c0 (diff)
downloadqtlocation-0a185f62659cecf15ddefcf8748f73ec79b609fb.tar.gz
Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: Ic8ccf43538ad411edce061f24f05c627dab50a6b
Diffstat (limited to 'src/positioning')
-rw-r--r--src/positioning/qgeocoordinate.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/positioning/qgeocoordinate.cpp b/src/positioning/qgeocoordinate.cpp
index 80904d7c..f3d3ef9c 100644
--- a/src/positioning/qgeocoordinate.cpp
+++ b/src/positioning/qgeocoordinate.cpp
@@ -44,11 +44,28 @@
#include <QHash>
#include <QDataStream>
#include <QDebug>
+#include <QMetaType>
#include <qnumeric.h>
#include <qmath.h>
QT_BEGIN_NAMESPACE
+
+struct CoordinateStreamOperators
+{
+ CoordinateStreamOperators()
+ {
+#ifndef QT_NO_DATASTREAM
+ qRegisterMetaTypeStreamOperators<QGeoCoordinate>();
+#endif
+#ifndef QT_NO_DEBUG_STREAM
+ QMetaType::registerDebugStreamOperator<QGeoCoordinate>();
+#endif
+ }
+};
+Q_GLOBAL_STATIC(CoordinateStreamOperators, initStreamOperators);
+
+
static const double qgeocoordinate_EARTH_MEAN_RADIUS = 6371.0072;
@@ -201,6 +218,9 @@ QGeoMercatorCoordinatePrivate::~QGeoMercatorCoordinatePrivate()
QGeoCoordinate::QGeoCoordinate()
: d(new QGeoCoordinatePrivate)
{
+#ifndef QT_NO_DATASTREAM
+ initStreamOperators();
+#endif
}
/*!
@@ -215,6 +235,10 @@ QGeoCoordinate::QGeoCoordinate()
QGeoCoordinate::QGeoCoordinate(double latitude, double longitude)
: d(new QGeoCoordinatePrivate)
{
+#ifndef QT_NO_DATASTREAM
+ initStreamOperators();
+#endif
+
if (QLocationUtils::isValidLat(latitude) && QLocationUtils::isValidLong(longitude)) {
d->lat = latitude;
d->lng = longitude;
@@ -236,6 +260,10 @@ QGeoCoordinate::QGeoCoordinate(double latitude, double longitude)
QGeoCoordinate::QGeoCoordinate(double latitude, double longitude, double altitude)
: d(new QGeoCoordinatePrivate)
{
+#ifndef QT_NO_DATASTREAM
+ initStreamOperators();
+#endif
+
if (QLocationUtils::isValidLat(latitude) && QLocationUtils::isValidLong(longitude)) {
d->lat = latitude;
d->lng = longitude;