Index: trunk/src/hid/common/actions.c =================================================================== --- trunk/src/hid/common/actions.c (revision 1324) +++ trunk/src/hid/common/actions.c (revision 1325) @@ -48,7 +48,7 @@ const HID_Action *action; } hid_cookie_action_t; -void hid_register_actions(const HID_Action * a, int n, const char *cookie) +void hid_register_actions(const HID_Action * a, int n, const char *cookie, int copy) { int i; hid_cookie_action_t *ca; @@ -72,9 +72,9 @@ } } -void hid_register_action(const HID_Action * a, const char *cookie) +void hid_register_action(const HID_Action * a, const char *cookie, int copy) { - hid_register_actions(a, 1, cookie); + hid_register_actions(a, 1, cookie, copy); } void hid_remove_actions(const HID_Action * a, int n) Index: trunk/src/hid/common/flags.c =================================================================== --- trunk/src/hid/common/flags.c (revision 1324) +++ trunk/src/hid/common/flags.c (revision 1325) @@ -30,7 +30,7 @@ return !strcmp(a, b); } -void hid_register_flags(HID_Flag * a, int numact, const char *cookie) +void hid_register_flags(HID_Flag * a, int numact, const char *cookie, int copy) { HID_FlagNode *ha; HID_Flag *f; Index: trunk/src/hid/common/hidinit.c =================================================================== --- trunk/src/hid/common/hidinit.c (revision 1324) +++ trunk/src/hid/common/hidinit.c (revision 1325) @@ -245,7 +245,7 @@ HID_AttrNode *hid_attr_nodes = 0; -void hid_register_attributes(HID_Attribute * a, int n, const char *cookie) +void hid_register_attributes(HID_Attribute * a, int n, const char *cookie, int copy) { HID_AttrNode *ha; Index: trunk/src/hid.h =================================================================== --- trunk/src/hid.h (revision 1324) +++ trunk/src/hid.h (revision 1325) @@ -82,11 +82,11 @@ const char *syntax; } HID_Action; - extern void hid_register_action(const HID_Action *a, const char *cookie); + extern void hid_register_action(const HID_Action *a, const char *cookie, int copy); - extern void hid_register_actions(const HID_Action *a, int, const char *cookie); + extern void hid_register_actions(const HID_Action *a, int, const char *cookie, int copy); #define REGISTER_ACTIONS(a, cookie) HIDCONCAT(void register_,a) ()\ -{ hid_register_actions(a, sizeof(a)/sizeof(a[0]), cookie); } +{ hid_register_actions(a, sizeof(a)/sizeof(a[0]), cookie, 0); } /* Note that PCB expects the gui to provide the following actions: @@ -140,9 +140,9 @@ int parm; } HID_Flag; - extern void hid_register_flags(HID_Flag *a, int n, const char *cookie); + extern void hid_register_flags(HID_Flag *a, int n, const char *cookie, int copy); #define REGISTER_FLAGS(a, cookie) HIDCONCAT(void register_,a) ()\ -{ hid_register_flags(a, sizeof(a)/sizeof(a[0]), cookie); } +{ hid_register_flags(a, sizeof(a)/sizeof(a[0]), cookie, 0); } /* Remove all flags matching a cookie */ void hid_remove_flags_by_cookie(const char *cookie); @@ -190,9 +190,9 @@ int hash; /* for detecting changes. */ } HID_Attribute; - extern void hid_register_attributes(HID_Attribute *, int, const char *cookie); + extern void hid_register_attributes(HID_Attribute *, int, const char *cookie, int copy); #define REGISTER_ATTRIBUTES(a, cookie) HIDCONCAT(void register_,a) ()\ -{ hid_register_attributes(a, sizeof(a)/sizeof(a[0]), cookie); } +{ hid_register_attributes(a, sizeof(a)/sizeof(a[0]), cookie, 0); } /* remove all attributes and free the list */ void hid_attributes_uninit(void); Index: trunk/src_plugins/export_bom/bom.c =================================================================== --- trunk/src_plugins/export_bom/bom.c (revision 1324) +++ trunk/src_plugins/export_bom/bom.c (revision 1325) @@ -501,7 +501,7 @@ static void bom_parse_arguments(int *argc, char ***argv) { - hid_register_attributes(bom_options, sizeof(bom_options) / sizeof(bom_options[0]), bom_cookie); + hid_register_attributes(bom_options, sizeof(bom_options) / sizeof(bom_options[0]), bom_cookie, 0); hid_parse_command_line(argc, argv); } Index: trunk/src_plugins/export_gcode/gcode.c =================================================================== --- trunk/src_plugins/export_gcode/gcode.c (revision 1324) +++ trunk/src_plugins/export_gcode/gcode.c (revision 1325) @@ -216,7 +216,7 @@ static void gcode_parse_arguments(int *argc, char ***argv) { - hid_register_attributes(gcode_attribute_list, sizeof(gcode_attribute_list) / sizeof(gcode_attribute_list[0]), gcode_cookie); + hid_register_attributes(gcode_attribute_list, sizeof(gcode_attribute_list) / sizeof(gcode_attribute_list[0]), gcode_cookie, 0); hid_parse_command_line(argc, argv); } Index: trunk/src_plugins/export_gerber/gerber.c =================================================================== --- trunk/src_plugins/export_gerber/gerber.c (revision 1324) +++ trunk/src_plugins/export_gerber/gerber.c (revision 1325) @@ -603,7 +603,7 @@ static void gerber_parse_arguments(int *argc, char ***argv) { - hid_register_attributes(gerber_options, NUM_OPTIONS, gerber_cookie); + hid_register_attributes(gerber_options, NUM_OPTIONS, gerber_cookie, 0); hid_parse_command_line(argc, argv); } Index: trunk/src_plugins/export_lpr/lpr.c =================================================================== --- trunk/src_plugins/export_lpr/lpr.c (revision 1324) +++ trunk/src_plugins/export_lpr/lpr.c (revision 1325) @@ -102,7 +102,7 @@ static void lpr_parse_arguments(int *argc, char ***argv) { lpr_get_export_options(0); - hid_register_attributes(lpr_options, num_lpr_options, lpr_cookie); + hid_register_attributes(lpr_options, num_lpr_options, lpr_cookie, 0); hid_parse_command_line(argc, argv); } Index: trunk/src_plugins/export_nelma/nelma.c =================================================================== --- trunk/src_plugins/export_nelma/nelma.c (revision 1324) +++ trunk/src_plugins/export_nelma/nelma.c (revision 1325) @@ -496,7 +496,7 @@ static void nelma_parse_arguments(int *argc, char ***argv) { - hid_register_attributes(nelma_attribute_list, sizeof(nelma_attribute_list) / sizeof(nelma_attribute_list[0]), nelma_cookie); + hid_register_attributes(nelma_attribute_list, sizeof(nelma_attribute_list) / sizeof(nelma_attribute_list[0]), nelma_cookie, 0); hid_parse_command_line(argc, argv); } Index: trunk/src_plugins/export_png/png.c =================================================================== --- trunk/src_plugins/export_png/png.c (revision 1324) +++ trunk/src_plugins/export_png/png.c (revision 1325) @@ -932,7 +932,7 @@ static void png_parse_arguments(int *argc, char ***argv) { - hid_register_attributes(png_attribute_list, sizeof(png_attribute_list) / sizeof(png_attribute_list[0]), png_cookie); + hid_register_attributes(png_attribute_list, sizeof(png_attribute_list) / sizeof(png_attribute_list[0]), png_cookie, 0); hid_parse_command_line(argc, argv); } Index: trunk/src_plugins/export_ps/eps.c =================================================================== --- trunk/src_plugins/export_ps/eps.c (revision 1324) +++ trunk/src_plugins/export_ps/eps.c (revision 1325) @@ -338,7 +338,7 @@ static void eps_parse_arguments(int *argc, char ***argv) { - hid_register_attributes(eps_attribute_list, sizeof(eps_attribute_list) / sizeof(eps_attribute_list[0]), ps_cookie); + hid_register_attributes(eps_attribute_list, sizeof(eps_attribute_list) / sizeof(eps_attribute_list[0]), ps_cookie, 0); hid_parse_command_line(argc, argv); } Index: trunk/src_plugins/export_ps/ps.c =================================================================== --- trunk/src_plugins/export_ps/ps.c (revision 1324) +++ trunk/src_plugins/export_ps/ps.c (revision 1325) @@ -742,7 +742,7 @@ static void ps_parse_arguments(int *argc, char ***argv) { - hid_register_attributes(ps_attribute_list, NUM_OPTIONS, ps_cookie); + hid_register_attributes(ps_attribute_list, NUM_OPTIONS, ps_cookie, 0); hid_parse_command_line(argc, argv); } Index: trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/actions/actions.c =================================================================== --- trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/actions/actions.c (revision 1324) +++ trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/actions/actions.c (revision 1325) @@ -81,7 +81,7 @@ ctx->module = gpmi_get_current_module(); ctx->next = NULL; - hid_register_action(&ctx->action, gpmi_cookie); + hid_register_action(&ctx->action, gpmi_cookie, 0); gpmi_mod_cleanup_insert(ctx->module, cleanup_action, "p", ctx); Index: trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_plugin.c =================================================================== --- trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_plugin.c (revision 1324) +++ trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_plugin.c (revision 1325) @@ -118,7 +118,7 @@ act.description = "Manage gpmi scripts"; act.syntax = "TODO"; act.trigger_cb = action_gpmi_scripts; - hid_register_action(&act, gpmi_cookie); + hid_register_action(&act, gpmi_cookie, 1); act.name = "rehash"; act.need_coord_msg = NULL; @@ -125,7 +125,7 @@ act.description = "Reload all gpmi scripts"; act.syntax = "TODO"; act.trigger_cb = action_gpmi_rehash; - hid_register_action(&act, gpmi_cookie); + hid_register_action(&act, gpmi_cookie, 1); } #ifndef PLUGIN_INIT_NAME