@@ -165,7 +165,7 @@ napi_value TemplatedInstanceCallback(napi_env env,
165165 return details::WrapCallback ([&] {
166166 CallbackInfo cbInfo (env, info);
167167 T* instance = T::Unwrap (cbInfo.This ().As <Object>());
168- return (instance->*UnwrapCallback)(cbInfo);
168+ return instance ? (instance->*UnwrapCallback)(cbInfo) : Napi::Value ( );
169169 });
170170}
171171
@@ -175,7 +175,7 @@ napi_value TemplatedInstanceVoidCallback(napi_env env, napi_callback_info info)
175175 return details::WrapCallback ([&] {
176176 CallbackInfo cbInfo (env, info);
177177 T* instance = T::Unwrap (cbInfo.This ().As <Object>());
178- (instance->*UnwrapCallback)(cbInfo);
178+ if (instance) (instance->*UnwrapCallback)(cbInfo);
179179 return nullptr ;
180180 });
181181}
@@ -4340,7 +4340,7 @@ inline napi_value InstanceWrap<T>::InstanceVoidMethodCallbackWrapper(
43404340 callbackInfo.SetData (callbackData->data );
43414341 T* instance = T::Unwrap (callbackInfo.This ().As <Object>());
43424342 auto cb = callbackData->callback ;
4343- (instance->*cb)(callbackInfo);
4343+ if (instance) (instance->*cb)(callbackInfo);
43444344 return nullptr ;
43454345 });
43464346}
@@ -4355,7 +4355,7 @@ inline napi_value InstanceWrap<T>::InstanceMethodCallbackWrapper(
43554355 callbackInfo.SetData (callbackData->data );
43564356 T* instance = T::Unwrap (callbackInfo.This ().As <Object>());
43574357 auto cb = callbackData->callback ;
4358- return (instance->*cb)(callbackInfo);
4358+ return instance ? (instance->*cb)(callbackInfo) : Napi::Value ( );
43594359 });
43604360}
43614361
@@ -4369,7 +4369,7 @@ inline napi_value InstanceWrap<T>::InstanceGetterCallbackWrapper(
43694369 callbackInfo.SetData (callbackData->data );
43704370 T* instance = T::Unwrap (callbackInfo.This ().As <Object>());
43714371 auto cb = callbackData->getterCallback ;
4372- return (instance->*cb)(callbackInfo);
4372+ return instance ? (instance->*cb)(callbackInfo) : Napi::Value ( );
43734373 });
43744374}
43754375
@@ -4383,7 +4383,7 @@ inline napi_value InstanceWrap<T>::InstanceSetterCallbackWrapper(
43834383 callbackInfo.SetData (callbackData->data );
43844384 T* instance = T::Unwrap (callbackInfo.This ().As <Object>());
43854385 auto cb = callbackData->setterCallback ;
4386- (instance->*cb)(callbackInfo, callbackInfo[0 ]);
4386+ if (instance) (instance->*cb)(callbackInfo, callbackInfo[0 ]);
43874387 return nullptr ;
43884388 });
43894389}
@@ -4395,7 +4395,7 @@ inline napi_value InstanceWrap<T>::WrappedMethod(
43954395 return details::WrapCallback ([&] {
43964396 const CallbackInfo cbInfo (env, info);
43974397 T* instance = T::Unwrap (cbInfo.This ().As <Object>());
4398- (instance->*method)(cbInfo, cbInfo[0 ]);
4398+ if (instance) (instance->*method)(cbInfo, cbInfo[0 ]);
43994399 return nullptr ;
44004400 });
44014401}
0 commit comments