Index: trunk/src/change_act.c =================================================================== --- trunk/src/change_act.c (revision 20742) +++ trunk/src/change_act.c (revision 20743) @@ -494,11 +494,12 @@ } /* change the name of an object */ case F_Object: + case F_Refdes: { pcb_coord_t x, y; void *ptr1, *ptr2, *ptr3; pcb_hid_get_coords(_("Select an Object"), &x, &y, 0); - type = PCB_CHANGENAME_TYPES; + type = op == F_Refdes ? PCB_OBJ_SUBC : PCB_CHANGENAME_TYPES; do_chg_name:; if ((type = pcb_search_screen(x, y, type, &ptr1, &ptr2, &ptr3)) != PCB_OBJ_VOID) { pcb_undo_save_serial(); Index: trunk/src/funchash_core_list.h =================================================================== --- trunk/src/funchash_core_list.h (revision 20742) +++ trunk/src/funchash_core_list.h (revision 20743) @@ -95,6 +95,7 @@ action_entry(RatsNest) action_entry(Rectangle) action_entry(Redraw) +action_entry(Refdes) action_entry(Release) action_entry(Revert) action_entry(Remove) Index: trunk/src/pcb-menu-default.lht =================================================================== --- trunk/src/pcb-menu-default.lht (revision 20742) +++ trunk/src/pcb-menu-default.lht (revision 20743) @@ -144,6 +144,7 @@ ha:Change font on layout = { li:a={{e;o};} action=FontSel(Object) } li:submenu { ha:text or name = { li:a={{e;t};}; action=ChangeName(Object) } + ha:subcircuit refdes = { li:a={{e;r};}; action=ChangeName(Refdes) } ha:layout = { action=ChangeName(Layout) } ha:active layer = { action=ChangeName(Layer) } }