diff options
-rw-r--r-- | src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp | 14 | ||||
-rw-r--r-- | src/plugins/position/winrt/winrt.pro | 1 |
2 files changed, 14 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; diff --git a/src/plugins/position/winrt/winrt.pro b/src/plugins/position/winrt/winrt.pro index bc740671..5e02ec9a 100644 --- a/src/plugins/position/winrt/winrt.pro +++ b/src/plugins/position/winrt/winrt.pro @@ -12,4 +12,5 @@ OTHER_FILES += \ PLUGIN_TYPE = position PLUGIN_CLASS_NAME = QGeoPositionInfoSourceFactoryWinRT +win32-msvc201*: LIBS += runtimeobject.lib load(qt_plugin) |