diff --git a/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp b/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp index 0e3a4060cdf75e80dbd181d712cd3b14c27b67be..683b383f09a37744fc0a890e4477979628d0acd1 100644 --- a/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp +++ b/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp @@ -280,6 +280,7 @@ void QGeoPositionInfoSourceWinRT::startUpdates() qCDebug(lcPositioningWinRT) << __FUNCTION__; Q_D(QGeoPositionInfoSourceWinRT); + setError(QGeoPositionInfoSource::NoError); if (d->updatesOngoing) return; @@ -368,6 +369,7 @@ void QGeoPositionInfoSourceWinRT::requestUpdate(int timeout) qCDebug(lcPositioningWinRT) << __FUNCTION__ << timeout; Q_D(QGeoPositionInfoSourceWinRT); + setError(QGeoPositionInfoSource::NoError); if (timeout != 0 && timeout < minimumUpdateInterval()) { emit updateTimeout(); return; @@ -456,7 +458,8 @@ void QGeoPositionInfoSourceWinRT::setError(QGeoPositionInfoSource::Error positio qCDebug(lcPositioningWinRT) << __FUNCTION__ << positionError; d->positionError = positionError; - emit QGeoPositionInfoSource::error(positionError); + if (positionError != QGeoPositionInfoSource::NoError) + emit QGeoPositionInfoSource::error(positionError); } void QGeoPositionInfoSourceWinRT::reactOnError(QGeoPositionInfoSource::Error positionError)