diff options
author | Mike Morris <mikemorris@users.noreply.github.com> | 2016-07-12 16:16:45 -0400 |
---|---|---|
committer | Mike Morris <mikemorris@users.noreply.github.com> | 2016-07-14 13:47:02 -0400 |
commit | ce8f053adb91e2d78c67716bc5d1af797e6b2743 (patch) | |
tree | f7c032cb4829cb495b0694d483f35631769fc549 /platform/node | |
parent | 70337487d49c89c1a84245b60fd21306a301c49e (diff) | |
download | qtlocation-mapboxgl-ce8f053adb91e2d78c67716bc5d1af797e6b2743.tar.gz |
[node] enter new v8::Context to avoid leaking v8::FunctionTemplate in NodeMap::request
Diffstat (limited to 'platform/node')
-rw-r--r-- | platform/node/src/node_map.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/platform/node/src/node_map.cpp b/platform/node/src/node_map.cpp index 9a8941d790..00a3041f26 100644 --- a/platform/node/src/node_map.cpp +++ b/platform/node/src/node_map.cpp @@ -757,7 +757,12 @@ NodeMap::~NodeMap() { } std::unique_ptr<mbgl::AsyncRequest> NodeMap::request(const mbgl::Resource& resource, Callback callback_) { - Nan::HandleScope scope; + Nan::HandleScope handleScope; + + // Enter a new v8::Context to avoid leaking v8::FunctionTemplate + // from Nan::New<v8::Function> + v8::Local<v8::Context> context = v8::Context::New(v8::Isolate::GetCurrent()); + v8::Context::Scope scope(context); auto requestHandle = NodeRequest::Create(resource, callback_)->ToObject(); auto request = Nan::ObjectWrap::Unwrap<NodeRequest>(requestHandle); |