Index: trunk/src/change.c =================================================================== --- trunk/src/change.c (revision 16298) +++ trunk/src/change.c (revision 16299) @@ -744,10 +744,15 @@ case PCB_OBJ_TEXT: if ((parent_subc != NULL) && !PCB_FLAG_TEST(PCB_FLAG_FLOATER, obj) && !PCB_FLAG_TEST(PCB_FLAG_DYNTEXT, obj)) goto term_name; /* special case: dyntext floaters are rarely temrinals */ + if ((parent_subc != NULL) && PCB_FLAG_TEST(PCB_FLAG_DYNTEXT, obj) && (strstr(((pcb_text_t *)obj)->TextString, "%a.parent.refdes%"))) { + obj = (pcb_any_obj_t *)parent_subc; + goto subc_name; + } name = pcb_gui->prompt_for("Enter text:", PCB_EMPTY(((pcb_text_t *)obj)->TextString)); break; case PCB_OBJ_SUBC: + subc_name:; name = pcb_gui->prompt_for("Subcircuit refdes:", PCB_EMPTY(((pcb_subc_t *)obj)->refdes)); break;