Index: trunk/src/drc.h =================================================================== --- trunk/src/drc.h (revision 21158) +++ trunk/src/drc.h (revision 21159) @@ -36,6 +36,8 @@ typedef struct drc_violation_s pcb_drc_violation_t; struct drc_violation_s { + unsigned long int uid; /* ID unique for each violation within the drc subsystem (for GUI identification of violations) */ + char *title; char *explanation; Index: trunk/src/find_drc.c =================================================================== --- trunk/src/find_drc.c (revision 21158) +++ trunk/src/find_drc.c (revision 21159) @@ -40,6 +40,8 @@ static void GotoError(void); static pcb_bool DRCFind(pcb_drc_list_t *lst, int What, void *ptr1, void *ptr2, void *ptr3); +static unsigned long int pcb_drc_next_uid = 0; + static pcb_drc_violation_t *pcb_drc_violation_new( const char *title, const char *explanation, pcb_bool have_measured, pcb_coord_t measured_value, @@ -47,6 +49,9 @@ { pcb_drc_violation_t *violation = calloc(sizeof(pcb_drc_violation_t), 1); + pcb_drc_next_uid++; + violation->uid = pcb_drc_next_uid; + violation->title = pcb_strdup(title); violation->explanation = pcb_strdup(explanation); violation->have_measured = have_measured;