Index: trunk/src/hid.h =================================================================== --- trunk/src/hid.h (revision 26799) +++ trunk/src/hid.h (revision 26800) @@ -530,11 +530,11 @@ /*** misc GUI ***/ /* Open the command line */ - void (*open_command)(void); + void (*open_command)(pcb_hid_t *hid); /* Open a popup menu addressed by full menu path (starting with "/popups/"). Return 0 on success. */ - int (*open_popup)(const char *menupath); + int (*open_popup)(pcb_hid_t *hid, const char *menupath); /* optional: called by core when the global hidlib context changes (e.g. board changed) */ Index: trunk/src_plugins/ddraft/ddraft.c =================================================================== --- trunk/src_plugins/ddraft/ddraft.c (revision 26799) +++ trunk/src_plugins/ddraft/ddraft.c (revision 26800) @@ -457,7 +457,7 @@ if (!ddraft_tool_selected) { ddraft_tool_selected = 1; pcb_cli_enter("ddraft", "ddraft"); - pcb_gui->open_command(); + pcb_gui->open_command(pcb_gui); } } else if (ddraft_tool_selected) { Index: trunk/src_plugins/hid_batch/batch.c =================================================================== --- trunk/src_plugins/hid_batch/batch.c (revision 26799) +++ trunk/src_plugins/hid_batch/batch.c (revision 26800) @@ -307,12 +307,12 @@ viewbox->Y2 = hidlib->size_y; } -static void batch_open_command(void) +static void batch_open_command(pcb_hid_t *hid) { } -static int batch_open_popup(const char *menupath) +static int batch_open_popup(pcb_hid_t *hid, const char *menupath) { return 1; } Index: trunk/src_plugins/hid_lesstif/main.c =================================================================== --- trunk/src_plugins/hid_lesstif/main.c (revision 26799) +++ trunk/src_plugins/hid_lesstif/main.c (revision 26800) @@ -2988,7 +2988,7 @@ viewbox->Y2 = pcb_round(view_top_y + view_height * view_zoom); } -static void ltf_open_command(void) +static void ltf_open_command(pcb_hid_t *hid) { pcb_clihist_init(); pcb_clihist_reset(); @@ -3018,7 +3018,7 @@ int lesstif_remove_menu(pcb_hid_t *hid, const char *menu); int lesstif_remove_menu_node(pcb_hid_t *hid, lht_node_t *node); pcb_hid_cfg_t *lesstif_get_menu_cfg(pcb_hid_t *hid); -int ltf_open_popup(const char *menupath); +int ltf_open_popup(pcb_hid_t *hid, const char *menupath); int pplg_check_ver_hid_lesstif(int version_we_need) { return 0; } Index: trunk/src_plugins/hid_lesstif/menu.c =================================================================== --- trunk/src_plugins/hid_lesstif/menu.c (revision 26799) +++ trunk/src_plugins/hid_lesstif/menu.c (revision 26800) @@ -616,7 +616,7 @@ return mb; } -int ltf_open_popup(const char *menupath) +int ltf_open_popup(pcb_hid_t *hid, const char *menupath) { menu_data_t *md; lht_node_t *menu_node = pcb_hid_cfg_get_menu(lesstif_cfg, menupath); Index: trunk/src_plugins/lib_gtk_common/glue_hid.c =================================================================== --- trunk/src_plugins/lib_gtk_common/glue_hid.c (revision 26799) +++ trunk/src_plugins/lib_gtk_common/glue_hid.c (revision 26800) @@ -476,12 +476,12 @@ viewbox->Y2 = pcb_round((double)ghidgui->port.view.y0 + (double)ghidgui->port.view.canvas_height * ghidgui->port.view.coord_per_px); } -static void ghid_open_command(void) +static void ghid_open_command(pcb_hid_t *hid) { ghid_handle_user_command(&ghidgui->topwin.cmd, TRUE); } -static int ghid_open_popup(const char *menupath) +static int ghid_open_popup(pcb_hid_t *hid, const char *menupath) { GtkWidget *menu = NULL; lht_node_t *menu_node = pcb_hid_cfg_get_menu(ghidgui->topwin.ghid_cfg, menupath); Index: trunk/src_plugins/lib_hid_pcbui/act.c =================================================================== --- trunk/src_plugins/lib_hid_pcbui/act.c (revision 26799) +++ trunk/src_plugins/lib_hid_pcbui/act.c (revision 26800) @@ -311,7 +311,7 @@ fgw_error_t pcb_act_Command(fgw_arg_t *res, int argc, fgw_arg_t *argv) { NOGUI(); - pcb_gui->open_command(); + pcb_gui->open_command(pcb_gui); PCB_ACT_IRES(0); return 0; } @@ -373,9 +373,9 @@ } if (*name != '\0') - r = pcb_gui->open_popup(name); + r = pcb_gui->open_popup(pcb_gui, name); if ((r != 0) && (*name2 != '\0')) - r = pcb_gui->open_popup(name2); + r = pcb_gui->open_popup(pcb_gui, name2); PCB_ACT_IRES(r); return 0;