Index: trunk/src/actions.c =================================================================== --- trunk/src/actions.c (revision 28032) +++ trunk/src/actions.c (revision 28033) @@ -246,7 +246,7 @@ } } -int pcb_action(const char *name) +int pcb_action(pcb_hidlib_t *hl, const char *name) { return pcb_actionv(name, 0, 0); } Index: trunk/src/actions.h =================================================================== --- trunk/src/actions.h (revision 28032) +++ trunk/src/actions.h (revision 28033) @@ -75,7 +75,7 @@ void pcb_remove_actions(const pcb_action_t *a, int n); void pcb_remove_actions_by_cookie(const char *cookie); -int pcb_action(const char *action_); +int pcb_action(pcb_hidlib_t *hl, const char *action_); int pcb_actionva(const char *action_, ...); /* NULL terminated */ int pcb_actionv(const char *action_, int argc_, const char **argv_); fgw_error_t pcb_actionv_(const fgw_func_t *f, fgw_arg_t *res, int argc, fgw_arg_t *argv); Index: trunk/src_plugins/dialogs/dlg_loadsave.c =================================================================== --- trunk/src_plugins/dialogs/dlg_loadsave.c (revision 28032) +++ trunk/src_plugins/dialogs/dlg_loadsave.c (revision 28033) @@ -639,7 +639,7 @@ free(name); lock = 1; - rv = pcb_action("Import"); + rv = pcb_action(&PCB->hidlib, "Import"); lock = 0; } Index: trunk/src_plugins/hid_lesstif/main.c =================================================================== --- trunk/src_plugins/hid_lesstif/main.c (revision 28032) +++ trunk/src_plugins/hid_lesstif/main.c (revision 28033) @@ -1600,7 +1600,7 @@ static void mainwind_delete_cb() { - pcb_action("Quit"); + pcb_action(ltf_hidlib, "Quit"); } static void lesstif_listener_cb(XtPointer client_data, int *fid, XtInputId * id) Index: trunk/src_plugins/import_sch/import_sch.c =================================================================== --- trunk/src_plugins/import_sch/import_sch.c (revision 28032) +++ trunk/src_plugins/import_sch/import_sch.c (revision 28033) @@ -195,7 +195,7 @@ char *dot, *slash, *bslash; if (!pcbname) { - PCB_ACT_IRES(pcb_action("ImportGUI")); + PCB_ACT_IRES(pcb_action(&PCB->hidlib, "ImportGUI")); return 0; } @@ -213,7 +213,7 @@ strcat(schname, ".sch"); if (pcb_file_readable(schname)) { - PCB_ACT_IRES(pcb_action("ImportGUI")); + PCB_ACT_IRES(pcb_action(&PCB->hidlib, "ImportGUI")); return 0; } Index: trunk/src_plugins/io_pcb/file.c =================================================================== --- trunk/src_plugins/io_pcb/file.c (revision 28032) +++ trunk/src_plugins/io_pcb/file.c (revision 28033) @@ -1008,7 +1008,7 @@ pcb_layer_add_in_group_(pcb, &pcb->LayerGroups.grp[gid], gid, lid); } -/* pcb_action("dumplayers");*/ +/* pcb_action(&pcb->hidlib, "dumplayers");*/ return 0; } Index: trunk/src_plugins/lib_gtk_common/dlg_topwin.c =================================================================== --- trunk/src_plugins/lib_gtk_common/dlg_topwin.c (revision 28032) +++ trunk/src_plugins/lib_gtk_common/dlg_topwin.c (revision 28033) @@ -198,8 +198,10 @@ /*** Top window ***/ static gint delete_chart_cb(GtkWidget *widget, GdkEvent *event, void *data) { - pcb_action("Quit"); + pcb_gtk_t *gctx = data; + pcb_action(gctx->hidlib, "Quit"); + /* Return TRUE to keep our app running. A FALSE here would let the delete signal continue on and kill our program. */ return TRUE; @@ -513,7 +515,7 @@ g_signal_connect(G_OBJECT(tw->drawing_area), "enter-notify-event", G_CALLBACK(drawing_area_enter_cb), tw); g_signal_connect(G_OBJECT(ghidgui->wtop_window), "configure_event", G_CALLBACK(top_window_configure_event_cb), tw); - g_signal_connect(G_OBJECT(ghidgui->wtop_window), "delete_event", G_CALLBACK(delete_chart_cb), ghidgui->impl.gport); + g_signal_connect(G_OBJECT(ghidgui->wtop_window), "delete_event", G_CALLBACK(delete_chart_cb), ctx); g_signal_connect(G_OBJECT(ghidgui->wtop_window), "destroy", G_CALLBACK(destroy_chart_cb), ctx); gtk_widget_show_all(ghidgui->wtop_window);