From 7bd6955fa1d1839f542fe6f83199e78e15f623b7 Mon Sep 17 00:00:00 2001
From: Oliver Wolff <oliver.wolff@qt.io>
Date: Thu, 3 Jan 2019 12:52:31 +0100
Subject: [PATCH] winrt: Do not emit error signal with NoError

Change-Id: Ic90cf82b9c07377875408d0c485aa8af987323c4
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
---
 src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp b/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp
index 0e3a4060c..683b383f0 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)
-- 
GitLab