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_key.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_key.c')
-rw-r--r--source/blender/makesrna/intern/rna_key.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/source/blender/makesrna/intern/rna_key.c b/source/blender/makesrna/intern/rna_key.c
index b84436820b8..4e8b8d7b1a7 100644
--- a/source/blender/makesrna/intern/rna_key.c
+++ b/source/blender/makesrna/intern/rna_key.c
@@ -351,11 +351,14 @@ static char *rna_ShapeKey_path(PointerRNA *ptr)
{
KeyBlock *kb = (KeyBlock *)ptr->data;
ID *id = ptr->id.data;
-
+ char name_esc[sizeof(kb->name) * 2];
+
+ BLI_strescape(name_esc, kb->name, sizeof(name_esc));
+
if ((id) && (GS(id->name) != ID_KE))
- return BLI_sprintfN("shape_keys.key_blocks[\"%s\"]", kb->name);
+ return BLI_sprintfN("shape_keys.key_blocks[\"%s\"]", name_esc);
else
- return BLI_sprintfN("key_blocks[\"%s\"]", kb->name);
+ return BLI_sprintfN("key_blocks[\"%s\"]", name_esc);
}
static void rna_Key_update_data(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
@@ -436,12 +439,15 @@ static char *rna_ShapeKeyPoint_path(PointerRNA *ptr)
kb = rna_ShapeKeyData_find_keyblock(key, point);
if (kb) {
+ char name_esc_kb[sizeof(kb->name) * 2];
int index = rna_ShapeKeyPoint_get_index(key, kb, point);
+
+ BLI_strescape(name_esc_kb, kb->name, sizeof(name_esc_kb));
if (GS(id->name) == ID_KE)
- return BLI_sprintfN("key_blocks[\"%s\"].data[%d]", kb->name, index);
+ return BLI_sprintfN("key_blocks[\"%s\"].data[%d]", name_esc_kb, index);
else
- return BLI_sprintfN("shape_keys.key_blocks[\"%s\"].data[%d]", kb->name, index);
+ return BLI_sprintfN("shape_keys.key_blocks[\"%s\"].data[%d]", name_esc_kb, index);
}
else
return NULL; /* XXX: there's really no way to resolve this... */