Index: trunk/src_plugins/cam/cam.c =================================================================== --- trunk/src_plugins/cam/cam.c (revision 33060) +++ trunk/src_plugins/cam/cam.c (revision 33061) @@ -278,6 +278,8 @@ cam_export_job = NULL; } +rnd_hid_t export_cam_hid; + int pplg_check_ver_cam(int ver_needed) { return 0; } void pplg_uninit_cam(void) @@ -286,10 +288,9 @@ rnd_conf_unreg_fields("plugins/cam/"); rnd_remove_actions_by_cookie(cam_cookie); rnd_export_remove_opts_by_cookie(cam_cookie); + rnd_hid_remove_hid(&export_cam_hid); } -rnd_hid_t export_cam_hid; - int pplg_init_cam(void) { RND_API_CHK_VER; Index: trunk/src_plugins/export_bom/bom.c =================================================================== --- trunk/src_plugins/export_bom/bom.c (revision 33060) +++ trunk/src_plugins/export_bom/bom.c (revision 33061) @@ -265,6 +265,7 @@ void pplg_uninit_export_bom(void) { rnd_export_remove_opts_by_cookie(bom_cookie); + rnd_hid_remove_hid(&bom_hid); } int pplg_init_export_bom(void) Index: trunk/src_plugins/export_dsn/dsn.c =================================================================== --- trunk/src_plugins/export_dsn/dsn.c (revision 33060) +++ trunk/src_plugins/export_dsn/dsn.c (revision 33061) @@ -606,6 +606,7 @@ void pplg_uninit_export_dsn(void) { rnd_export_remove_opts_by_cookie(dsn_cookie); + rnd_hid_remove_hid(&dsn_hid); } int pplg_init_export_dsn(void) Index: trunk/src_plugins/export_dxf/dxf.c =================================================================== --- trunk/src_plugins/export_dxf/dxf.c (revision 33060) +++ trunk/src_plugins/export_dxf/dxf.c (revision 33061) @@ -529,6 +529,7 @@ void pplg_uninit_export_dxf(void) { rnd_export_remove_opts_by_cookie(dxf_cookie); + rnd_hid_remove_hid(&dxf_hid); } int pplg_init_export_dxf(void) Index: trunk/src_plugins/export_excellon/excellon.c =================================================================== --- trunk/src_plugins/export_excellon/excellon.c (revision 33060) +++ trunk/src_plugins/export_excellon/excellon.c (revision 33061) @@ -488,6 +488,7 @@ free(filename); rnd_conf_unreg_fields("plugins/export_excellon/"); rnd_event_unbind_allcookie(excellon_cookie); + rnd_hid_remove_hid(&excellon_hid); } int pplg_init_export_excellon(void) Index: trunk/src_plugins/export_fidocadj/fidocadj.c =================================================================== --- trunk/src_plugins/export_fidocadj/fidocadj.c (revision 33060) +++ trunk/src_plugins/export_fidocadj/fidocadj.c (revision 33061) @@ -365,6 +365,7 @@ void pplg_uninit_export_fidocadj(void) { rnd_export_remove_opts_by_cookie(fidocadj_cookie); + rnd_hid_remove_hid(&fidocadj_hid); } int pplg_init_export_fidocadj(void) Index: trunk/src_plugins/export_gcode/gcode.c =================================================================== --- trunk/src_plugins/export_gcode/gcode.c (revision 33060) +++ trunk/src_plugins/export_gcode/gcode.c (revision 33061) @@ -398,6 +398,7 @@ void pplg_uninit_export_gcode(void) { + rnd_hid_remove_hid(&gcode_hid); } Index: trunk/src_plugins/export_gerber/gerber.c =================================================================== --- trunk/src_plugins/export_gerber/gerber.c (revision 33060) +++ trunk/src_plugins/export_gerber/gerber.c (revision 33061) @@ -1067,6 +1067,7 @@ rnd_export_remove_opts_by_cookie(gerber_cookie); rnd_conf_unreg_fields("plugins/export_gerber/"); rnd_event_unbind_allcookie(gerber_cookie); + rnd_hid_remove_hid(&gerber_hid); } int pplg_init_export_gerber(void) Index: trunk/src_plugins/export_ipcd356/ipcd356.c =================================================================== --- trunk/src_plugins/export_ipcd356/ipcd356.c (revision 33060) +++ trunk/src_plugins/export_ipcd356/ipcd356.c (revision 33061) @@ -478,6 +478,7 @@ void pplg_uninit_export_ipcd356(void) { rnd_export_remove_opts_by_cookie(ipcd356_cookie); + rnd_hid_remove_hid(&ipcd356_hid); } int pplg_init_export_ipcd356(void) Index: trunk/src_plugins/export_lpr/lpr.c =================================================================== --- trunk/src_plugins/export_lpr/lpr.c (revision 33060) +++ trunk/src_plugins/export_lpr/lpr.c (revision 33061) @@ -120,6 +120,7 @@ void pplg_uninit_export_lpr(void) { rnd_remove_actions_by_cookie(lpr_cookie); + rnd_hid_remove_hid(&lpr_hid); } int pplg_init_export_lpr(void) Index: trunk/src_plugins/export_openems/export_openems.c =================================================================== --- trunk/src_plugins/export_openems/export_openems.c (revision 33060) +++ trunk/src_plugins/export_openems/export_openems.c (revision 33061) @@ -920,6 +920,7 @@ pcb_openems_excitation_uninit(); rnd_remove_actions_by_cookie(openems_cookie); rnd_export_remove_opts_by_cookie(openems_cookie); + rnd_hid_remove_hid(&openems_hid); } int pplg_init_export_openems(void) Index: trunk/src_plugins/export_openscad/export_openscad.c =================================================================== --- trunk/src_plugins/export_openscad/export_openscad.c (revision 33060) +++ trunk/src_plugins/export_openscad/export_openscad.c (revision 33061) @@ -663,6 +663,7 @@ { rnd_export_remove_opts_by_cookie(openscad_cookie); rnd_remove_actions_by_cookie(openscad_cookie); + rnd_hid_remove_hid(&openscad_hid); } int pplg_init_export_openscad(void) Index: trunk/src_plugins/export_png/png.c =================================================================== --- trunk/src_plugins/export_png/png.c (revision 33060) +++ trunk/src_plugins/export_png/png.c (revision 33061) @@ -1404,6 +1404,9 @@ void pplg_uninit_export_png(void) { rnd_export_remove_opts_by_cookie(png_cookie); +#ifdef HAVE_SOME_FORMAT + rnd_hid_remove_hid(&png_hid); +#endif } int pplg_init_export_png(void) Index: trunk/src_plugins/export_ps/eps.c =================================================================== --- trunk/src_plugins/export_ps/eps.c (revision 33060) +++ trunk/src_plugins/export_ps/eps.c (revision 33061) @@ -648,6 +648,11 @@ return 0; } +void hid_eps_uninit() +{ + rnd_hid_remove_hid(&eps_hid); +} + void hid_eps_init() { memset(&eps_hid, 0, sizeof(rnd_hid_t)); Index: trunk/src_plugins/export_ps/ps.c =================================================================== --- trunk/src_plugins/export_ps/ps.c (revision 33060) +++ trunk/src_plugins/export_ps/ps.c (revision 33061) @@ -1480,6 +1480,8 @@ void pplg_uninit_export_ps(void) { plugin_ps_uninit(); + rnd_hid_remove_hid(&ps_hid); + hid_eps_uninit(); } int pplg_init_export_ps(void) Index: trunk/src_plugins/export_ps/ps.h =================================================================== --- trunk/src_plugins/export_ps/ps.h (revision 33060) +++ trunk/src_plugins/export_ps/ps.h (revision 33061) @@ -4,4 +4,5 @@ extern void ps_start_file(FILE *); extern void ps_calibrate_1(rnd_hid_t *hid, double, double, int); extern void hid_eps_init(); +extern void hid_eps_uninit(); void ps_ps_init(rnd_hid_t * hid); Index: trunk/src_plugins/export_stat/stat.c =================================================================== --- trunk/src_plugins/export_stat/stat.c (revision 33060) +++ trunk/src_plugins/export_stat/stat.c (revision 33061) @@ -394,6 +394,7 @@ stat_attribute_list[HA_first_ver].default_val.str = NULL; stat_attribute_list[HA_license].default_val.str = NULL; rnd_export_remove_opts_by_cookie(stat_cookie); + rnd_hid_remove_hid(&stat_hid); } int pplg_init_export_stat(void) Index: trunk/src_plugins/export_stl/export_stl.c =================================================================== --- trunk/src_plugins/export_stl/export_stl.c (revision 33060) +++ trunk/src_plugins/export_stl/export_stl.c (revision 33061) @@ -520,6 +520,7 @@ void pplg_uninit_export_stl(void) { rnd_remove_actions_by_cookie(stl_cookie); + rnd_hid_remove_hid(&stl_hid); } int pplg_init_export_stl(void) Index: trunk/src_plugins/export_svg/svg.c =================================================================== --- trunk/src_plugins/export_svg/svg.c (revision 33060) +++ trunk/src_plugins/export_svg/svg.c (revision 33061) @@ -897,6 +897,7 @@ void pplg_uninit_export_svg(void) { rnd_export_remove_opts_by_cookie(svg_cookie); + rnd_hid_remove_hid(&svg_hid); } int pplg_init_export_svg(void) Index: trunk/src_plugins/export_vfs_fuse/export_vfs_fuse.c =================================================================== --- trunk/src_plugins/export_vfs_fuse/export_vfs_fuse.c (revision 33060) +++ trunk/src_plugins/export_vfs_fuse/export_vfs_fuse.c (revision 33061) @@ -361,6 +361,7 @@ fuse_argv = NULL; free(fuse_ret_argv); fuse_ret_argv = NULL; + rnd_hid_remove_hid(&export_vfs_fuse_hid); } int pplg_init_export_vfs_fuse(void) Index: trunk/src_plugins/export_vfs_mc/export_vfs_mc.c =================================================================== --- trunk/src_plugins/export_vfs_mc/export_vfs_mc.c (revision 33060) +++ trunk/src_plugins/export_vfs_mc/export_vfs_mc.c (revision 33061) @@ -146,6 +146,7 @@ void pplg_uninit_export_vfs_mc(void) { rnd_export_remove_opts_by_cookie(export_vfs_mc_cookie); + rnd_hid_remove_hid(&export_vfs_mc_hid); } int pplg_init_export_vfs_mc(void) Index: trunk/src_plugins/export_xy/xy.c =================================================================== --- trunk/src_plugins/export_xy/xy.c (revision 33060) +++ trunk/src_plugins/export_xy/xy.c (revision 33061) @@ -856,6 +856,7 @@ free_fmts(); vts0_uninit(&fmt_names); vts0_uninit(&fmt_ids); + rnd_hid_remove_hid(&xy_hid); } Index: trunk/src_plugins/io_tedax/tetest.c =================================================================== --- trunk/src_plugins/io_tedax/tetest.c (revision 33060) +++ trunk/src_plugins/io_tedax/tetest.c (revision 33061) @@ -244,6 +244,7 @@ void tedax_etest_uninit(void) { rnd_export_remove_opts_by_cookie(tedax_etest_cookie); + rnd_hid_remove_hid(&exp_tedax_etest); } void tedax_etest_init(void)