diff --git a/src/mbgl/storage/default_file_source.cpp b/src/mbgl/storage/default_file_source.cpp index 690a96881..cc7475d2f 100644 --- a/src/mbgl/storage/default_file_source.cpp +++ b/src/mbgl/storage/default_file_source.cpp @@ -85,7 +85,7 @@ void DefaultFileSource::Impl::add(Request* req) { return; } - request = &pending.emplace(resource, DefaultFileRequest(resource)).first->second; + request = &pending.emplace(resource, resource).first->second; request->observers.insert(req); if (cache) { diff --git a/src/mbgl/storage/default_file_source_impl.hpp b/src/mbgl/storage/default_file_source_impl.hpp index ed2d248d0..3845014e9 100644 --- a/src/mbgl/storage/default_file_source_impl.hpp +++ b/src/mbgl/storage/default_file_source_impl.hpp @@ -19,8 +19,14 @@ struct DefaultFileRequest { std::set observers; RequestBase* request = nullptr; - DefaultFileRequest(const Resource& resource_) + inline DefaultFileRequest(const Resource& resource_) : resource(resource_) {} + + // Make it movable-only + DefaultFileRequest(const DefaultFileRequest&) = delete; + inline DefaultFileRequest(DefaultFileRequest&&) = default; + DefaultFileRequest& operator=(const DefaultFileRequest&) = delete; + inline DefaultFileRequest& operator=(DefaultFileRequest&&) = default; }; class DefaultFileSource::Impl {