diff options
Diffstat (limited to 'source/gameengine/Converter/BL_BlenderDataConversion.cpp')
-rw-r--r-- | source/gameengine/Converter/BL_BlenderDataConversion.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp index 9998f10e417..9dfad5bc0ed 100644 --- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp +++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp @@ -941,15 +941,16 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, KX_Scene* scene, // Without checking names, we get some reuse we don't want that can cause // problems with material LoDs. - if ((meshobj = converter->FindGameMesh(mesh/*, ob->lay*/)) != NULL) { - STR_String bge_name = meshobj->GetName(); - STR_String blender_name = ((Mesh*)blenderobj->data)->id.name+2; - if (bge_name == blender_name) + if (blenderobj && ((meshobj = converter->FindGameMesh(mesh/*, ob->lay*/)) != NULL)) { + const char *bge_name = meshobj->GetName().ReadPtr(); + const char *blender_name = ((ID *)blenderobj->data)->name + 2; + if (STREQ(bge_name, blender_name)) { return meshobj; + } } // Get DerivedMesh data - DerivedMesh *dm = CDDM_from_mesh(mesh, blenderobj); + DerivedMesh *dm = CDDM_from_mesh(mesh); DM_ensure_tessface(dm); MVert *mvert = dm->getVertArray(dm); |