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-13 00:02:14 -0400 |
commit | 3613c71cfb68d47c3509f2f2350b0e239790e086 (patch) | |
tree | 81fcba87e27c58a9897cfad861001647cdc1a15d | |
parent | 5a91245ec43f682a0559668efdf6ea8d578de04d (diff) | |
download | qtlocation-mapboxgl-3613c71cfb68d47c3509f2f2350b0e239790e086.tar.gz |
[node] enter new v8::Context to avoid leaking v8::FunctionTemplate in NodeMap::request
-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 77d650e2e9..3c44155401 100644 --- a/platform/node/src/node_map.cpp +++ b/platform/node/src/node_map.cpp @@ -738,7 +738,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); |