summaryrefslogtreecommitdiff
path: root/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp')
-rw-r--r--src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp b/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp
index 5dbbacb5..245d855e 100644
--- a/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp
+++ b/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp
@@ -39,7 +39,9 @@
#include <QCoreApplication>
#include <QMutex>
#include <qfunctions_winrt.h>
+#ifdef Q_OS_WINRT
#include <private/qeventdispatcher_winrt_p.h>
+#endif
#include <functional>
#include <windows.system.h>
@@ -64,6 +66,16 @@ QT_BEGIN_NAMESPACE
Q_DECLARE_METATYPE(QGeoPositionInfo)
+#ifndef Q_OS_WINRT
+namespace QEventDispatcherWinRT {
+HRESULT runOnXamlThread(const std::function<HRESULT ()> &delegate, bool waitForRun = true)
+{
+ Q_UNUSED(waitForRun);
+ return delegate();
+}
+}
+#endif
+
class QGeoPositionInfoSourceWinRTPrivate {
public:
ComPtr<IGeolocator> locator;
@@ -490,7 +502,7 @@ HRESULT QGeoPositionInfoSourceWinRT::onStatusChanged(IGeolocator*, IStatusChange
bool QGeoPositionInfoSourceWinRT::requestAccess() const
{
-#if _MSC_VER >= 1900
+#if _MSC_VER >= 1900 && defined(Q_OS_WINRT)
static GeolocationAccessStatus accessStatus = GeolocationAccessStatus_Unspecified;
static ComPtr<IGeolocatorStatics> statics;