Fix [#25575] Collada import problem with Maya2010 exported collada files
authorNathan Letwory <nathan@letworyinteractive.com>
Mon, 10 Jan 2011 23:31:14 +0000 (23:31 +0000)
committerNathan Letwory <nathan@letworyinteractive.com>
Mon, 10 Jan 2011 23:31:14 +0000 (23:31 +0000)
Reported by Morten Mikkelsen

It seems that the maya export may generate invalid joint UIDs. Skip these joints to prevent crash.

source/blender/collada/SkinInfo.cpp

index 97d12f10c05f83473020101ac25a704dfec606b2..8d342daf486621574fbbf66a5918dbd91bb9b30c 100644 (file)
@@ -241,7 +241,11 @@ void SkinInfo::link_armature(bContext *C, Object *ob, std::map<COLLADAFW::Unique
        for (it = joint_data.begin(), joint_index = 0; it != joint_data.end(); it++, joint_index++) {
                const char *name = "Group";
 
+               // skip joints that have invalid UID
+               if ((*it).joint_uid == COLLADAFW::UniqueId::INVALID) continue;
+               
                // name group by joint node name
+               
                if (joint_by_uid.find((*it).joint_uid) != joint_by_uid.end()) {
                        name = bc_get_joint_name(joint_by_uid[(*it).joint_uid]);
                }