summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@digia.com>2014-01-20 08:52:28 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-20 08:52:28 +0100
commitebff3c576277d10eab79f43173184e21d326aa54 (patch)
tree445e059ecc57814f42541f2019d8b2419bf1954c
parent1d0966c6924876655c52725e779a7aa24866ff60 (diff)
parentcfdb4955c84a6ae8bbd88a02ad4230bba94b83f7 (diff)
downloadqtlocation-ebff3c576277d10eab79f43173184e21d326aa54.tar.gz
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
-rw-r--r--dist/changes-5.2.167
-rw-r--r--src/imports/positioning/qdeclarativepositionsource.cpp22
-rw-r--r--src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp3
-rw-r--r--src/plugins/position/positionpoll/qgeoareamonitor_polling.h2
-rw-r--r--tests/auto/declarative_core/tst_positionsource.qml9
-rw-r--r--tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.cpp17
6 files changed, 96 insertions, 24 deletions
diff --git a/dist/changes-5.2.1 b/dist/changes-5.2.1
new file mode 100644
index 00000000..a3e7058c
--- /dev/null
+++ b/dist/changes-5.2.1
@@ -0,0 +1,67 @@
+Qt 5.2.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.2.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+ http://qt-project.org/doc/qt-5.2/
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+ http://bugreports.qt-project.org/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+
+****************************************************************************
+* General *
+****************************************************************************
+
+General Improvements
+--------------------
+
+ - [QTBUG-34910]
+ * Fix too long weather status string in weatherinfo example (UI change).
+
+ - [QTBUG-36187]
+ * Byte order marker removed from positionpoll plugin which caused compile
+ errors on some older compilers.
+
+ - Fix make install rules for all examples.
+
+ - declarative_core unit test was fixed and re-enabled.
+
+Third party components
+----------------------
+
+****************************************************************************
+* Important Behavior Changes *
+****************************************************************************
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+QtPositioning
+------
+
+ - [QTBUG-33220]
+ * Removes QtQml dependency from QtPositioning.
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+****************************************************************************
+* Plugin Specific Changes *
+****************************************************************************
+
+GeoClue
+------
+
+ - Delay satellite provider until requested.
+ - Sets the default preferred positioning method to AllPositioningMethods.
+ - Fix for incorrect accuracy values reported by the plug-in.
+
diff --git a/src/imports/positioning/qdeclarativepositionsource.cpp b/src/imports/positioning/qdeclarativepositionsource.cpp
index 1d1d3a15..a13092fc 100644
--- a/src/imports/positioning/qdeclarativepositionsource.cpp
+++ b/src/imports/positioning/qdeclarativepositionsource.cpp
@@ -464,14 +464,8 @@ int QDeclarativePositionSource::updateInterval() const
QDeclarativePositionSource::PositioningMethods QDeclarativePositionSource::supportedPositioningMethods() const
{
if (m_positionSource) {
- QGeoPositionInfoSource::PositioningMethods methods = m_positionSource->supportedPositioningMethods();
- if ( (methods & QGeoPositionInfoSource::AllPositioningMethods) == methods ) {
- return QDeclarativePositionSource::AllPositioningMethods;
- } else if (methods & QGeoPositionInfoSource::SatellitePositioningMethods) {
- return QDeclarativePositionSource::SatellitePositioningMethods;
- } else if (methods & QGeoPositionInfoSource::NonSatellitePositioningMethods) {
- return QDeclarativePositionSource::NonSatellitePositioningMethods;
- }
+ return static_cast<QDeclarativePositionSource::PositioningMethods>(
+ int(m_positionSource->supportedPositioningMethods()));
}
return QDeclarativePositionSource::NoPositioningMethods;
}
@@ -515,16 +509,8 @@ void QDeclarativePositionSource::setPreferredPositioningMethods(PositioningMetho
QDeclarativePositionSource::PositioningMethods QDeclarativePositionSource::preferredPositioningMethods() const
{
if (m_positionSource) {
- QGeoPositionInfoSource::PositioningMethods methods =
- m_positionSource->preferredPositioningMethods();
- if ( (methods & QGeoPositionInfoSource::AllPositioningMethods) == methods) {
- return QDeclarativePositionSource::AllPositioningMethods;
- } else if (methods & QGeoPositionInfoSource::SatellitePositioningMethods) {
- return QDeclarativePositionSource::SatellitePositioningMethods;
- } else if (methods & QGeoPositionInfoSource::NonSatellitePositioningMethods) {
- return QDeclarativePositionSource::NonSatellitePositioningMethods;
- } else if (methods == QGeoPositionInfoSource::NoPositioningMethods)
- return QDeclarativePositionSource::NoPositioningMethods;
+ return static_cast<QDeclarativePositionSource::PositioningMethods>(
+ int(m_positionSource->preferredPositioningMethods()));
}
return m_preferredPositioningMethods;
}
diff --git a/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp b/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp
index f02c7eb1..6be7888b 100644
--- a/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp
+++ b/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp
@@ -47,8 +47,11 @@
#include "qgeosatelliteinfosource_geocluemaster.h"
#endif
+Q_DECLARE_METATYPE(QGeoPositionInfo)
+
QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryGeoclue::positionInfoSource(QObject *parent)
{
+ qRegisterMetaType<QGeoPositionInfo>();
return new QGeoPositionInfoSourceGeoclueMaster(parent);
}
diff --git a/src/plugins/position/positionpoll/qgeoareamonitor_polling.h b/src/plugins/position/positionpoll/qgeoareamonitor_polling.h
index f25cd685..41e15d30 100644
--- a/src/plugins/position/positionpoll/qgeoareamonitor_polling.h
+++ b/src/plugins/position/positionpoll/qgeoareamonitor_polling.h
@@ -1,4 +1,4 @@
-/****************************************************************************
+/****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
diff --git a/tests/auto/declarative_core/tst_positionsource.qml b/tests/auto/declarative_core/tst_positionsource.qml
index 259c77ff..6cf99d04 100644
--- a/tests/auto/declarative_core/tst_positionsource.qml
+++ b/tests/auto/declarative_core/tst_positionsource.qml
@@ -127,6 +127,15 @@ TestCase {
compare(testingSource.updateInterval, 1000);
}
+ function test_preferredPositioningMethods() {
+ testingSource.preferredPositioningMethods = PositionSource.AllPositioningMethods;
+ compare(testingSource.preferredPositioningMethods, PositionSource.AllPositioningMethods);
+ testingSource.preferredPositioningMethods = PositionSource.SatellitePositioningMethods;
+ compare(testingSource.preferredPositioningMethods, PositionSource.SatellitePositioningMethods);
+ testingSource.preferredPositioningMethods = PositionSource.NonSatellitePositioningMethods;
+ compare(testingSource.preferredPositioningMethods, PositionSource.NonSatellitePositioningMethods);
+ }
+
function test_updates() {
updateSpy.clear();
diff --git a/tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.cpp b/tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.cpp
index be8dfa78..6bf85173 100644
--- a/tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.cpp
+++ b/tests/auto/qnmeapositioninfosource/qnmeapositioninfosourceproxyfactory.cpp
@@ -86,14 +86,21 @@ QNmeaPositionInfoSourceProxy *QNmeaPositionInfoSourceProxyFactory::createProxy(Q
{
QTcpSocket *client = new QTcpSocket;
client->connectToHost(m_server->serverAddress(), m_server->serverPort());
- //qDebug() << "listening on" << m_server->serverAddress() << m_server->serverPort();
- bool b = m_server->waitForNewConnection(5000);
- Q_ASSERT(b);
+ qDebug() << "listening on" << m_server->serverAddress() << m_server->serverPort();
+ bool b = m_server->waitForNewConnection(15000);
+ if (!b)
+ qWarning() << "Server didin't receive new connection";
b = client->waitForConnected();
- Q_ASSERT(b);
+ if (!b)
+ qWarning() << "Client could not connect to server";
//QNmeaPositionInfoSource *source = new QNmeaPositionInfoSource(m_mode);
- source->setDevice(m_server->nextPendingConnection());
+ QIODevice *device = m_server->nextPendingConnection();
+ if (!device)
+ qWarning() << "Missing pending connection. Test is going to fail.";
+ else
+ qWarning() << "Received pending connection:" << device << b;
+ source->setDevice(device);
Q_ASSERT(source->device() != 0);
QNmeaPositionInfoSourceProxy *proxy = new QNmeaPositionInfoSourceProxy(source, client);
proxy->setParent(source);