Index: trunk/src/event.c =================================================================== --- trunk/src/event.c (revision 25192) +++ trunk/src/event.c (revision 25193) @@ -230,7 +230,7 @@ } for (e = events[ev]; e != NULL; e = e->next) - e->handler(e->user_data, argc, argv); + e->handler(hidlib, e->user_data, argc, argv); fgw_call_all(&pcb_fgw, pcb_fgw_evnames[ev], argc, fargv); } Index: trunk/src/event.h =================================================================== --- trunk/src/event.h (revision 25192) +++ trunk/src/event.h (revision 25193) @@ -120,7 +120,7 @@ /* Event callback prototype; user_data is the same as in pcb_event_bind(). argv[0] is always an PCB_EVARG_INT with the event id that triggered the event. */ -typedef void (pcb_event_handler_t)(void *user_data, int argc, pcb_event_arg_t argv[]); +typedef void (pcb_event_handler_t)(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); /* Bind: add a handler to the call-list of an event; the cookie is also remembered so that mass-unbind is easier later. user_data is passed to the handler. */ Index: trunk/src/hid_dlg.c =================================================================== --- trunk/src/hid_dlg.c (revision 25192) +++ trunk/src/hid_dlg.c (revision 25193) @@ -277,7 +277,7 @@ static const char *event_dlg_cookie = "hid_dlg"; -static void hid_dlg_log_gui_init_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +static void hid_dlg_log_gui_init_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { hid_dlg_gui_inited = 1; } Index: trunk/src/layer_vis.c =================================================================== --- trunk/src/layer_vis.c (revision 25192) +++ trunk/src/layer_vis.c (revision 25193) @@ -266,7 +266,7 @@ /* do NOT generate an event: some callers want to handle that */ } -static void layer_vis_grp_defaults(void *user_data, int argc, pcb_event_arg_t argv[]) +static void layer_vis_grp_defaults(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { pcb_layergrp_id_t gid; Index: trunk/src/obj_text.c =================================================================== --- trunk/src/obj_text.c (revision 25192) +++ trunk/src/obj_text.c (revision 25193) @@ -1391,7 +1391,7 @@ return need_redraw; } -static void pcb_text_font_chg(void *user_data, int argc, pcb_event_arg_t argv[]) +static void pcb_text_font_chg(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if ((argc < 2) || (argv[1].type != PCB_EVARG_INT)) Index: trunk/src/polygon.c =================================================================== --- trunk/src/polygon.c (revision 25192) +++ trunk/src/polygon.c (revision 25193) @@ -73,7 +73,7 @@ static const char *polygon_cookie = "core polygon"; -void pcb_poly_layers_chg(void *user_data, int argc, pcb_event_arg_t argv[]) +void pcb_poly_layers_chg(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { pcb_layer_t *ly; pcb_data_t *data; Index: trunk/src_plugins/ddraft/constraint.c =================================================================== --- trunk/src_plugins/ddraft/constraint.c (revision 25192) +++ trunk/src_plugins/ddraft/constraint.c (revision 25193) @@ -171,7 +171,7 @@ pcb_crosshair.AttachedObject.ty = pcb_crosshair.AttachedObject.Y + dy; } -static void cnst_enforce(void *user_data, int argc, pcb_event_arg_t argv[]) +static void cnst_enforce(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if ((pcb_crosshair.AttachedLine.State == PCB_CH_STATE_SECOND) || (pcb_crosshair.AttachedLine.State == PCB_CH_STATE_THIRD)) cnst_line2(&cons); Index: trunk/src_plugins/diag/diag.c =================================================================== --- trunk/src_plugins/diag/diag.c (revision 25192) +++ trunk/src_plugins/diag/diag.c (revision 25193) @@ -391,7 +391,7 @@ return 0; } -static void ev_ui_post(void *user_data, int argc, pcb_event_arg_t argv[]) +static void ev_ui_post(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if (conf_diag.plugins.diag.auto_integrity) { Index: trunk/src_plugins/dialogs/dlg_fontsel.c =================================================================== --- trunk/src_plugins/dialogs/dlg_fontsel.c (revision 25192) +++ trunk/src_plugins/dialogs/dlg_fontsel.c (revision 25193) @@ -222,13 +222,13 @@ return 0; } -static void fontsel_mchanged_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +static void fontsel_mchanged_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if (fontsel_brd.active) fontsel_preview_update(&fontsel_brd); } -static void fontsel_bchanged_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +static void fontsel_bchanged_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { fontsel_ctx_t *c, *next; pcb_dad_retovr_t retovr; Index: trunk/src_plugins/dialogs/dlg_log.c =================================================================== --- trunk/src_plugins/dialogs/dlg_log.c (revision 25192) +++ trunk/src_plugins/dialogs/dlg_log.c (revision 25193) @@ -176,7 +176,7 @@ return 0; } -static void log_append_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +static void log_append_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { pcb_logline_t *line = argv[1].d.p; @@ -198,7 +198,7 @@ } } -static void log_clear_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +static void log_clear_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if (log_ctx.active) { pcb_hid_attribute_t *atxt = &log_ctx.dlg[log_ctx.wtxt]; @@ -209,7 +209,7 @@ } } -static void log_gui_init_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +static void log_gui_init_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { pcb_logline_t *n; Index: trunk/src_plugins/dialogs/dlg_netlist.c =================================================================== --- trunk/src_plugins/dialogs/dlg_netlist.c (revision 25192) +++ trunk/src_plugins/dialogs/dlg_netlist.c (revision 25193) @@ -437,7 +437,7 @@ } /* update the dialog after a netlist change */ -static void pcb_dlg_netlist_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +static void pcb_dlg_netlist_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { netlist_ctx_t *ctx = user_data; if (!ctx->active) Index: trunk/src_plugins/dialogs/dlg_pref.c =================================================================== --- trunk/src_plugins/dialogs/dlg_pref.c (revision 25192) +++ trunk/src_plugins/dialogs/dlg_pref.c (revision 25193) @@ -329,7 +329,7 @@ PCB_DAD_SET_VALUE(pref_ctx.dlg_hid_ctx, pref_ctx.wtab, int_value, target_tab); } -static void pref_ev_board_changed(void *user_data, int argc, pcb_event_arg_t argv[]) +static void pref_ev_board_changed(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { pref_ctx_t *ctx = user_data; if (!pref_ctx.active) @@ -341,7 +341,7 @@ pref_win_brd2dlg(ctx); } -static void pref_ev_board_meta_changed(void *user_data, int argc, pcb_event_arg_t argv[]) +static void pref_ev_board_meta_changed(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { pref_ctx_t *ctx = user_data; if (!pref_ctx.active) Index: trunk/src_plugins/dialogs/dlg_undo.c =================================================================== --- trunk/src_plugins/dialogs/dlg_undo.c (revision 25192) +++ trunk/src_plugins/dialogs/dlg_undo.c (revision 25193) @@ -158,7 +158,7 @@ } /* update the dialog after an undo operation */ -static void pcb_dlg_undo_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +static void pcb_dlg_undo_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { undo_ctx_t *ctx = user_data; if (!ctx->active) @@ -167,7 +167,7 @@ } /* Check if the serial has changed and update the dialog if so */ -static void pcb_dlg_undo_ev_chk(void *user_data, int argc, pcb_event_arg_t argv[]) +static void pcb_dlg_undo_ev_chk(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { undo_ctx_t *ctx = user_data; if (!ctx->active) Index: trunk/src_plugins/dialogs/dlg_view.c =================================================================== --- trunk/src_plugins/dialogs/dlg_view.c (revision 25192) +++ trunk/src_plugins/dialogs/dlg_view.c (revision 25193) @@ -795,7 +795,7 @@ return 0; } -static void view_preview_update_cb(void *user_data, int argc, pcb_event_arg_t argv[]) +static void view_preview_update_cb(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if (drc_gui_ctx.active) view_preview_update(&drc_gui_ctx); Index: trunk/src_plugins/drc_orig/drc_orig.c =================================================================== --- trunk/src_plugins/drc_orig/drc_orig.c (revision 25192) +++ trunk/src_plugins/drc_orig/drc_orig.c (revision 25193) @@ -400,7 +400,7 @@ } } -static void pcb_drc_orig(void *user_data, int argc, pcb_event_arg_t argv[]) +static void pcb_drc_orig(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { pcb_view_list_t *lst = &pcb_drc_lst; pcb_view_list_free_fields(lst); Index: trunk/src_plugins/export_openems/excitation.c =================================================================== --- trunk/src_plugins/export_openems/excitation.c (revision 25192) +++ trunk/src_plugins/export_openems/excitation.c (revision 25193) @@ -510,7 +510,7 @@ return excitations[exc_ctx.selected].get(exc_ctx.selected); } -static void exc_ev_board_changed(void *user_data, int argc, pcb_event_arg_t argv[]) +static void exc_ev_board_changed(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { load_selector(); if (exc_ctx.active) Index: trunk/src_plugins/hid_batch/batch.c =================================================================== --- trunk/src_plugins/hid_batch/batch.c (revision 25192) +++ trunk/src_plugins/hid_batch/batch.c (revision 25193) @@ -64,7 +64,7 @@ } } -static void ev_pcb_changed(void *user_data, int argc, pcb_event_arg_t argv[]) +static void ev_pcb_changed(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if (prompt != NULL) free(prompt); @@ -98,7 +98,7 @@ line->seen = 1; } -static void ev_log_append(void *user_data, int argc, pcb_event_arg_t argv[]) +static void ev_log_append(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if (!batch_active) return; Index: trunk/src_plugins/hid_lesstif/library.c =================================================================== --- trunk/src_plugins/hid_lesstif/library.c (revision 25192) +++ trunk/src_plugins/hid_lesstif/library.c (revision 25193) @@ -21,6 +21,8 @@ #include "event.h" #include "tool.h" +extern pcb_hidlib_t *ltf_hidlib; + static Widget library_dialog = 0; static Widget library_list, libnode_list; @@ -126,7 +128,7 @@ lib_dfs(l, level+1); } -void LesstifLibraryChanged(void *user_data, int argc, pcb_event_arg_t argv[]) +void LesstifLibraryChanged(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { int i; if (pcb_library.data.dir.children.used == 0) @@ -171,7 +173,7 @@ { if (mainwind) { if (!library_dialog) - LesstifLibraryChanged(0, 0, 0); + LesstifLibraryChanged(ltf_hidlib, 0, 0, 0); XtManageChild(library_dialog); pcb_ltf_winplace(display, XtWindow(XtParent(library_dialog)), "library", 300, 300); XtAddEventHandler(XtParent(library_dialog), StructureNotifyMask, False, pcb_ltf_wplc_config_cb, "library"); Index: trunk/src_plugins/hid_lesstif/main.c =================================================================== --- trunk/src_plugins/hid_lesstif/main.c (revision 25192) +++ trunk/src_plugins/hid_lesstif/main.c (revision 25193) @@ -319,7 +319,7 @@ /* Called from the core when it's busy doing something and we need to indicate that to the user. */ -static void LesstifBusy(void *user_data, int argc, pcb_event_arg_t argv[]) +static void LesstifBusy(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { static Cursor busy_cursor = 0; if (!lesstif_active) @@ -345,8 +345,8 @@ old_cursor_mode = -1; } -extern void LesstifNetlistChanged(void *user_data, int argc, pcb_event_arg_t argv[]); -extern void LesstifLibraryChanged(void *user_data, int argc, pcb_event_arg_t argv[]); +extern void LesstifNetlistChanged(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); +extern void LesstifLibraryChanged(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); static void ltf_set_hidlib(pcb_hidlib_t *hidlib) @@ -369,7 +369,7 @@ XtSetValues(vscroll, stdarg_args, stdarg_n); zoom_max(); - LesstifNetlistChanged(NULL, 0, NULL); + LesstifNetlistChanged(ltf_hidlib, NULL, 0, NULL); lesstif_update_layer_groups(); if (ltf_hidlib->filename) { char *cp = strrchr(ltf_hidlib->filename, '/'); Index: trunk/src_plugins/hid_lesstif/netlist.c =================================================================== --- trunk/src_plugins/hid_lesstif/netlist.c (revision 25192) +++ trunk/src_plugins/hid_lesstif/netlist.c (revision 25193) @@ -342,7 +342,7 @@ return 0; } -void LesstifNetlistChanged(void *user_data, int argc, pcb_event_arg_t argv[]) +void LesstifNetlistChanged(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { htsp_entry_t *e; int i; Index: trunk/src_plugins/hid_remote/remote.c =================================================================== --- trunk/src_plugins/hid_remote/remote.c (revision 25192) +++ trunk/src_plugins/hid_remote/remote.c (revision 25193) @@ -41,7 +41,7 @@ /* ----------------------------------------------------------------------------- */ -static void ev_pcb_changed(void *user_data, int argc, pcb_event_arg_t argv[]) +static void ev_pcb_changed(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { } Index: trunk/src_plugins/lib_gtk_hid/common.c =================================================================== --- trunk/src_plugins/lib_gtk_hid/common.c (revision 25192) +++ trunk/src_plugins/lib_gtk_hid/common.c (revision 25193) @@ -148,7 +148,7 @@ #endif } -void ghid_LayersChanged(void *user_data, int argc, pcb_event_arg_t argv[]) +void ghid_LayersChanged(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if (!ghidgui || !ghidgui->topwin.active || ghidgui->common.hidlib == NULL || ghidgui->topwin.layersel.running) return; @@ -158,7 +158,7 @@ return; } -void ghid_LayervisChanged(void *user_data, int argc, pcb_event_arg_t argv[]) +void ghid_LayervisChanged(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if (!ghidgui || !ghidgui->topwin.active || ghidgui->common.hidlib == NULL || ghidgui->topwin.layersel.running) return; Index: trunk/src_plugins/lib_gtk_hid/common.h =================================================================== --- trunk/src_plugins/lib_gtk_hid/common.h (revision 25192) +++ trunk/src_plugins/lib_gtk_hid/common.h (revision 25193) @@ -13,6 +13,6 @@ int ghid_control_is_pressed(); int ghid_mod1_is_pressed(); -void ghid_LayersChanged(void *user_data, int argc, pcb_event_arg_t argv[]); -void ghid_LayervisChanged(void *user_data, int argc, pcb_event_arg_t argv[]); +void ghid_LayersChanged(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); +void ghid_LayervisChanged(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); Index: trunk/src_plugins/lib_gtk_hid/glue_common.c =================================================================== --- trunk/src_plugins/lib_gtk_hid/glue_common.c (revision 25192) +++ trunk/src_plugins/lib_gtk_hid/glue_common.c (revision 25193) @@ -110,7 +110,7 @@ /*** misc ***/ static void LayersChanged_cb(void) { - ghid_LayersChanged(0, 0, 0); + ghid_LayersChanged(ghidgui->common.hidlib, 0, 0, 0); } static void ghid_load_bg_image(void) Index: trunk/src_plugins/lib_gtk_hid/glue_event.c =================================================================== --- trunk/src_plugins/lib_gtk_hid/glue_event.c (revision 25192) +++ trunk/src_plugins/lib_gtk_hid/glue_event.c (revision 25193) @@ -6,7 +6,7 @@ #include "../src_plugins/lib_gtk_common/hid_gtk_conf.h" #include "../src_plugins/lib_gtk_common/lib_gtk_config.h" -static void ev_pcb_meta_changed(void *user_data, int argc, pcb_event_arg_t argv[]) +static void ev_pcb_meta_changed(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if ((!ghidgui) || (!ghidgui->hid_active)) return; @@ -15,7 +15,7 @@ ghidgui->common.window_set_name_label(ghidgui->common.hidlib->name); } -static void ghid_gui_sync(void *user_data, int argc, pcb_event_arg_t argv[]) +static void ghid_gui_sync(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { /* Sync gui status display with pcb state */ pcb_tool_adjust_attached_objects(); @@ -26,12 +26,12 @@ ghid_update_toggle_flags(&ghidgui->topwin, NULL); } -static void ghid_gui_sync_status(void *user_data, int argc, pcb_event_arg_t argv[]) +static void ghid_gui_sync_status(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { ghidgui->common.window_set_name_label(ghidgui->common.hidlib->name); } -static void ghid_Busy(void *user_data, int argc, pcb_event_arg_t argv[]) +static void ghid_Busy(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if (gport != NULL) ghid_watch_cursor(&gport->mouse); Index: trunk/src_plugins/lib_hid_common/grid_menu.c =================================================================== --- trunk/src_plugins/lib_hid_common/grid_menu.c (revision 25192) +++ trunk/src_plugins/lib_hid_common/grid_menu.c (revision 25193) @@ -100,7 +100,7 @@ grid_lock--; } -void pcb_grid_update_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +void pcb_grid_update_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if (grid_lock) return; grid_lock++; Index: trunk/src_plugins/lib_hid_common/grid_menu.h =================================================================== --- trunk/src_plugins/lib_hid_common/grid_menu.h (revision 25192) +++ trunk/src_plugins/lib_hid_common/grid_menu.h (revision 25193) @@ -2,4 +2,4 @@ #include "event.h" void pcb_grid_update_conf(conf_native_t *cfg, int arr_idx); -void pcb_grid_update_ev(void *user_data, int argc, pcb_event_arg_t argv[]); +void pcb_grid_update_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); Index: trunk/src_plugins/lib_hid_common/lead_user.c =================================================================== --- trunk/src_plugins/lib_hid_common/lead_user.c (revision 25192) +++ trunk/src_plugins/lib_hid_common/lead_user.c (revision 25193) @@ -71,7 +71,7 @@ lead_timer = pcb_gui->add_timer(lead_cb, LEAD_PERIOD_MS, user_data); } -void pcb_lead_user_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +void pcb_lead_user_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if (argc < 4) return; @@ -84,7 +84,7 @@ #define ARL LEAD_ARROW_LEN/3 -void pcb_lead_user_draw_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +void pcb_lead_user_draw_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if (lead) { pcb_coord_t x = leadx + step, y = leady + step; Index: trunk/src_plugins/lib_hid_common/lead_user.h =================================================================== --- trunk/src_plugins/lib_hid_common/lead_user.h (revision 25192) +++ trunk/src_plugins/lib_hid_common/lead_user.h (revision 25193) @@ -1,5 +1,5 @@ -void pcb_lead_user_ev(void *user_data, int argc, pcb_event_arg_t argv[]); -void pcb_lead_user_draw_ev(void *user_data, int argc, pcb_event_arg_t argv[]); +void pcb_lead_user_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); +void pcb_lead_user_draw_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); Index: trunk/src_plugins/lib_hid_common/place.c =================================================================== --- trunk/src_plugins/lib_hid_common/place.c (revision 25192) +++ trunk/src_plugins/lib_hid_common/place.c (revision 25193) @@ -79,7 +79,7 @@ } -void pcb_dialog_place(void *user_data, int argc, pcb_event_arg_t argv[]) +void pcb_dialog_place(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { const char *id; int *geo; @@ -101,7 +101,7 @@ /* pcb_trace("dialog place: %p '%s'\n", hid_ctx, id);*/ } -void pcb_dialog_resize(void *user_data, int argc, pcb_event_arg_t argv[]) +void pcb_dialog_resize(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if ((argc < 7) || (argv[1].type != PCB_EVARG_PTR) || (argv[2].type != PCB_EVARG_STR)) return; @@ -236,13 +236,13 @@ /* event handlers that run before the current pcb is saved to save win geo in the board conf and after loading a new board to fetch window placement info. */ -static void place_save_pre(void *user_data, int argc, pcb_event_arg_t argv[]) +static void place_save_pre(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { place_maybe_save(CFR_PROJECT, 0); place_maybe_save(CFR_DESIGN, 0); } -static void place_load_post(void *user_data, int argc, pcb_event_arg_t argv[]) +static void place_load_post(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { pcb_wplc_load(CFR_PROJECT); pcb_wplc_load(CFR_DESIGN); Index: trunk/src_plugins/lib_hid_common/place.h =================================================================== --- trunk/src_plugins/lib_hid_common/place.h (revision 25192) +++ trunk/src_plugins/lib_hid_common/place.h (revision 25193) @@ -5,6 +5,6 @@ /*** for internal use ***/ void pcb_dialog_place_uninit(void); void pcb_dialog_place_init(void); -void pcb_dialog_resize(void *user_data, int argc, pcb_event_arg_t argv[]); -void pcb_dialog_place(void *user_data, int argc, pcb_event_arg_t argv[]); +void pcb_dialog_resize(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); +void pcb_dialog_place(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); Index: trunk/src_plugins/lib_hid_pcbui/infobar.c =================================================================== --- trunk/src_plugins/lib_hid_pcbui/infobar.c (revision 25192) +++ trunk/src_plugins/lib_hid_pcbui/infobar.c (revision 25193) @@ -36,7 +36,7 @@ static double last_date = -1; static int infobar_gui_inited = 0; -static void pcb_infobar_brdchg_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +static void pcb_infobar_brdchg_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { pcb_actionl("InfoBarFileChanged", "close"); if ((PCB != NULL) && (PCB->hidlib.filename != NULL)) @@ -79,7 +79,7 @@ } -static void pcb_infobar_gui_init_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +static void pcb_infobar_gui_init_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { infobar_gui_inited = 1; if (!infobar_timer_active) Index: trunk/src_plugins/lib_hid_pcbui/layer_menu.c =================================================================== --- trunk/src_plugins/lib_hid_pcbui/layer_menu.c (revision 25192) +++ trunk/src_plugins/lib_hid_pcbui/layer_menu.c (revision 25193) @@ -180,7 +180,7 @@ pcb_hid_cfg_map_anchor_menus(ctx.anch, layer_install_menu1, &ctx); } -void pcb_layer_menu_update_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +void pcb_layer_menu_update_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { layer_install_menu(); if ((pcb_gui != NULL) && (pcb_gui->update_menu_checkbox != NULL)) @@ -187,7 +187,7 @@ pcb_gui->update_menu_checkbox(NULL); } -void pcb_layer_menu_vis_update_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +void pcb_layer_menu_vis_update_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if ((pcb_gui != NULL) && (pcb_gui->update_menu_checkbox != NULL)) pcb_gui->update_menu_checkbox(NULL); Index: trunk/src_plugins/lib_hid_pcbui/layer_menu.h =================================================================== --- trunk/src_plugins/lib_hid_pcbui/layer_menu.h (revision 25192) +++ trunk/src_plugins/lib_hid_pcbui/layer_menu.h (revision 25193) @@ -1,5 +1,5 @@ #include "event.h" -void pcb_layer_menu_update_ev(void *user_data, int argc, pcb_event_arg_t argv[]); -void pcb_layer_menu_vis_update_ev(void *user_data, int argc, pcb_event_arg_t argv[]); +void pcb_layer_menu_update_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); +void pcb_layer_menu_vis_update_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); Index: trunk/src_plugins/lib_hid_pcbui/rendering.c =================================================================== --- trunk/src_plugins/lib_hid_pcbui/rendering.c (revision 25192) +++ trunk/src_plugins/lib_hid_pcbui/rendering.c (revision 25193) @@ -90,7 +90,7 @@ return common_set_layer_group(group, purpose, purpi, layer, flags, is_empty, xform); } -static void pcb_rendering_gui_init_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +static void pcb_rendering_gui_init_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { /* hook in our dispatcher */ gui_set_layer_group = pcb_gui->set_layer_group; Index: trunk/src_plugins/lib_hid_pcbui/routest.c =================================================================== --- trunk/src_plugins/lib_hid_pcbui/routest.c (revision 25192) +++ trunk/src_plugins/lib_hid_pcbui/routest.c (revision 25193) @@ -201,12 +201,12 @@ } -void pcb_rst_update_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +void pcb_rst_update_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { rst_update(); } -void pcb_rst_gui_init_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +void pcb_rst_gui_init_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if (PCB_HAVE_GUI_ATTR_DLG) { rst_docked_create(); Index: trunk/src_plugins/lib_hid_pcbui/routest.h =================================================================== --- trunk/src_plugins/lib_hid_pcbui/routest.h (revision 25192) +++ trunk/src_plugins/lib_hid_pcbui/routest.h (revision 25193) @@ -2,8 +2,8 @@ #include "event.h" #include "actions.h" -void pcb_rst_update_ev(void *user_data, int argc, pcb_event_arg_t argv[]); -void pcb_rst_gui_init_ev(void *user_data, int argc, pcb_event_arg_t argv[]); +void pcb_rst_update_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); +void pcb_rst_gui_init_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); void pcb_rst_update_conf(conf_native_t *cfg, int arr_idx); Index: trunk/src_plugins/lib_hid_pcbui/status.c =================================================================== --- trunk/src_plugins/lib_hid_pcbui/status.c (revision 25192) +++ trunk/src_plugins/lib_hid_pcbui/status.c (revision 25193) @@ -302,7 +302,7 @@ } -void pcb_status_gui_init_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +void pcb_status_gui_init_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if ((PCB_HAVE_GUI_ATTR_DLG) && (pcb_gui->get_menu_cfg != NULL)) { status_docked_create_st(); @@ -329,12 +329,12 @@ status_rd_pcb2dlg(); } -void pcb_status_st_update_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +void pcb_status_st_update_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { status_st_pcb2dlg(); } -void pcb_status_rd_update_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +void pcb_status_rd_update_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { status_rd_pcb2dlg(); } Index: trunk/src_plugins/lib_hid_pcbui/status.h =================================================================== --- trunk/src_plugins/lib_hid_pcbui/status.h (revision 25192) +++ trunk/src_plugins/lib_hid_pcbui/status.h (revision 25193) @@ -2,11 +2,11 @@ #include "conf.h" #include "actions.h" -void pcb_status_gui_init_ev(void *user_data, int argc, pcb_event_arg_t argv[]); +void pcb_status_gui_init_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); void pcb_status_st_update_conf(conf_native_t *cfg, int arr_idx); void pcb_status_rd_update_conf(conf_native_t *cfg, int arr_idx); -void pcb_status_st_update_ev(void *user_data, int argc, pcb_event_arg_t argv[]); -void pcb_status_rd_update_ev(void *user_data, int argc, pcb_event_arg_t argv[]); +void pcb_status_st_update_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); +void pcb_status_rd_update_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); extern const char pcb_acts_StatusSetText[]; extern const char pcb_acth_StatusSetText[]; Index: trunk/src_plugins/lib_hid_pcbui/toolbar.c =================================================================== --- trunk/src_plugins/lib_hid_pcbui/toolbar.c (revision 25192) +++ trunk/src_plugins/lib_hid_pcbui/toolbar.c (revision 25193) @@ -127,7 +127,7 @@ } -void pcb_toolbar_gui_init_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +void pcb_toolbar_gui_init_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { if ((PCB_HAVE_GUI_ATTR_DLG) && (pcb_gui->get_menu_cfg != NULL)) { pcb_hid_cfg_t *cfg = pcb_gui->get_menu_cfg(); Index: trunk/src_plugins/lib_hid_pcbui/toolbar.h =================================================================== --- trunk/src_plugins/lib_hid_pcbui/toolbar.h (revision 25192) +++ trunk/src_plugins/lib_hid_pcbui/toolbar.h (revision 25193) @@ -1,6 +1,6 @@ #include "event.h" #include "conf.h" -void pcb_toolbar_gui_init_ev(void *user_data, int argc, pcb_event_arg_t argv[]); +void pcb_toolbar_gui_init_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]); void pcb_toolbar_update_conf(conf_native_t *cfg, int arr_idx); Index: trunk/src_plugins/mincut/rats_mincut.c =================================================================== --- trunk/src_plugins/mincut/rats_mincut.c (revision 25192) +++ trunk/src_plugins/mincut/rats_mincut.c (revision 25193) @@ -317,7 +317,7 @@ return bad_gr; } -static void pcb_mincut_ev(void *user_data, int argc, pcb_event_arg_t argv[]) +static void pcb_mincut_ev(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { int *handled; pcb_any_obj_t *term; Index: trunk/src_plugins/rubberband_orig/rubberband.c =================================================================== --- trunk/src_plugins/rubberband_orig/rubberband.c (revision 25192) +++ trunk/src_plugins/rubberband_orig/rubberband.c (revision 25193) @@ -1009,7 +1009,7 @@ } /*** event handlers ***/ -static void rbe_reset(void *user_data, int argc, pcb_event_arg_t argv[]) +static void rbe_reset(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { rubber_ctx_t *rbnd = user_data; rbnd->lines.used = 0; @@ -1016,7 +1016,7 @@ rbnd->arcs.used = 0; } -static void rbe_move(void *user_data, int argc, pcb_event_arg_t argv[]) +static void rbe_move(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { rubber_ctx_t *rbnd = user_data; pcb_rb_line_t *ptr = rbnd->lines.array; @@ -1118,7 +1118,7 @@ } } -static void rbe_draw(void *user_data, int argc, pcb_event_arg_t argv[]) +static void rbe_draw(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { rubber_ctx_t *rbnd = user_data; pcb_rb_line_t *ptr; @@ -1230,7 +1230,7 @@ } } -static void rbe_rotate90(void *user_data, int argc, pcb_event_arg_t argv[]) +static void rbe_rotate90(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { rubber_ctx_t *rbnd = user_data; pcb_rb_line_t *ptr; @@ -1281,12 +1281,12 @@ } } -static void rbe_rotate(void *user_data, int argc, pcb_event_arg_t argv[]) +static void rbe_rotate(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { TODO("TODO") } -static void rbe_lookup_lines(void *user_data, int argc, pcb_event_arg_t argv[]) +static void rbe_lookup_lines(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { rubber_ctx_t *rbnd = user_data; int type = argv[1].d.i; @@ -1296,7 +1296,7 @@ pcb_rubber_band_lookup_lines(rbnd, type, ptr1, ptr2, ptr3); } -static void rbe_lookup_rats(void *user_data, int argc, pcb_event_arg_t argv[]) +static void rbe_lookup_rats(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { rubber_ctx_t *rbnd = user_data; int type = argv[1].d.i; @@ -1305,7 +1305,7 @@ pcb_rubber_band_lookup_rat_lines(rbnd, type, ptr1, ptr2, ptr3); } -static void rbe_constrain_main_line(void *user_data, int argc, pcb_event_arg_t argv[]) +static void rbe_constrain_main_line(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { rubber_ctx_t *rbnd = user_data; pcb_line_t *line = argv[1].d.p; Index: trunk/src_plugins/script/live_script.c =================================================================== --- trunk/src_plugins/script/live_script.c (revision 25192) +++ trunk/src_plugins/script/live_script.c (revision 25193) @@ -497,7 +497,7 @@ } -static void lvs_menu_init(void *user_data, int argc, pcb_event_arg_t argv[]) +static void lvs_menu_init(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { pcb_hid_cfg_map_anchor_menus(ANCH, lvs_install_menu, NULL); } Index: trunk/src_plugins/shape/shape_dialog.c =================================================================== --- trunk/src_plugins/shape/shape_dialog.c (revision 25192) +++ trunk/src_plugins/shape/shape_dialog.c (revision 25193) @@ -115,7 +115,7 @@ } -static void shape_layer_chg(void *user_data, int argc, pcb_event_arg_t argv[]) +static void shape_layer_chg(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { void *hid_ctx; int tab; @@ -134,7 +134,7 @@ static void shp_chg_tab(void *hid_ctx, void *caller_data, pcb_hid_attribute_t *attr) { - shape_layer_chg(NULL, 0, NULL); + shape_layer_chg(NULL, NULL, 0, NULL); } void pcb_shape_dialog(pcb_board_t *pcb, pcb_data_t *data, pcb_layer_t *layer, pcb_bool modal) Index: trunk/src_plugins/vendordrill/vendor.c =================================================================== --- trunk/src_plugins/vendordrill/vendor.c (revision 25192) +++ trunk/src_plugins/vendordrill/vendor.c (revision 25193) @@ -642,7 +642,7 @@ } /* Tune newly placed padstacks */ -static void vendor_new_pstk(void *user_data, int argc, pcb_event_arg_t argv[]) +static void vendor_new_pstk(pcb_hidlib_t *hidlib, void *user_data, int argc, pcb_event_arg_t argv[]) { pcb_pstk_t *ps; pcb_cardinal_t dummy;