Index: fp_wget.c =================================================================== --- fp_wget.c (revision 3502) +++ fp_wget.c (revision 3503) @@ -2,8 +2,13 @@ #include "gedasymbols.h" #include "plugins.h" +void hid_fp_wget_uninit(void) +{ + fp_gedasymbols_uninit(); +} + pcb_uninit_t hid_fp_wget_init(void) { fp_gedasymbols_init(); - return NULL; + return hid_fp_wget_uninit; } Index: gedasymbols.c =================================================================== --- gedasymbols.c (revision 3502) +++ gedasymbols.c (revision 3503) @@ -181,6 +181,11 @@ static plug_fp_t fp_gedasymbols; +void fp_gedasymbols_uninit(void) +{ + HOOK_UNREGISTER(plug_fp_t, plug_fp_chain, &fp_gedasymbols); +} + void fp_gedasymbols_init(void) { fp_gedasymbols.plugin_data = NULL; @@ -189,5 +194,4 @@ fp_gedasymbols.fclose = fp_gedasymbols_fclose; HOOK_REGISTER(plug_fp_t, plug_fp_chain, &fp_gedasymbols); -#warning TODO: make an uninit that calls HOOK_UNREGISTER } Index: gedasymbols.h =================================================================== --- gedasymbols.h (revision 3502) +++ gedasymbols.h (revision 3503) @@ -3,4 +3,5 @@ FILE *fp_gedasymbols_fopen(plug_fp_t *ctx, const char *path, const char *name, fp_fopen_ctx_t *fctx); void fp_gedasymbols_fclose(plug_fp_t *ctx, FILE * f, fp_fopen_ctx_t *fctx); void fp_gedasymbols_init(void); +void fp_gedasymbols_uninit(void);