From f1153765952e565a10ce0a0aa4ba5d49d0282c61 Mon Sep 17 00:00:00 2001 From: Jeremy Apthorp Date: Mon, 14 Jan 2019 11:30:08 -0800 Subject: [PATCH] fix: remove pretarget handler before window destruction --- atom/browser/native_window_views.cc | 8 ++++++++ atom/browser/native_window_views.h | 1 + 2 files changed, 9 insertions(+) diff --git a/atom/browser/native_window_views.cc b/atom/browser/native_window_views.cc index c774b9b459eb..6e75cbfe4063 100644 --- a/atom/browser/native_window_views.cc +++ b/atom/browser/native_window_views.cc @@ -1216,6 +1216,14 @@ void NativeWindowViews::OnWidgetBoundsChanged(views::Widget* changed_widget, } } +void NativeWindowViews::OnWidgetDestroying(views::Widget* widget) { +#if defined(OS_LINUX) + aura::Window* window = GetNativeWindow(); + if (window) + window->RemovePreTargetHandler(this); +#endif +} + void NativeWindowViews::DeleteDelegate() { if (is_modal() && this->parent()) { auto* parent = this->parent(); diff --git a/atom/browser/native_window_views.h b/atom/browser/native_window_views.h index 2d4ab3ec1921..fa207e63149d 100644 --- a/atom/browser/native_window_views.h +++ b/atom/browser/native_window_views.h @@ -161,6 +161,7 @@ class NativeWindowViews : public NativeWindow, void AutoresizeBrowserView(int width_delta, int height_delta, NativeBrowserView* browser_view); + void OnWidgetDestroying(views::Widget* widget) override; // views::WidgetDelegate: void DeleteDelegate() override; views::View* GetInitiallyFocusedView() override;