Index: trunk/src_plugins/export_bboard/bboard.c =================================================================== --- trunk/src_plugins/export_bboard/bboard.c (revision 6893) +++ trunk/src_plugins/export_bboard/bboard.c (revision 6894) @@ -573,7 +573,12 @@ static pcb_hid_t bboard_hid; +void hid_export_bboard_uninit() +{ + pcb_hid_remove_attributes_by_cookie(bboard_cookie); +} + pcb_uninit_t hid_export_bboard_init() { memset(&bboard_hid, 0, sizeof(bboard_hid)); @@ -593,6 +598,6 @@ pcb_hid_register_hid(&bboard_hid); pcb_hid_register_attributes(bboard_options, sizeof(bboard_options) / sizeof(bboard_options[0]), bboard_cookie, 0); - return NULL; + return hid_export_bboard_uninit; } Index: trunk/src_plugins/export_dsn/dsn.c =================================================================== --- trunk/src_plugins/export_dsn/dsn.c (revision 6893) +++ trunk/src_plugins/export_dsn/dsn.c (revision 6894) @@ -579,7 +579,7 @@ static void hid_dsn_uninit() { - + pcb_hid_remove_attributes_by_cookie(dsn_cookie); } #include "dolists.h" Index: trunk/src_plugins/export_dxf/dxf.c =================================================================== --- trunk/src_plugins/export_dxf/dxf.c (revision 6893) +++ trunk/src_plugins/export_dxf/dxf.c (revision 6894) @@ -5909,6 +5909,10 @@ const char *dxf_cookie = "dxf exporter"; +void hid_export_dxf_uninit() +{ + pcb_hid_remove_attributes_by_cookie(dxf_cookie); +} /*! * \brief Call this as soon as possible from main(). @@ -5956,8 +5960,7 @@ pcb_hid_register_attributes(dxf_options, sizeof(dxf_options) / sizeof(dxf_options[0]), dxf_cookie, 0); -/* return hid_dxf_uninit();*/ - return NULL; + return hid_export_dxf_uninit; } Index: trunk/src_plugins/export_ipcd356/ipcd356.c =================================================================== --- trunk/src_plugins/export_ipcd356/ipcd356.c (revision 6893) +++ trunk/src_plugins/export_ipcd356/ipcd356.c (revision 6894) @@ -603,6 +603,11 @@ pcb_hid_t IPCD356_hid; +void hid_export_ipcd356_uninit() +{ + pcb_hid_remove_attributes_by_cookie(ipcd356_cookie); +} + pcb_uninit_t *hid_export_ipcd356_init() { memset(&IPCD356_hid, 0, sizeof(pcb_hid_t)); @@ -621,6 +626,5 @@ pcb_hid_register_hid(&IPCD356_hid); pcb_hid_register_attributes(IPCD356_options, sizeof(IPCD356_options) / sizeof(IPCD356_options[0]), ipcd356_cookie, 0); - return NULL; + return hid_export_ipcd356_uninit; } - Index: trunk/src_plugins/export_openscad/scad.c =================================================================== --- trunk/src_plugins/export_openscad/scad.c (revision 6893) +++ trunk/src_plugins/export_openscad/scad.c (revision 6894) @@ -1127,6 +1127,11 @@ static pcb_hid_t scad_hid; +void hid_export_openscad_uninit() +{ + pcb_hid_remove_attributes_by_cookie(openscad_cookie); +} + pcb_uninit_t hid_export_openscad_init() { memset(&scad_hid, 0, sizeof(scad_hid)); @@ -1164,5 +1169,5 @@ pcb_hid_register_hid(&scad_hid); pcb_hid_register_attributes(scad_options, sizeof(scad_options) / sizeof(scad_options[0]), openscad_cookie, 0); - return NULL; + return hid_export_openscad_uninit; }