Index: trunk/src/obj_subc.c =================================================================== --- trunk/src/obj_subc.c (revision 9840) +++ trunk/src/obj_subc.c (revision 9841) @@ -41,6 +41,7 @@ #include "undo.h" #include "compat_misc.h" #include "math_helper.h" +#include "pcb_minuid.h" #define SUBC_AUX_NAME "subc-aux" @@ -51,6 +52,7 @@ sc->data = pcb_data_new(NULL); sc->type = PCB_OBJ_SUBC; PCB_SET_PARENT(sc->data, subc, sc); + minuid_gen(&pcb_minuid, sc->uid); return sc; } @@ -293,6 +295,7 @@ int n; pcb_subc_t *sc = pcb_subc_alloc(); sc->ID = pcb_create_ID_get(); + minuid_cpy(sc->uid, src->uid); PCB_SET_PARENT(sc->data, subc, sc); PCB_SET_PARENT(sc, data, dst); pcb_subclist_append(&dst->subc, sc); Index: trunk/src/obj_subc.h =================================================================== --- trunk/src/obj_subc.h (revision 9840) +++ trunk/src/obj_subc.h (revision 9841) @@ -26,9 +26,11 @@ #ifndef PCB_OBJ_SUBC_H #define PCB_OBJ_SUBC_H +#include #include "obj_common.h" #include "global_typedefs.h" + typedef enum pcb_subc_cached_s { PCB_SUBCH_ORIGIN, PCB_SUBCH_X, @@ -38,7 +40,7 @@ struct pcb_subc_s { PCB_ANYOBJECTFIELDS; - char uid[64]; /* globally unique ID */ + minuid_bin_t uid; pcb_data_t *data; pcb_line_t *aux_cache[PCB_SUBCH_max]; pcb_layer_t *aux_layer;