From f27641bcb514b0df54d54c32956fdeda3d58f10a Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Wed, 22 Apr 2015 20:20:27 -0700 Subject: [PATCH] Fully cancel the sprite requests --- src/mbgl/map/sprite.cpp | 9 +++++---- src/mbgl/map/sprite.hpp | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/mbgl/map/sprite.cpp b/src/mbgl/map/sprite.cpp index e51208095..75e5f845c 100644 --- a/src/mbgl/map/sprite.cpp +++ b/src/mbgl/map/sprite.cpp @@ -23,13 +23,14 @@ SpritePosition::SpritePosition(uint16_t x_, uint16_t y_, uint16_t width_, uint16 sdf(sdf_) { } -Sprite::Sprite(const std::string& baseUrl, float pixelRatio_, Environment& env, std::function callback_) +Sprite::Sprite(const std::string& baseUrl, float pixelRatio_, Environment& env_, std::function callback_) : pixelRatio(pixelRatio_ > 1 ? 2 : 1), raster(), loadedImage(false), loadedJSON(false), future(promise.get_future()), - callback(callback_) { + callback(callback_), + env(env_) { if (baseUrl.empty()) { // Treat a non-existent sprite as a successfully loaded empty sprite. @@ -69,11 +70,11 @@ Sprite::Sprite(const std::string& baseUrl, float pixelRatio_, Environment& env, Sprite::~Sprite() { if (jsonRequest) { - jsonRequest->cancel(); + env.cancelRequest(jsonRequest); } if (spriteRequest) { - spriteRequest->cancel(); + env.cancelRequest(spriteRequest); } } diff --git a/src/mbgl/map/sprite.hpp b/src/mbgl/map/sprite.hpp index 125520a3d..bd6ae89bc 100644 --- a/src/mbgl/map/sprite.hpp +++ b/src/mbgl/map/sprite.hpp @@ -64,6 +64,7 @@ private: std::future future; std::function callback; + Environment& env; Request* jsonRequest = nullptr; Request* spriteRequest = nullptr; };