diff options
Diffstat (limited to 'platform/node/src/node_map.cpp')
-rw-r--r-- | platform/node/src/node_map.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/platform/node/src/node_map.cpp b/platform/node/src/node_map.cpp index 0fe69e8ac9..64b1d226f6 100644 --- a/platform/node/src/node_map.cpp +++ b/platform/node/src/node_map.cpp @@ -464,6 +464,8 @@ void NodeMap::renderFinished() { assert(!callback); assert(!image.data); + Nan::AsyncResource resource("mbgl:NodeMap.renderFinished", handle()); + if (error) { std::string errorMessage; @@ -481,7 +483,7 @@ void NodeMap::renderFinished() { error = nullptr; assert(!error); - cb->Call(1, argv); + cb->Call(1, argv, &resource); } else if (img.data) { v8::Local<v8::Object> pixels = Nan::NewBuffer( reinterpret_cast<char *>(img.data.get()), img.bytes(), @@ -497,12 +499,12 @@ void NodeMap::renderFinished() { Nan::Null(), pixels }; - cb->Call(2, argv); + cb->Call(2, argv, &resource); } else { v8::Local<v8::Value> argv[] = { Nan::Error("Didn't get an image") }; - cb->Call(1, argv); + cb->Call(1, argv, &resource); } } @@ -1152,7 +1154,7 @@ NodeMap::~NodeMap() { if (map) release(); } -std::unique_ptr<mbgl::AsyncRequest> NodeMap::request(const mbgl::Resource& resource, mbgl::FileSource::Callback callback_) { +std::unique_ptr<mbgl::AsyncRequest> NodeMap::request(const mbgl::Resource& resource, mbgl::FileSource::Callback fileSourceCallback) { Nan::HandleScope scope; // Because this method may be called while this NodeMap is already eligible for garbage collection, // we need to explicitly hold onto our own handle here so that GC during a v8 call doesn't destroy @@ -1161,7 +1163,7 @@ std::unique_ptr<mbgl::AsyncRequest> NodeMap::request(const mbgl::Resource& resou v8::Local<v8::Value> argv[] = { Nan::New<v8::External>(this), - Nan::New<v8::External>(&callback_) + Nan::New<v8::External>(&fileSourceCallback) }; auto instance = Nan::New(NodeRequest::constructor)->NewInstance(2, argv); |