Cleanup: fix some weak assumptions in bone renaming code.
This commit is contained in:
@@ -328,7 +328,7 @@ static void namebutton_cb(bContext *C, void *tsep, char *oldname)
|
|||||||
BLI_strncpy(newname, ebone->name, sizeof(ebone->name));
|
BLI_strncpy(newname, ebone->name, sizeof(ebone->name));
|
||||||
BLI_strncpy(ebone->name, oldname, sizeof(ebone->name));
|
BLI_strncpy(ebone->name, oldname, sizeof(ebone->name));
|
||||||
ED_armature_bone_rename(obedit->data, oldname, newname);
|
ED_armature_bone_rename(obedit->data, oldname, newname);
|
||||||
WM_event_add_notifier(C, NC_OBJECT | ND_POSE, OBACT(view_layer));
|
WM_event_add_notifier(C, NC_OBJECT | ND_POSE, NULL);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -337,33 +337,30 @@ static void namebutton_cb(bContext *C, void *tsep, char *oldname)
|
|||||||
{
|
{
|
||||||
ViewLayer *view_layer = CTX_data_view_layer(C);
|
ViewLayer *view_layer = CTX_data_view_layer(C);
|
||||||
Scene *scene = CTX_data_scene(C);
|
Scene *scene = CTX_data_scene(C);
|
||||||
|
bArmature *arm = (bArmature *)tselem->id;
|
||||||
Bone *bone = te->directdata;
|
Bone *bone = te->directdata;
|
||||||
Object *ob;
|
|
||||||
char newname[sizeof(bone->name)];
|
char newname[sizeof(bone->name)];
|
||||||
|
|
||||||
/* always make current object active */
|
/* always make current object active */
|
||||||
tree_element_active(C, scene, view_layer, soops, te, OL_SETSEL_NORMAL, true);
|
tree_element_active(C, scene, view_layer, soops, te, OL_SETSEL_NORMAL, true);
|
||||||
ob = OBACT(view_layer);
|
|
||||||
|
|
||||||
/* restore bone name */
|
/* restore bone name */
|
||||||
BLI_strncpy(newname, bone->name, sizeof(bone->name));
|
BLI_strncpy(newname, bone->name, sizeof(bone->name));
|
||||||
BLI_strncpy(bone->name, oldname, sizeof(bone->name));
|
BLI_strncpy(bone->name, oldname, sizeof(bone->name));
|
||||||
ED_armature_bone_rename(ob->data, oldname, newname);
|
ED_armature_bone_rename(arm, oldname, newname);
|
||||||
WM_event_add_notifier(C, NC_OBJECT | ND_POSE, ob);
|
WM_event_add_notifier(C, NC_OBJECT | ND_POSE, NULL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TSE_POSE_CHANNEL:
|
case TSE_POSE_CHANNEL:
|
||||||
{
|
{
|
||||||
Scene *scene = CTX_data_scene(C);
|
Scene *scene = CTX_data_scene(C);
|
||||||
ViewLayer *view_layer = CTX_data_view_layer(C);
|
ViewLayer *view_layer = CTX_data_view_layer(C);
|
||||||
|
Object *ob = (Object *)tselem->id;
|
||||||
bPoseChannel *pchan = te->directdata;
|
bPoseChannel *pchan = te->directdata;
|
||||||
Object *ob;
|
|
||||||
char newname[sizeof(pchan->name)];
|
char newname[sizeof(pchan->name)];
|
||||||
|
|
||||||
/* always make current pose-bone active */
|
/* always make current pose-bone active */
|
||||||
tree_element_active(C, scene, view_layer, soops, te, OL_SETSEL_NORMAL, true);
|
tree_element_active(C, scene, view_layer, soops, te, OL_SETSEL_NORMAL, true);
|
||||||
ob = OBACT(view_layer);
|
|
||||||
|
|
||||||
BLI_assert(ob->type == OB_ARMATURE);
|
BLI_assert(ob->type == OB_ARMATURE);
|
||||||
|
|
||||||
@@ -371,7 +368,7 @@ static void namebutton_cb(bContext *C, void *tsep, char *oldname)
|
|||||||
BLI_strncpy(newname, pchan->name, sizeof(pchan->name));
|
BLI_strncpy(newname, pchan->name, sizeof(pchan->name));
|
||||||
BLI_strncpy(pchan->name, oldname, sizeof(pchan->name));
|
BLI_strncpy(pchan->name, oldname, sizeof(pchan->name));
|
||||||
ED_armature_bone_rename(ob->data, oldname, newname);
|
ED_armature_bone_rename(ob->data, oldname, newname);
|
||||||
WM_event_add_notifier(C, NC_OBJECT | ND_POSE, ob);
|
WM_event_add_notifier(C, NC_OBJECT | ND_POSE, NULL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TSE_POSEGRP:
|
case TSE_POSEGRP:
|
||||||
|
|||||||
Reference in New Issue
Block a user