diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2017-05-11 13:10:32 +0300 |
---|---|---|
committer | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2017-05-12 14:55:40 +0300 |
commit | 6b0e0a905516acf17b7da29c58ac009c9f012858 (patch) | |
tree | 733473b686eb87f7708010a5f2311bd3d3075e07 /platform/default/default_file_source.cpp | |
parent | 85cb04be22e8d996d3d3447a252ed936eb6f3659 (diff) | |
download | qtlocation-mapboxgl-6b0e0a905516acf17b7da29c58ac009c9f012858.tar.gz |
[core] allow filesource url transform reset
Diffstat (limited to 'platform/default/default_file_source.cpp')
-rw-r--r-- | platform/default/default_file_source.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/platform/default/default_file_source.cpp b/platform/default/default_file_source.cpp index 27c3950e2a..7db0b85461 100644 --- a/platform/default/default_file_source.cpp +++ b/platform/default/default_file_source.cpp @@ -200,12 +200,16 @@ std::string DefaultFileSource::getAccessToken() const { } void DefaultFileSource::setResourceTransform(std::function<std::string(Resource::Kind, std::string&&)> transform) { - auto loop = util::RunLoop::Get(); - thread->invoke(&Impl::setResourceTransform, [loop, transform](Resource::Kind kind_, std::string&& url_, auto callback_) { - return loop->invokeWithCallback([transform](Resource::Kind kind, std::string&& url, auto callback) { - callback(transform(kind, std::move(url))); - }, kind_, std::move(url_), callback_); - }); + if (transform) { + auto loop = util::RunLoop::Get(); + thread->invoke(&Impl::setResourceTransform, [loop, transform](Resource::Kind kind_, std::string&& url_, auto callback_) { + return loop->invokeWithCallback([transform](Resource::Kind kind, std::string&& url, auto callback) { + callback(transform(kind, std::move(url))); + }, kind_, std::move(url_), callback_); + }); + } else { + thread->invoke(&Impl::setResourceTransform, nullptr); + } } std::unique_ptr<AsyncRequest> DefaultFileSource::request(const Resource& resource, Callback callback) { |