@@ -1064,6 +1064,7 @@ int32 AddMenuItem(CefRefPtr<CefBrowser> browser, ExtensionString parentCommand,
10641064
10651065 ExtensionString commandId = model.getCommandId (tag);
10661066 model.setOsItem (tag, entry);
1067+ model.setKey (tag, key);
10671068 ParseShortcut (browser, entry, key, commandId);
10681069 GtkWidget* menuHeader = (GtkWidget*) model.getOsItem (parentTag);
10691070 GtkWidget* menuWidget = gtk_menu_item_get_submenu (GTK_MENU_ITEM (menuHeader));
@@ -1140,13 +1141,16 @@ int32 SetMenuItemState(CefRefPtr<CefBrowser> browser, ExtensionString command, b
11401141 if (checked == true ) {
11411142 newMenuItem = gtk_check_menu_item_new_with_label (label);
11421143 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (newMenuItem), true );
1143- } else if (checked == false ) {
1144+ } else {
11441145 newMenuItem = gtk_menu_item_new_with_label (label);
11451146 }
11461147 gtk_widget_destroy (menuItem);
11471148
11481149 InstallMenuHandler (newMenuItem, browser, tag);
1150+
11491151 model.setOsItem (tag, newMenuItem);
1152+ ExtensionString key = model.getKey (tag);
1153+ ParseShortcut (browser, newMenuItem, key, command);
11501154 gtk_menu_shell_insert (GTK_MENU_SHELL (parent), newMenuItem, position);
11511155 gtk_widget_set_sensitive (newMenuItem, enabled);
11521156 gtk_widget_show (newMenuItem);
@@ -1191,13 +1195,15 @@ int32 GetMenuTitle(CefRefPtr<CefBrowser> browser, ExtensionString commandId, Ext
11911195
11921196int32 SetMenuItemShortcut (CefRefPtr<CefBrowser> browser, ExtensionString commandId, ExtensionString shortcut, ExtensionString displayStr)
11931197{
1194- NativeMenuModel model = NativeMenuModel::getInstance (getMenuParent (browser));
1195- int32 tag = model.getTag (commandId);
1198+ NativeMenuModel& model = NativeMenuModel::getInstance (getMenuParent (browser));
1199+ int tag = model.getTag (commandId);
11961200 if (tag == kTagNotFound ) {
11971201 return ERR_NOT_FOUND;
11981202 }
11991203 GtkWidget* entry = (GtkWidget*) model.getOsItem (tag);
1204+ model.setKey (tag, shortcut);
12001205 ParseShortcut (browser, entry, shortcut, commandId);
1206+
12011207 return NO_ERROR;
12021208}
12031209
@@ -1396,5 +1402,3 @@ std::string GetSystemUniqueID()
13961402
13971403 return buf;
13981404}
1399-
1400-
0 commit comments