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:
Diffstat (limited to 'source/blender/collada/DocumentExporter.cpp')
-rw-r--r--source/blender/collada/DocumentExporter.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/collada/DocumentExporter.cpp b/source/blender/collada/DocumentExporter.cpp
index ae00942b89d..a5b4b1423bf 100644
--- a/source/blender/collada/DocumentExporter.cpp
+++ b/source/blender/collada/DocumentExporter.cpp
@@ -236,8 +236,14 @@ static std::string translate_id(const std::string &id)
if (id.size() == 0)
{ return id; }
std::string id_translated = id;
- id_translated[0] = translate_start_name_map[(unsigned int)id_translated[0]];
- for (unsigned int i=1; i < id_translated.size(); i++)
+ int offset = 0;
+ // prepend '_' if the first character is illegal and not '_' already
+ if (id[0] != '_' && translate_start_name_map[(unsigned int)id[0]] == '_')
+ {
+ id_translated.insert(0, 1, '_');
+ offset = 1;
+ }
+ for (unsigned int i=offset; i < id_translated.size(); i++)
{
id_translated[i] = translate_name_map[(unsigned int)id_translated[i]];
}