diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2011-02-01 23:11:29 +0000 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2011-02-01 23:11:29 +0000 |
commit | 726881c2adbbdc8f722dc1fe0016326daf7e5c44 (patch) | |
tree | 695901db5746b13c1e89e0b147a6b5512f950128 /gtk/scaffolding.c | |
parent | ad69ae092320193424bb341030c8712d3db3fcf7 (diff) | |
download | netsurf-726881c2adbbdc8f722dc1fe0016326daf7e5c44.tar.gz netsurf-726881c2adbbdc8f722dc1fe0016326daf7e5c44.tar.bz2 |
gtk can have *only* a single accelerator group attached or it goes bang
svn path=/trunk/netsurf/; revision=11598
Diffstat (limited to 'gtk/scaffolding.c')
-rw-r--r-- | gtk/scaffolding.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gtk/scaffolding.c b/gtk/scaffolding.c index 573eec70a..2fd865cb5 100644 --- a/gtk/scaffolding.c +++ b/gtk/scaffolding.c @@ -1563,11 +1563,11 @@ static void nsgtk_attach_menu_handlers(struct gtk_scaffolding *g) * \param g scaffoliding to attach popup menu to. * \return true on success or false on error. */ -static bool nsgtk_new_scaffolding_popup(struct gtk_scaffolding *g) +static bool nsgtk_new_scaffolding_popup(struct gtk_scaffolding *g, GtkAccelGroup *group) { struct nsgtk_popup_submenu *nmenu; - nmenu = nsgtk_menu_popup_create(g->window); + nmenu = nsgtk_menu_popup_create(group); if (nmenu == NULL) return false; @@ -1610,6 +1610,7 @@ nsgtk_scaffolding *nsgtk_new_scaffolding(struct gui_window *toplevel) struct gtk_scaffolding *g = malloc(sizeof(*g)); char *searchname; int i; + GtkAccelGroup *group; if (g == NULL) { warn_user("NoMemory", 0); @@ -1677,7 +1678,10 @@ nsgtk_scaffolding *nsgtk_new_scaffolding(struct gui_window *toplevel) nsgtk_toolbar_customization_load(g); nsgtk_toolbar_set_physical(g); - g->menu_bar = nsgtk_menu_bar_create(GTK_MENU_SHELL(glade_xml_get_widget(g->xml, "menubar")), g->window); + group = gtk_accel_group_new(); + gtk_window_add_accel_group(g->window, group); + + g->menu_bar = nsgtk_menu_bar_create(GTK_MENU_SHELL(glade_xml_get_widget(g->xml, "menubar")), group); g->preferences_dialog = NULL; @@ -1848,7 +1852,7 @@ nsgtk_scaffolding *nsgtk_new_scaffolding(struct gui_window *toplevel) nsgtk_window_tool_bar_clicked, g); /* create popup menu */ - nsgtk_new_scaffolding_popup(g); + nsgtk_new_scaffolding_popup(g, group); /* set up the menu signal handlers */ nsgtk_scaffolding_toolbar_init(g); |