@@ -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}
@@ -4356,7 +4356,7 @@ inline napi_value InstanceWrap<T>::InstanceVoidMethodCallbackWrapper(
43564356 callbackInfo.SetData (callbackData->data );
43574357 T* instance = T::Unwrap (callbackInfo.This ().As <Object>());
43584358 auto cb = callbackData->callback ;
4359- (instance->*cb)(callbackInfo);
4359+ if (instance) (instance->*cb)(callbackInfo);
43604360 return nullptr ;
43614361 });
43624362}
@@ -4371,7 +4371,7 @@ inline napi_value InstanceWrap<T>::InstanceMethodCallbackWrapper(
43714371 callbackInfo.SetData (callbackData->data );
43724372 T* instance = T::Unwrap (callbackInfo.This ().As <Object>());
43734373 auto cb = callbackData->callback ;
4374- return (instance->*cb)(callbackInfo);
4374+ return instance ? (instance->*cb)(callbackInfo) : Napi::Value ( );
43754375 });
43764376}
43774377
@@ -4385,7 +4385,7 @@ inline napi_value InstanceWrap<T>::InstanceGetterCallbackWrapper(
43854385 callbackInfo.SetData (callbackData->data );
43864386 T* instance = T::Unwrap (callbackInfo.This ().As <Object>());
43874387 auto cb = callbackData->getterCallback ;
4388- return (instance->*cb)(callbackInfo);
4388+ return instance ? (instance->*cb)(callbackInfo) : Napi::Value ( );
43894389 });
43904390}
43914391
@@ -4399,7 +4399,7 @@ inline napi_value InstanceWrap<T>::InstanceSetterCallbackWrapper(
43994399 callbackInfo.SetData (callbackData->data );
44004400 T* instance = T::Unwrap (callbackInfo.This ().As <Object>());
44014401 auto cb = callbackData->setterCallback ;
4402- (instance->*cb)(callbackInfo, callbackInfo[0 ]);
4402+ if (instance) (instance->*cb)(callbackInfo, callbackInfo[0 ]);
44034403 return nullptr ;
44044404 });
44054405}
@@ -4411,7 +4411,7 @@ inline napi_value InstanceWrap<T>::WrappedMethod(
44114411 return details::WrapCallback ([&] {
44124412 const CallbackInfo cbInfo (env, info);
44134413 T* instance = T::Unwrap (cbInfo.This ().As <Object>());
4414- (instance->*method)(cbInfo, cbInfo[0 ]);
4414+ if (instance) (instance->*method)(cbInfo, cbInfo[0 ]);
44154415 return nullptr ;
44164416 });
44174417}
0 commit comments