Index: board.c =================================================================== --- board.c (revision 34157) +++ board.c (working copy) @@ -61,6 +61,7 @@ free(pcb->PrintFilename); pcb_ratspatch_destroy(pcb); pcb_data_free(pcb->Data); + pcb_data_free(pcb->uilayer_data); /* release font symbols */ pcb_fontkit_free(&pcb->fontkit); @@ -84,6 +85,7 @@ /* allocate memory, switch all layers on and copy resources */ ptr = calloc(1, sizeof(pcb_board_t)); ptr->Data = pcb_buffer_new(ptr); + ptr->uilayer_data = pcb_buffer_new(ptr); for(i = 0; i < PCB_NUM_NETLISTS; i++) pcb_netlist_init(&(ptr->netlist[i])); Index: board.h =================================================================== --- board.h (revision 34157) +++ board.h (working copy) @@ -98,6 +98,8 @@ int line_mod_merge_inhibit; struct vtp0_s *line_mod_merge; + pcb_data_t *uilayer_data; /* parent of all UI layers */ + /* random */ unsigned suppress_warn_missing_font:1; /* do not warn for missing font; useful for alien formats not having embedded font */ };