fix: destroy node platform after destroying wrappers (#22535)

Co-authored-by: Cheng Zhao <zcbenz@electronjs.org>
This commit is contained in:
Cheng Zhao
2020-03-05 13:07:48 +09:00
committed by GitHub
parent c1c1ac2b2e
commit 9ec73a3dcf

View File

@@ -517,9 +517,6 @@ void ElectronBrowserMainParts::PostMainMessageLoopRun() {
ui::SetX11ErrorHandlers(X11EmptyErrorHandler, X11EmptyIOErrorHandler);
#endif
node_debugger_->Stop();
js_env_->OnMessageLoopDestroying();
#if defined(OS_MACOSX)
FreeAppDelegate();
#endif
@@ -536,6 +533,11 @@ void ElectronBrowserMainParts::PostMainMessageLoopRun() {
++iter;
}
// Destroy node platform after all destructors_ are executed, as they may
// invoke Node/V8 APIs inside them.
node_debugger_->Stop();
js_env_->OnMessageLoopDestroying();
fake_browser_process_->PostMainMessageLoopRun();
}