From 64e03b0fed3c50d2ce30c49a9d0ef7a7dad10a74 Mon Sep 17 00:00:00 2001 From: Nitish Sakhawalkar Date: Tue, 6 Nov 2018 12:27:29 -0800 Subject: [PATCH 1/2] fix: Linux empty menu model handling --- atom/browser/native_window_views.cc | 1 - atom/browser/ui/views/root_view.cc | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/atom/browser/native_window_views.cc b/atom/browser/native_window_views.cc index 42537e0ef39cf..5f6b1f0ab09c9 100644 --- a/atom/browser/native_window_views.cc +++ b/atom/browser/native_window_views.cc @@ -894,7 +894,6 @@ void NativeWindowViews::SetMenu(AtomMenuModel* menu_model) { if (menu_model == nullptr) { global_menu_bar_.reset(); root_view_->UnregisterAcceleratorsWithFocusManager(); - return; } if (!global_menu_bar_ && ShouldUseGlobalMenuBar()) diff --git a/atom/browser/ui/views/root_view.cc b/atom/browser/ui/views/root_view.cc index b7aedfbb9034a..eb9139a4bb868 100644 --- a/atom/browser/ui/views/root_view.cc +++ b/atom/browser/ui/views/root_view.cc @@ -180,7 +180,8 @@ bool RootView::AcceleratorPressed(const ui::Accelerator& accelerator) { void RootView::RegisterAcceleratorsWithFocusManager(AtomMenuModel* menu_model) { // Clear previous accelerators. UnregisterAcceleratorsWithFocusManager(); - + if (!menu_model) + return; views::FocusManager* focus_manager = GetFocusManager(); // Register accelerators with focus manager. accelerator_util::GenerateAcceleratorTable(&accelerator_table_, menu_model); From a4ab41be7e1b2c85dc66b14a383082d7d8025a14 Mon Sep 17 00:00:00 2001 From: Nitish Sakhawalkar Date: Tue, 6 Nov 2018 14:20:12 -0800 Subject: [PATCH 2/2] Update root_view.cc --- atom/browser/ui/views/root_view.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/atom/browser/ui/views/root_view.cc b/atom/browser/ui/views/root_view.cc index eb9139a4bb868..d9bafcf7b2d48 100644 --- a/atom/browser/ui/views/root_view.cc +++ b/atom/browser/ui/views/root_view.cc @@ -178,10 +178,10 @@ bool RootView::AcceleratorPressed(const ui::Accelerator& accelerator) { } void RootView::RegisterAcceleratorsWithFocusManager(AtomMenuModel* menu_model) { - // Clear previous accelerators. - UnregisterAcceleratorsWithFocusManager(); if (!menu_model) return; + // Clear previous accelerators. + UnregisterAcceleratorsWithFocusManager(); views::FocusManager* focus_manager = GetFocusManager(); // Register accelerators with focus manager. accelerator_util::GenerateAcceleratorTable(&accelerator_table_, menu_model);