Index: trunk/src_plugins/export_lpr/lpr.c =================================================================== --- trunk/src_plugins/export_lpr/lpr.c (revision 1264) +++ trunk/src_plugins/export_lpr/lpr.c (revision 1265) @@ -11,6 +11,7 @@ #include "global.h" #include "data.h" #include "misc.h" +#include "plugins.h" #include "hid.h" #include "hid/hidint.h" @@ -112,8 +113,13 @@ static HID lpr_hid; -void hid_export_lpr_init() +static void plugin_lpr_uninit(void) { + hid_remove_actions_by_cookie(lpr_cookie); +} + +pcb_uninit_t hid_export_lpr_init() +{ memset(&lpr_hid, 0, sizeof(HID)); common_nogui_init(&lpr_hid); @@ -131,4 +137,6 @@ lpr_hid.calibrate = lpr_calibrate; hid_register_hid(&lpr_hid); + + return plugin_lpr_uninit; } Index: trunk/src_plugins/export_ps/ps.c =================================================================== --- trunk/src_plugins/export_ps/ps.c (revision 1264) +++ trunk/src_plugins/export_ps/ps.c (revision 1265) @@ -15,6 +15,7 @@ #include "error.h" #include "draw.h" #include "pcb-printf.h" +#include "plugins.h" #include "hid.h" #include "hid/hidint.h" @@ -1582,8 +1583,15 @@ REGISTER_ACTIONS(hidps_action_list, ps_cookie) } -void hid_export_ps_init() +static void plugin_ps_uninit(void) { + hid_remove_actions_by_cookie(ps_cookie); +} + + + +pcb_uninit_t hid_export_ps_init() +{ memset(&ps_hid, 0, sizeof(HID)); common_nogui_init(&ps_hid); @@ -1599,4 +1607,5 @@ hid_register_hid(&ps_hid); hid_eps_init(); + return plugin_ps_uninit; }