Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-04-24 00:10:22 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-04-24 00:10:22 +0400
commit7dde3551853018147d99e9454abb337384e7a32e (patch)
treea0255cc50e7621d8387baf68af03bc0a6366ce6a /source/blender/makesrna/intern/rna_constraint.c
parent9afdda36893276321f7da9af94babf7a5b7b62fe (diff)
fix [#34958] keyframe many items would fail if there was a (") in the text.
Diffstat (limited to 'source/blender/makesrna/intern/rna_constraint.c')
-rw-r--r--source/blender/makesrna/intern/rna_constraint.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/source/blender/makesrna/intern/rna_constraint.c b/source/blender/makesrna/intern/rna_constraint.c
index c96ea72fee2..05d4c5a59d2 100644
--- a/source/blender/makesrna/intern/rna_constraint.c
+++ b/source/blender/makesrna/intern/rna_constraint.c
@@ -251,14 +251,21 @@ static char *rna_Constraint_path(PointerRNA *ptr)
ListBase *lb = get_constraint_lb(ob, con, &pchan);
if (lb == NULL)
- printf("rna_Constraint_path: internal error, constraint '%s' not found in object '%s'\n",
- con->name, ob->id.name);
+ printf("%s: internal error, constraint '%s' not found in object '%s'\n",
+ __func__, con->name, ob->id.name);
if (pchan) {
- return BLI_sprintfN("pose.bones[\"%s\"].constraints[\"%s\"]", pchan->name, con->name);
+ char name_esc_pchan[sizeof(pchan->name) * 2];
+ char name_esc_const[sizeof(con->name) * 2];
+ BLI_strescape(name_esc_pchan, pchan->name, sizeof(name_esc_pchan));
+ BLI_strescape(name_esc_const, con->name, sizeof(name_esc_const));
+ return BLI_sprintfN("pose.bones[\"%s\"].constraints[\"%s\"]", name_esc_pchan, name_esc_const);
+ }
+ else {
+ char name_esc_const[sizeof(con->name) * 2];
+ BLI_strescape(name_esc_const, con->name, sizeof(name_esc_const));
+ return BLI_sprintfN("constraints[\"%s\"]", name_esc_const);
}
-
- return BLI_sprintfN("constraints[\"%s\"]", con->name);
}
static void rna_Constraint_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)