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(ebone->name, oldname, sizeof(ebone->name));
 | 
			
		||||
						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;
 | 
			
		||||
				}
 | 
			
		||||
@@ -337,33 +337,30 @@ static void namebutton_cb(bContext *C, void *tsep, char *oldname)
 | 
			
		||||
				{
 | 
			
		||||
					ViewLayer *view_layer = CTX_data_view_layer(C);
 | 
			
		||||
					Scene *scene = CTX_data_scene(C);
 | 
			
		||||
					bArmature *arm = (bArmature *)tselem->id;
 | 
			
		||||
					Bone *bone = te->directdata;
 | 
			
		||||
					Object *ob;
 | 
			
		||||
					char newname[sizeof(bone->name)];
 | 
			
		||||
					
 | 
			
		||||
					/* always make current object active */
 | 
			
		||||
					tree_element_active(C, scene, view_layer, soops, te, OL_SETSEL_NORMAL, true);
 | 
			
		||||
					ob = OBACT(view_layer);
 | 
			
		||||
					
 | 
			
		||||
					/* restore bone name */
 | 
			
		||||
					BLI_strncpy(newname, bone->name, sizeof(bone->name));
 | 
			
		||||
					BLI_strncpy(bone->name, oldname, sizeof(bone->name));
 | 
			
		||||
					ED_armature_bone_rename(ob->data, oldname, newname);
 | 
			
		||||
					WM_event_add_notifier(C, NC_OBJECT | ND_POSE, ob);
 | 
			
		||||
					ED_armature_bone_rename(arm, oldname, newname);
 | 
			
		||||
					WM_event_add_notifier(C, NC_OBJECT | ND_POSE, NULL);
 | 
			
		||||
					break;
 | 
			
		||||
				}
 | 
			
		||||
				case TSE_POSE_CHANNEL:
 | 
			
		||||
				{
 | 
			
		||||
					Scene *scene = CTX_data_scene(C);
 | 
			
		||||
					ViewLayer *view_layer = CTX_data_view_layer(C);
 | 
			
		||||
 | 
			
		||||
					Object *ob = (Object *)tselem->id;
 | 
			
		||||
					bPoseChannel *pchan = te->directdata;
 | 
			
		||||
					Object *ob;
 | 
			
		||||
					char newname[sizeof(pchan->name)];
 | 
			
		||||
					
 | 
			
		||||
					/* always make current pose-bone active */
 | 
			
		||||
					tree_element_active(C, scene, view_layer, soops, te, OL_SETSEL_NORMAL, true);
 | 
			
		||||
					ob = OBACT(view_layer);
 | 
			
		||||
 | 
			
		||||
					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(pchan->name, oldname, sizeof(pchan->name));
 | 
			
		||||
					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;
 | 
			
		||||
				}
 | 
			
		||||
				case TSE_POSEGRP:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user