Do not free memory used by native window immediately.

Otherwise we would have two ways to destroy a window, making code much
more complicated.
This commit is contained in:
Cheng Zhao 2014-04-23 09:53:38 +08:00
parent db39910455
commit 8417f158b4
2 changed files with 19 additions and 15 deletions

View file

@ -97,13 +97,7 @@ void Window::WillCloseWindow(bool* prevent_default) {
void Window::OnWindowClosed() {
Emit("closed");
if (window_) {
window_->RemoveObserver(this);
// Free memory when native window is closed, the delete is delayed so other
// observers would not get a invalid pointer of NativeWindow.
base::MessageLoop::current()->DeleteSoon(FROM_HERE, window_.release());
}
window_->RemoveObserver(this);
}
void Window::OnWindowBlur() {