diff --git a/tiny_gltf_loader.h b/tiny_gltf_loader.h index 12f89d4..3d3e141 100644 --- a/tiny_gltf_loader.h +++ b/tiny_gltf_loader.h @@ -1343,8 +1343,10 @@ static bool ParseMesh(Mesh *mesh, std::string *err, const picojson::object &o) { (primObject->second).get(); for (size_t i = 0; i < primArray.size(); i++) { Primitive primitive; - ParsePrimitive(&primitive, err, primArray[i].get()); - mesh->primitives.push_back(primitive); + if(ParsePrimitive(&primitive, err, primArray[i].get())){ + // Only add the primitive if the parsing succeeds. + mesh->primitives.push_back(primitive); + } } }