Index: trunk/src/plug_footprint.c =================================================================== --- trunk/src/plug_footprint.c (revision 7933) +++ trunk/src/plug_footprint.c (revision 7934) @@ -397,8 +397,10 @@ return (1); } -int pcb_fp_rehash(void) +int pcb_fp_rehash(pcb_fplibrary_t *l) { - pcb_fp_free_children(&pcb_library); - return pcb_fp_read_lib_all(); + if (l == NULL) { + pcb_fp_free_children(&pcb_library); + return pcb_fp_read_lib_all(); + } } Index: trunk/src/plug_footprint.h =================================================================== --- trunk/src/plug_footprint.h (revision 7933) +++ trunk/src/plug_footprint.h (revision 7934) @@ -86,6 +86,6 @@ int pcb_fp_host_uninit(void); /* rescan/reload all footprints in the library cache */ -int pcb_fp_rehash(void); +int pcb_fp_rehash(pcb_fplibrary_t *l); #endif Index: trunk/src/plug_footprint_act.c =================================================================== --- trunk/src/plug_footprint_act.c (revision 7933) +++ trunk/src/plug_footprint_act.c (revision 7934) @@ -31,7 +31,7 @@ static const char pcb_acth_fp_rehash[] = "Flush the library index; rescan all library search paths and rebuild the library index. Useful if there are changes in the library during a pcb-rnd session."; static int pcb_act_fp_rehash(int argc, const char **argv, pcb_coord_t x, pcb_coord_t y) { - pcb_fp_rehash(); + pcb_fp_rehash(NULL); return 0; } Index: trunk/src_plugins/lib_gtk_config/gui-config.c =================================================================== --- trunk/src_plugins/lib_gtk_config/gui-config.c (revision 7933) +++ trunk/src_plugins/lib_gtk_config/gui-config.c (revision 7934) @@ -1037,7 +1037,7 @@ static void config_library_apply(void) { - pcb_fp_rehash(); + pcb_fp_rehash(NULL); } static char *get_misc_col_data(int row, int col, lht_node_t * nd)