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_object_force.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_object_force.c')
-rw-r--r--source/blender/makesrna/intern/rna_object_force.c28
1 files changed, 20 insertions, 8 deletions
diff --git a/source/blender/makesrna/intern/rna_object_force.c b/source/blender/makesrna/intern/rna_object_force.c
index ab8b54334fe..2d3f2ddf699 100644
--- a/source/blender/makesrna/intern/rna_object_force.c
+++ b/source/blender/makesrna/intern/rna_object_force.c
@@ -320,7 +320,10 @@ static char *rna_CollisionSettings_path(PointerRNA *UNUSED(ptr))
ModifierData *md = (ModifierData *)modifiers_findByType(ob, eModifierType_Collision);
if (md) {
- return BLI_sprintfN("modifiers[\"%s\"].settings", md->name);
+ char name_esc[sizeof(md->name) * 2];
+
+ BLI_strescape(name_esc, md->name, sizeof(name_esc));
+ return BLI_sprintfN("modifiers[\"%s\"].settings", name_esc);
}
else {
return BLI_strdup("");
@@ -462,8 +465,10 @@ static char *rna_SoftBodySettings_path(PointerRNA *ptr)
{
Object *ob = (Object *)ptr->id.data;
ModifierData *md = (ModifierData *)modifiers_findByType(ob, eModifierType_Softbody);
-
- return BLI_sprintfN("modifiers[\"%s\"].settings", md->name);
+ char name_esc[sizeof(md->name) * 2];
+
+ BLI_strescape(name_esc, md->name, sizeof(name_esc));
+ return BLI_sprintfN("modifiers[\"%s\"].settings", name_esc);
}
static int particle_id_check(PointerRNA *ptr)
@@ -613,13 +618,16 @@ static char *rna_EffectorWeight_path(PointerRNA *ptr)
else {
Object *ob = (Object *)ptr->id.data;
ModifierData *md;
+ char name_esc[sizeof(md->name) * 2];
+
+ BLI_strescape(name_esc, md->name, sizeof(name_esc));
/* check softbody modifier */
md = (ModifierData *)modifiers_findByType(ob, eModifierType_Softbody);
if (md) {
/* no pointer from modifier data to actual softbody storage, would be good to add */
if (ob->soft->effector_weights == ew)
- return BLI_sprintfN("modifiers[\"%s\"].settings.effector_weights", md->name);
+ return BLI_sprintfN("modifiers[\"%s\"].settings.effector_weights", name_esc);
}
/* check cloth modifier */
@@ -628,7 +636,7 @@ static char *rna_EffectorWeight_path(PointerRNA *ptr)
ClothModifierData *cmd = (ClothModifierData *)md;
if (cmd->sim_parms->effector_weights == ew)
- return BLI_sprintfN("modifiers[\"%s\"].settings.effector_weights", md->name);
+ return BLI_sprintfN("modifiers[\"%s\"].settings.effector_weights", name_esc);
}
/* check smoke modifier */
@@ -637,7 +645,7 @@ static char *rna_EffectorWeight_path(PointerRNA *ptr)
SmokeModifierData *smd = (SmokeModifierData *)md;
if (smd->domain->effector_weights == ew)
- return BLI_sprintfN("modifiers[\"%s\"].settings.effector_weights", md->name);
+ return BLI_sprintfN("modifiers[\"%s\"].settings.effector_weights", name_esc);
}
/* check dynamic paint modifier */
@@ -649,9 +657,13 @@ static char *rna_EffectorWeight_path(PointerRNA *ptr)
DynamicPaintSurface *surface = pmd->canvas->surfaces.first;
for (; surface; surface = surface->next) {
- if (surface->effector_weights == ew)
+ if (surface->effector_weights == ew) {
+ char name_esc_surface[sizeof(surface->name) * 2];
+
+ BLI_strescape(name_esc_surface, surface->name, sizeof(name_esc_surface));
return BLI_sprintfN("modifiers[\"%s\"].canvas_settings.canvas_surfaces[\"%s\"]"
- ".effector_weights", md->name, surface->name);
+ ".effector_weights", name_esc, name_esc_surface);
+ }
}
}
}