diff options
author | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2023-10-11 16:01:35 +0300 |
---|---|---|
committer | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2023-10-11 16:01:35 +0300 |
commit | b6d96559cb9f5e0d79936c89887ea924b2c3514a (patch) | |
tree | cbc90841abc37d1ca420cdde646a4bcad56534d0 | |
parent | 0ec8f5e82da7369a92824167c4d7331f6c502325 (diff) | |
parent | 4ed9f2f6768a3d3f8fcb80bbfceae7bd6bc9b998 (diff) |
Merge remote-tracking branch 'origin/tqtc/lts-5.15.12' into tqtc/lts-5.15-opensourcev5.15.12-lts-lgpl
Change-Id: Id74dc2ea75029731e81d11201cdb13e6dd25ba33
-rw-r--r-- | .qmake.conf | 2 | ||||
-rw-r--r-- | src/positioningquick/qdeclarativepositionsource.cpp | 10 | ||||
-rw-r--r-- | src/positioningquick/qdeclarativepositionsource_p.h | 1 |
3 files changed, 9 insertions, 4 deletions
diff --git a/.qmake.conf b/.qmake.conf index edfb9862..a6fe7a56 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -3,7 +3,7 @@ CONFIG += warning_clean DEFINES += QT_NO_JAVA_STYLE_ITERATORS QT_NO_LINKED_LIST -MODULE_VERSION = 5.15.11 +MODULE_VERSION = 5.15.12 # Adds a way to debug location. The define is needed for multiple subprojects as they # include the essential headers. diff --git a/src/positioningquick/qdeclarativepositionsource.cpp b/src/positioningquick/qdeclarativepositionsource.cpp index 9b7cafc1..3436811a 100644 --- a/src/positioningquick/qdeclarativepositionsource.cpp +++ b/src/positioningquick/qdeclarativepositionsource.cpp @@ -227,7 +227,7 @@ void QDeclarativePositionSource::tryAttach(const QString &newName, bool useFallb m_positionSource->setPreferredPositioningMethods( static_cast<QGeoPositionInfoSource::PositioningMethods>(int(m_preferredPositioningMethods))); - if (m_active) { + if (m_startPending) { const QGeoPositionInfo &lastKnown = m_positionSource->lastKnownPosition(); if (lastKnown.isValid()) setPosition(lastKnown); @@ -655,6 +655,8 @@ QDeclarativePositionSource::PositioningMethods QDeclarativePositionSource::prefe void QDeclarativePositionSource::start() { + m_startPending = false; + if (m_positionSource) m_positionSource->startUpdates(); @@ -727,10 +729,12 @@ void QDeclarativePositionSource::setActive(bool active) if (active == m_active) return; - if (active) + if (active) { + m_startPending = true; QTimer::singleShot(0, this, SLOT(start())); // delay ensures all properties have been set - else + } else { stop(); + } } bool QDeclarativePositionSource::isActive() const diff --git a/src/positioningquick/qdeclarativepositionsource_p.h b/src/positioningquick/qdeclarativepositionsource_p.h index 0c1d8944..8fcc90c3 100644 --- a/src/positioningquick/qdeclarativepositionsource_p.h +++ b/src/positioningquick/qdeclarativepositionsource_p.h @@ -185,6 +185,7 @@ private: QList<QDeclarativePluginParameter *> m_parameters; bool m_componentComplete = false; bool m_parametersInitialized = false; + bool m_startPending = false; }; QT_END_NAMESPACE |