@@ -165,7 +165,7 @@ napi_value TemplatedInstanceCallback(napi_env env,
165
165
return details::WrapCallback ([&] {
166
166
CallbackInfo cbInfo (env, info);
167
167
T* instance = T::Unwrap (cbInfo.This ().As <Object>());
168
- return (instance->*UnwrapCallback)(cbInfo);
168
+ return instance ? (instance->*UnwrapCallback)(cbInfo) : Napi::Value ( );
169
169
});
170
170
}
171
171
@@ -175,7 +175,7 @@ napi_value TemplatedInstanceVoidCallback(napi_env env, napi_callback_info info)
175
175
return details::WrapCallback ([&] {
176
176
CallbackInfo cbInfo (env, info);
177
177
T* instance = T::Unwrap (cbInfo.This ().As <Object>());
178
- (instance->*UnwrapCallback)(cbInfo);
178
+ if (instance) (instance->*UnwrapCallback)(cbInfo);
179
179
return nullptr ;
180
180
});
181
181
}
@@ -4356,7 +4356,7 @@ inline napi_value InstanceWrap<T>::InstanceVoidMethodCallbackWrapper(
4356
4356
callbackInfo.SetData (callbackData->data );
4357
4357
T* instance = T::Unwrap (callbackInfo.This ().As <Object>());
4358
4358
auto cb = callbackData->callback ;
4359
- (instance->*cb)(callbackInfo);
4359
+ if (instance) (instance->*cb)(callbackInfo);
4360
4360
return nullptr ;
4361
4361
});
4362
4362
}
@@ -4371,7 +4371,7 @@ inline napi_value InstanceWrap<T>::InstanceMethodCallbackWrapper(
4371
4371
callbackInfo.SetData (callbackData->data );
4372
4372
T* instance = T::Unwrap (callbackInfo.This ().As <Object>());
4373
4373
auto cb = callbackData->callback ;
4374
- return (instance->*cb)(callbackInfo);
4374
+ return instance ? (instance->*cb)(callbackInfo) : Napi::Value ( );
4375
4375
});
4376
4376
}
4377
4377
@@ -4385,7 +4385,7 @@ inline napi_value InstanceWrap<T>::InstanceGetterCallbackWrapper(
4385
4385
callbackInfo.SetData (callbackData->data );
4386
4386
T* instance = T::Unwrap (callbackInfo.This ().As <Object>());
4387
4387
auto cb = callbackData->getterCallback ;
4388
- return (instance->*cb)(callbackInfo);
4388
+ return instance ? (instance->*cb)(callbackInfo) : Napi::Value ( );
4389
4389
});
4390
4390
}
4391
4391
@@ -4399,7 +4399,7 @@ inline napi_value InstanceWrap<T>::InstanceSetterCallbackWrapper(
4399
4399
callbackInfo.SetData (callbackData->data );
4400
4400
T* instance = T::Unwrap (callbackInfo.This ().As <Object>());
4401
4401
auto cb = callbackData->setterCallback ;
4402
- (instance->*cb)(callbackInfo, callbackInfo[0 ]);
4402
+ if (instance) (instance->*cb)(callbackInfo, callbackInfo[0 ]);
4403
4403
return nullptr ;
4404
4404
});
4405
4405
}
@@ -4411,7 +4411,7 @@ inline napi_value InstanceWrap<T>::WrappedMethod(
4411
4411
return details::WrapCallback ([&] {
4412
4412
const CallbackInfo cbInfo (env, info);
4413
4413
T* instance = T::Unwrap (cbInfo.This ().As <Object>());
4414
- (instance->*method)(cbInfo, cbInfo[0 ]);
4414
+ if (instance) (instance->*method)(cbInfo, cbInfo[0 ]);
4415
4415
return nullptr ;
4416
4416
});
4417
4417
}
0 commit comments