Fix titles of submenus in application menu.

This commit is contained in:
Cheng Zhao 2013-05-16 14:39:12 +08:00
parent 937b811c8d
commit 995b9dacc9
2 changed files with 16 additions and 0 deletions

View file

@ -61,6 +61,16 @@ void MenuMac::Popup(NativeWindow* native_window) {
}
}
// static
void MenuMac::FixMenuTitles(NSMenu* menu) {
int size = [menu numberOfItems];
for (int i = 0; i < size; ++i) {
NSMenuItem* item = [menu itemAtIndex:i];
if ([item hasSubmenu])
[[item submenu] setTitle:[item title]];
}
}
// static
v8::Handle<v8::Value> Menu::SetApplicationMenu(const v8::Arguments &args) {
v8::HandleScope scope;
@ -75,6 +85,7 @@ v8::Handle<v8::Value> Menu::SetApplicationMenu(const v8::Arguments &args) {
scoped_nsobject<MenuController> menu_controller(
[[MenuController alloc] initWithModel:menu->model_.get()
useWithPopUpButtonCell:NO]);
MenuMac::FixMenuTitles([menu_controller menu]);
[NSApp setMainMenu:[menu_controller menu]];
// Ensure the menu_controller_ is destroyed after main menu is set.