Bugfix #19663: Renaming named data doesn't fix F-Curves
authorJoshua Leung <aligorith@gmail.com>
Tue, 20 Oct 2009 03:44:35 +0000 (03:44 +0000)
committerJoshua Leung <aligorith@gmail.com>
Tue, 20 Oct 2009 03:44:35 +0000 (03:44 +0000)
commit7f133f65b2049546adddec77720c90aafb9add97
treec7ebbb8eb317f0dea27f9f338debe9e1f49035d6
parent9e6d1c6cfaf5e06d734a2a1124bd4ee3c030fd38
Bugfix #19663: Renaming named data doesn't fix F-Curves

RNA Paths used in F-Curve, Drivers, etc. now get renamed when some data that they use gets renamed. This only works when things like Bones, Constraints, Shape Keys, and Modifiers get renamed, but other cases can get added easily.

The code here only performs simple string replacements, so there is the potential for problems when several sets of data with the same names are present. For example, if there are multiple armatures with bones that have the same names, renaming a bone on one armature (with a bone on another armature having the same name) will break all the drivers on the other one, even though they aren't really connected. However, I don't expect the aforementioned scenario to really be a problem in most production scenarios.
source/blender/blenkernel/BKE_animsys.h
source/blender/blenkernel/intern/anim_sys.c
source/blender/editors/armature/editarmature.c
source/blender/makesrna/RNA_access.h
source/blender/makesrna/intern/rna_access.c
source/blender/makesrna/intern/rna_constraint.c
source/blender/makesrna/intern/rna_key.c
source/blender/makesrna/intern/rna_modifier.c