Browse Source

src: fix deprecated SetWeak usage in base-object

PR-URL: https://github.com/nodejs/node/pull/5204
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
process-exit-stdio-flushing
Ali Ijaz Sheikh 9 years ago
committed by Ali Sheikh
parent
commit
a45e1f9f98
  1. 5
      src/base-object-inl.h
  2. 2
      src/base-object.h

5
src/base-object-inl.h

@ -39,7 +39,7 @@ inline Environment* BaseObject::env() const {
template <typename Type> template <typename Type>
inline void BaseObject::WeakCallback( inline void BaseObject::WeakCallback(
const v8::WeakCallbackData<v8::Object, Type>& data) { const v8::WeakCallbackInfo<Type>& data) {
Type* self = data.GetParameter(); Type* self = data.GetParameter();
self->persistent().Reset(); self->persistent().Reset();
delete self; delete self;
@ -53,7 +53,8 @@ inline void BaseObject::MakeWeak(Type* ptr) {
CHECK_GT(handle->InternalFieldCount(), 0); CHECK_GT(handle->InternalFieldCount(), 0);
Wrap(handle, ptr); Wrap(handle, ptr);
handle_.MarkIndependent(); handle_.MarkIndependent();
handle_.SetWeak<Type>(ptr, WeakCallback<Type>); handle_.SetWeak<Type>(ptr, WeakCallback<Type>,
v8::WeakCallbackType::kParameter);
} }

2
src/base-object.h

@ -40,7 +40,7 @@ class BaseObject {
template <typename Type> template <typename Type>
static inline void WeakCallback( static inline void WeakCallback(
const v8::WeakCallbackData<v8::Object, Type>& data); const v8::WeakCallbackInfo<Type>& data);
v8::Persistent<v8::Object> handle_; v8::Persistent<v8::Object> handle_;
Environment* env_; Environment* env_;

Loading…
Cancel
Save