diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-03-31 03:03:33 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-03-31 03:03:33 +0200 |
commit | 05659943df25a4ab6edcbfc8ebaa6bc23a2eb72f (patch) | |
tree | 4e29910b35b6ce0a067673e2d3a87eb81cb540d5 | |
parent | 29816a3aaa3f368422a3b19983add62673bb6960 (diff) | |
parent | ccfcf832862582cd0e7c6b33547c9bf9d3b47240 (diff) |
Merge remote-tracking branch 'origin/5.14' into 5.15v5.15.0-beta3
Change-Id: I8b84b78bf234556b7162066b8401630da2afb311
3 files changed, 15 insertions, 5 deletions
diff --git a/src/location/doc/src/plugins/mapboxgl.qdoc b/src/location/doc/src/plugins/mapboxgl.qdoc index 119868d1..f2cea8e8 100644 --- a/src/location/doc/src/plugins/mapboxgl.qdoc +++ b/src/location/doc/src/plugins/mapboxgl.qdoc @@ -88,6 +88,10 @@ The following table lists optional parameters that can be passed to the Mapbox p \l{https://www.mapbox.com/tos}{Terms of Services} and must not be used in production. This property has no effect on styles hosted outside the Mapbox servers. \row + \li mapboxgl.api_base_url + \li Set a custom API base URL. When not set, the URL defaults to \l{https://api.mapbox.com}. + This parameter is ignored if the the \b mapboxgl.china property is set. +\row \li mapboxgl.china \li Use Mapbox China API base URLs and styles. Please notice that Mapbox China requires a specific access token. Contact \l diff --git a/src/plugins/geoservices/mapboxgl/qgeomappingmanagerenginemapboxgl.cpp b/src/plugins/geoservices/mapboxgl/qgeomappingmanagerenginemapboxgl.cpp index 5cbde041..cde7871e 100644 --- a/src/plugins/geoservices/mapboxgl/qgeomappingmanagerenginemapboxgl.cpp +++ b/src/plugins/geoservices/mapboxgl/qgeomappingmanagerenginemapboxgl.cpp @@ -73,6 +73,11 @@ QGeoMappingManagerEngineMapboxGL::QGeoMappingManagerEngineMapboxGL(const QVarian m_useChinaEndpoint = parameters.value(QStringLiteral("mapboxgl.china")).toBool(); } + if (parameters.contains(QStringLiteral("mapboxgl.api_base_url"))) { + const QString apiBaseUrl = parameters.value(QStringLiteral("mapboxgl.api_base_url")).toString(); + m_settings.setApiBaseUrl(apiBaseUrl); + } + QVariantMap metadata; metadata["isHTTPS"] = true; diff --git a/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp b/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp index a9cc164f..28a405c3 100644 --- a/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp +++ b/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp @@ -115,6 +115,7 @@ enum class InitializationState { class QGeoPositionInfoSourceWinRTPrivate { public: ComPtr<IGeolocator> locator; + mutable ComPtr<IGeolocatorStatics> statics; QTimer periodicTimer; QTimer singleUpdateTimer; QGeoPositionInfo lastPosition; @@ -638,21 +639,21 @@ HRESULT QGeoPositionInfoSourceWinRT::onStatusChanged(IGeolocator *, IStatusChang bool QGeoPositionInfoSourceWinRT::requestAccess() const { + Q_D(const QGeoPositionInfoSourceWinRT); qCDebug(lcPositioningWinRT) << __FUNCTION__; GeolocationAccessStatus accessStatus; - static ComPtr<IGeolocatorStatics> statics; ComPtr<IAsyncOperation<GeolocationAccessStatus>> op; HRESULT hr; - hr = QEventDispatcherWinRT::runOnXamlThread([&op]() { + hr = QEventDispatcherWinRT::runOnXamlThread([&op, d]() { HRESULT hr; - if (!statics) { + if (!d->statics) { hr = RoGetActivationFactory(HString::MakeReference(RuntimeClass_Windows_Devices_Geolocation_Geolocator).Get(), - IID_PPV_ARGS(&statics)); + IID_PPV_ARGS(&d->statics)); RETURN_HR_IF_FAILED("Could not access Geolocation Statics."); } - hr = statics->RequestAccessAsync(&op); + hr = d->statics->RequestAccessAsync(&op); return hr; }); if (FAILED(hr)) { |