diff options
author | Alex Blasche <alexander.blasche@digia.com> | 2014-01-20 08:52:28 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-20 08:52:28 +0100 |
commit | ebff3c576277d10eab79f43173184e21d326aa54 (patch) | |
tree | 445e059ecc57814f42541f2019d8b2419bf1954c | |
parent | 1d0966c6924876655c52725e779a7aa24866ff60 (diff) | |
parent | cfdb4955c84a6ae8bbd88a02ad4230bba94b83f7 (diff) | |
download | qtlocation-ebff3c576277d10eab79f43173184e21d326aa54.tar.gz |
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
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); |