diff --git a/src/node_file_source.cpp b/src/node_file_source.cpp index acf96bf12..298c30c0b 100644 --- a/src/node_file_source.cpp +++ b/src/node_file_source.cpp @@ -97,14 +97,14 @@ void NodeFileSource::processAdd(mbgl::Request *req) { } auto handle = NanObjectWrapHandle(this); - auto requestHandle = NanNew(NodeRequest::Create(handle, request)); -#if UV_VERSION_MAJOR == 0 && UV_VERSION_MINOR <= 10 + auto requestHandle = NanNew(NodeRequest::Create(handle, req)); +#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) + const v8::UniquePersistent requestPersistent(v8::Isolate::GetCurrent(), requestHandle); +#else v8::Persistent requestPersistent; NanAssignPersistent(requestPersistent, requestHandle); -#else - const v8::UniquePersistent requestPersistent(v8::Isolate::GetCurrent(), requestHandle); #endif - pending.emplace(request, std::move(requestPersistent)); + pending.emplace(req, std::move(requestPersistent)); v8::Local argv[] = { requestHandle }; NanMakeCallback(handle, NanNew("request"), 1, argv); @@ -118,17 +118,17 @@ void NodeFileSource::processCancel(mbgl::Request *req) { // The response callback was already fired. There is no point in calling the cancelation // callback because the request is already completed. } else { -#if UV_VERSION_MAJOR == 0 && UV_VERSION_MINOR <= 10 - auto requestHandle = NanNew(it->second); -#else +#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) auto requestHandle = v8::Local::New(v8::Isolate::GetCurrent(), it->second); +#else + auto requestHandle = NanNew(it->second); #endif // Dispose and remove the persistent handle -#if UV_VERSION_MAJOR == 0 && UV_VERSION_MINOR <= 10 - NanDisposePersistent(it->second); -#else +#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) // it->second.Reset(); +#else + NanDisposePersistent(it->second); #endif pending.erase(it); @@ -155,10 +155,10 @@ void NodeFileSource::notify(mbgl::Request *req, const std::shared_ptrsecond); -#else +#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) // it->second.Dispose(); +#else + NanDisposePersistent(it->second); #endif pending.erase(it); diff --git a/src/node_file_source.hpp b/src/node_file_source.hpp index c0dbe58d2..49ff27e14 100644 --- a/src/node_file_source.hpp +++ b/src/node_file_source.hpp @@ -6,6 +6,7 @@ #pragma GCC diagnostic ignored "-Wunused-parameter" #pragma GCC diagnostic ignored "-Wshadow" #include +#include #include #pragma GCC diagnostic pop @@ -46,10 +47,10 @@ private: void processCancel(mbgl::Request*); private: -#if UV_VERSION_MAJOR == 0 && UV_VERSION_MINOR <= 10 - std::map> pending; -#else +#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) std::map &> pending; +#else + std::map> pending; #endif Queue *queue = nullptr; };