diff options
author | Maurice Kalinowski <maurice.kalinowski@qt.io> | 2016-05-17 11:01:39 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2016-05-18 14:27:52 +0000 |
commit | 1ca6bf3bdef8c95e12a5ee93ed69e4983a1df017 (patch) | |
tree | d8a977429eb6b11a21982b77bb236e9955c81eb9 /src/plugins | |
parent | a3ebf9c04aac97a22c502af79b924d7dc3886824 (diff) | |
download | qtlocation-1ca6bf3bdef8c95e12a5ee93ed69e4983a1df017.tar.gz |
winrt: Enable compilation with desktop mkspec
The GeoPosition API is functional for desktop builds as well, running on
Windows 8 and later. While the plugin builds for desktop, do not enable
its compilation by default as support is experimental.
Change-Id: I5ccd3f857ff3f0cfd1e220875c39883b89f5f2ce
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'src/plugins')
-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) |