@@ -280,14 +280,7 @@ class thread_safe_js_function {
280280 /* maxQueueSize=*/ 0 ,
281281 /* initialThreadCount=*/ 1 ,
282282 /* context=*/ this ->create_weak_reference (env, object),
283- /* finalizeCallback=*/
284- [](Napi::Env env, [[maybe_unused]] void * data,
285- void * context) -> void {
286- // See NOTE[workspace-cleanup].
287- ::napi_status status = ::napi_delete_reference (
288- env, reinterpret_cast <::napi_ref>(context));
289- QLJS_ASSERT (status == ::napi_ok);
290- },
283+ /* finalizeCallback=*/ finalize_weak_reference,
291284 /* data=*/ static_cast <void *>(nullptr ))) {}
292285
293286 // Like ::Napi::TypedThreadSafeFunction::BlockingCall.
@@ -309,6 +302,15 @@ class thread_safe_js_function {
309302 return result;
310303 }
311304
305+ static void finalize_weak_reference (::Napi::Env env,
306+ [[maybe_unused]] void * data,
307+ void * context) {
308+ // See NOTE[workspace-cleanup].
309+ ::napi_status status =
310+ ::napi_delete_reference (env, reinterpret_cast <::napi_ref>(context));
311+ QLJS_ASSERT (status == ::napi_ok);
312+ }
313+
312314 static void call_func (::Napi::Env env, ::Napi::Function, void * context,
313315 [[maybe_unused]] void * data) {
314316 if (!env) {
@@ -627,7 +629,7 @@ class qljs_workspace : public ::Napi::ObjectWrap<qljs_workspace> {
627629 env, message, {" Open config" },
628630 [this , self = ::Napi::Persistent (this ->Value ()),
629631 config_file_path](
630- ::Napi::Env env ,
632+ ::Napi::Env callback_env ,
631633 ::Napi::Value clicked_button_label) -> void {
632634 bool popup_dismissed = clicked_button_label.IsUndefined ();
633635 if (popup_dismissed) {
@@ -637,7 +639,7 @@ class qljs_workspace : public ::Napi::ObjectWrap<qljs_workspace> {
637639 clicked_button_label.As <::Napi::String>().Utf8Value ();
638640 QLJS_ASSERT (clicked_button_label_string == " Open config" );
639641 this ->vscode_ .open_and_show_text_document_by_path (
640- env , config_file_path);
642+ callback_env , config_file_path);
641643 });
642644 }
643645 doc->config_ = &loaded_config->config ;
0 commit comments