mirror of
https://github.com/electron/electron.git
synced 2026-01-25 07:18:18 -05:00
Don't destroy menu delegate until OnMenuClosed fires
This commit is contained in:
committed by
Aleksei Kuzmin
parent
ad33e569d6
commit
9945fc5148
@@ -153,8 +153,9 @@ void MenuBar::OnMenuButtonClicked(views::MenuButton* source,
|
||||
return;
|
||||
}
|
||||
|
||||
MenuDelegate menu_delegate(this);
|
||||
menu_delegate.RunMenu(menu_model_->GetSubmenuModelAt(id), source);
|
||||
// Deleted in MenuDelegate::OnMenuClosed
|
||||
MenuDelegate* menu_delegate = new MenuDelegate(this);
|
||||
menu_delegate->RunMenu(menu_model_->GetSubmenuModelAt(id), source);
|
||||
}
|
||||
|
||||
void MenuBar::OnNativeThemeChanged(const ui::NativeTheme* theme) {
|
||||
|
||||
@@ -95,6 +95,11 @@ void MenuDelegate::WillHideMenu(views::MenuItemView* menu) {
|
||||
adapter_->WillHideMenu(menu);
|
||||
}
|
||||
|
||||
void MenuDelegate::OnMenuClosed(views::MenuItemView* menu,
|
||||
views::MenuRunner::RunResult result) {
|
||||
delete this;
|
||||
}
|
||||
|
||||
views::MenuItemView* MenuDelegate::GetSiblingMenu(
|
||||
views::MenuItemView* menu,
|
||||
const gfx::Point& screen_point,
|
||||
|
||||
@@ -40,6 +40,8 @@ class MenuDelegate : public views::MenuDelegate {
|
||||
void SelectionChanged(views::MenuItemView* menu) override;
|
||||
void WillShowMenu(views::MenuItemView* menu) override;
|
||||
void WillHideMenu(views::MenuItemView* menu) override;
|
||||
void OnMenuClosed(views::MenuItemView* menu,
|
||||
views::MenuRunner::RunResult result) override;
|
||||
views::MenuItemView* GetSiblingMenu(
|
||||
views::MenuItemView* menu,
|
||||
const gfx::Point& screen_point,
|
||||
|
||||
Reference in New Issue
Block a user