mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
Destroy the native window in next tick
It fixes a possible crash when native code is iterating all windows while the JavaScript code decides to destroy a window.
This commit is contained in:
@@ -159,6 +159,10 @@ Window::Window(v8::Isolate* isolate, const mate::Dictionary& options) {
|
||||
Window::~Window() {
|
||||
if (!window_->IsClosed())
|
||||
window_->CloseContents(nullptr);
|
||||
|
||||
// Destroy the native window in next tick because the native code might be
|
||||
// iterating all windows.
|
||||
base::MessageLoop::current()->DeleteSoon(FROM_HERE, window_.release());
|
||||
}
|
||||
|
||||
void Window::WillCloseWindow(bool* prevent_default) {
|
||||
|
||||
Reference in New Issue
Block a user