This commit is contained in:
Bart Louwers
2024-08-11 15:04:14 +02:00
committed by GitHub
parent 60c1d351cf
commit 544f918c17
34 changed files with 97 additions and 89 deletions

View File

@@ -33,8 +33,8 @@ public:
ref.invoke(&FileSourceRequest::setResponse, res);
};
auto requestFromNetwork = [=](const Resource& res,
std::unique_ptr<AsyncRequest> parent) -> std::unique_ptr<AsyncRequest> {
auto requestFromNetwork = [=, this](const Resource& res,
std::unique_ptr<AsyncRequest> parent) -> std::unique_ptr<AsyncRequest> {
if (!onlineFileSource || !onlineFileSource->canRequest(resource)) {
return parent;
}
@@ -43,7 +43,7 @@ public:
std::shared_ptr<AsyncRequest> parentKeepAlive = std::move(parent);
MBGL_TIMING_START(watch);
return onlineFileSource->request(res, [=, ptr = parentKeepAlive](const Response& response) {
return onlineFileSource->request(res, [=, ptr = parentKeepAlive, this](const Response& response) {
if (databaseFileSource) {
databaseFileSource->forward(res, response, nullptr);
}
@@ -79,7 +79,7 @@ public:
tasks[req] = databaseFileSource->request(resource, callback);
} else {
// Cache request with fallback to network with cache control
tasks[req] = databaseFileSource->request(resource, [=](const Response& response) {
tasks[req] = databaseFileSource->request(resource, [=, this](const Response& response) {
Resource res = resource;
// Resource is in the cache

View File

@@ -273,7 +273,7 @@ void OfflineDownload::activateDownload() {
sourceResource.setPriority(Resource::Priority::Low);
sourceResource.setUsage(Resource::Usage::Offline);
ensureResource(std::move(sourceResource), [=](const Response& sourceResponse) {
ensureResource(std::move(sourceResource), [=, this](const Response& sourceResponse) {
style::conversion::Error error;
std::optional<Tileset> tileset = style::conversion::convertJSON<Tileset>(*sourceResponse.data,
error);
@@ -467,7 +467,7 @@ void OfflineDownload::ensureResource(Resource&& resource, std::function<void(Res
assert(resource.usage == Resource::Usage::Offline);
auto workRequestsIt = requests.insert(requests.begin(), nullptr);
*workRequestsIt = util::RunLoop::Get()->invokeCancellable([=]() {
*workRequestsIt = util::RunLoop::Get()->invokeCancellable([=, this]() {
requests.erase(workRequestsIt);
const auto resourceKind = resource.kind;
auto getResourceSizeInDatabase = [&]() -> std::optional<int64_t> {
@@ -507,7 +507,7 @@ void OfflineDownload::ensureResource(Resource&& resource, std::function<void(Res
}
auto fileRequestsIt = requests.insert(requests.begin(), nullptr);
*fileRequestsIt = onlineFileSource.request(resource, [=](const Response& onlineResponse) {
*fileRequestsIt = onlineFileSource.request(resource, [=, this](const Response& onlineResponse) {
if (onlineResponse.error) {
observer->responseError(*onlineResponse.error);
if (onlineResponse.error->reason == Response::Error::Reason::NotFound) {

View File

@@ -138,7 +138,7 @@ public:
void queueRequest(OnlineFileRequest* req) { pendingRequests.insert(req); }
void activateRequest(OnlineFileRequest* req) {
auto callback = [=](const Response& response) {
auto callback = [=, this](const Response& response) {
activeRequests.erase(req);
req->request.reset();
req->completed(response);