Index: trunk/src/sch-rnd/util_sheet.c =================================================================== --- trunk/src/sch-rnd/util_sheet.c (revision 8981) +++ trunk/src/sch-rnd/util_sheet.c (revision 8982) @@ -42,10 +42,13 @@ csch_sheet_t *tmp = sch_rnd_sheet_new((csch_project_t *)dst->hidlib.project); htip_entry_t *e; for(e = htip_first(&tmp->direct.id2obj); e != NULL; e = htip_next(&tmp->direct.id2obj, e)) { - csch_cpen_t *p = e->value; + csch_cpen_t *p = e->value, *pnew; if (p->hdr.type == CSCH_CTYPE_PEN) { - if ((chk_copy_pen == NULL) || chk_copy_pen(udata, dst, p)) - csch_pen_dup(dst, &dst->direct, p); + if ((chk_copy_pen == NULL) || chk_copy_pen(udata, dst, p)) { + pnew = csch_pen_dup(dst, &dst->direct, p); + if (cfg & SCH_RND_SSC_PEN_MARK_DEFAULT) + pnew->copied_from_default = 1; + } } } csch_project_remove_sheet((csch_project_t *)dst->hidlib.project, tmp); Index: trunk/src/sch-rnd/util_sheet.h =================================================================== --- trunk/src/sch-rnd/util_sheet.h (revision 8981) +++ trunk/src/sch-rnd/util_sheet.h (revision 8982) @@ -1,8 +1,9 @@ #include typedef enum sch_rnd_sheet_setup_cfg_e { /* bitfield */ - SCH_RND_SSC_PENS = 1, /* create pens */ - SCH_RND_SSC_UUID = 2 /* set up a new uuid for direct */ + SCH_RND_SSC_PENS = 1, /* create pens */ + SCH_RND_SSC_UUID = 2, /* set up a new uuid for direct */ + SCH_RND_SSC_PEN_MARK_DEFAULT = 4 /* mark new pens copied from default */ } sch_rnd_sheet_setup_cfg_t; /* Copy defaults into dst (from the default sheet) as cfg dictates; if