return loaded;
}
-static void client_dest(ObClient *c)
+static void client_dest(gpointer client)
{
/* menus can be associated with a client, so close any that are since
we are disappearing now */
- menu_frame_hide_all_client(c);
+ menu_frame_hide_all_client(client);
}
-void menu_startup()
+void menu_startup(gboolean reconfig)
{
xmlDocPtr doc;
xmlNodePtr node;
}
}
if (!loaded) {
- if (menu_open("menu", &doc, &node)) {
+ if (menu_open("menu.xml", &doc, &node)) {
parse_tree(menu_parse_inst, doc, node->xmlChildrenNode);
xmlFreeDoc(doc);
}
g_assert(menu_parse_state.menus == NULL);
- client_add_destructor(client_dest);
+ if (!reconfig)
+ client_add_destructor(client_dest);
}
-void menu_shutdown()
+void menu_shutdown(gboolean reconfig)
{
- client_remove_destructor(client_dest);
+ if (!reconfig)
+ client_remove_destructor(client_dest);
parse_shutdown(menu_parse_inst);
menu_parse_inst = NULL;