Index: trunk/src/libcschem/libcschem.c =================================================================== --- trunk/src/libcschem/libcschem.c (revision 10289) +++ trunk/src/libcschem/libcschem.c (revision 10290) @@ -36,6 +36,7 @@ #include "buildin.h" #include "project_act.h" #include "project.h" +#include "project_p4.h" #include "plug_library.h" #include "integrity.h" #include "undo.h" @@ -69,6 +70,11 @@ csch_plug_library_uninit(); } +void csch_uninit_last(void) +{ + csch_p4_uninit(); +} + int csch_init_actions() { csch_actions_init(&rnd_fgw); /* custom fgw types */ Index: trunk/src/libcschem/libcschem.h =================================================================== --- trunk/src/libcschem/libcschem.h (revision 10289) +++ trunk/src/libcschem/libcschem.h (revision 10290) @@ -49,6 +49,7 @@ int csch_init(void); void csch_uninit(void); +void csch_uninit_last(void); /* call this after fungw uninit */ /* Insert all core actions to the global action hash */ int csch_init_actions(void); Index: trunk/src/libcschem/project_p4.c =================================================================== --- trunk/src/libcschem/project_p4.c (revision 10289) +++ trunk/src/libcschem/project_p4.c (revision 10290) @@ -112,3 +112,7 @@ } } +void csch_p4_uninit(void) +{ + vtp0_uninit(&p4cfgs); +} Index: trunk/src/libcschem/project_p4.h =================================================================== --- trunk/src/libcschem/project_p4.h (revision 10289) +++ trunk/src/libcschem/project_p4.h (revision 10290) @@ -101,5 +101,7 @@ return csch_p4_get_by_project(cfg, (csch_project_t *)sheet->hidlib.project); } +/*** For internal use ***/ +void csch_p4_uninit(void); #endif Index: trunk/src/sch-rnd/sch-rnd.c =================================================================== --- trunk/src/sch-rnd/sch-rnd.c (revision 10289) +++ trunk/src/sch-rnd/sch-rnd.c (revision 10290) @@ -306,6 +306,7 @@ fgw_atexit(); conf_core_uninit(); rnd_log_uninit(); + csch_uninit_last(); } extern const char *rnd_conf_internal;