diff options
author | Artem Pavlenko <artem@mapnik.org> | 2019-11-13 16:28:41 +0000 |
---|---|---|
committer | Artem Pavlenko <artem@mapnik.org> | 2019-11-13 16:28:41 +0000 |
commit | 8dfa3b530143ed88d5d2ec7a3c1cd2e0e3a66f09 (patch) | |
tree | b42fc04a42e7757fe00fce0addbf560c4ec99415 | |
parent | 6d0ffe5852f907b84432fafd60561484900cfa54 (diff) | |
download | qtlocation-mapboxgl-8dfa3b530143ed88d5d2ec7a3c1cd2e0e3a66f09.tar.gz |
Bring back original pattern of calling get() and release() after NewBuffer ctor (ref #15915)
-rw-r--r-- | platform/node/src/node_map.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/platform/node/src/node_map.cpp b/platform/node/src/node_map.cpp index 531f3d7703..cb78047b6c 100644 --- a/platform/node/src/node_map.cpp +++ b/platform/node/src/node_map.cpp @@ -541,11 +541,14 @@ void NodeMap::renderFinished() { } else if (img.data) { auto image_size = img.bytes(); v8::Local<v8::Object> pixels = Nan::NewBuffer( - reinterpret_cast<char*>(img.data.release()), + reinterpret_cast<char*>(img.data.get()), image_size, [](char* buf, void*) { delete[] buf; }, nullptr) .ToLocalChecked(); + if (!pixels.IsEmpty()) { + img.data.release(); + } Nan::AdjustExternalMemory(image_size); v8::Local<v8::Value> argv[] = { Nan::Null(), |