From 1df63bf3cbec42e734fca56da90790ca7073528e Mon Sep 17 00:00:00 2001 From: Martin Capitanio Date: Thu, 28 Dec 2017 01:07:51 +0100 Subject: Avoid thekla_unwrap crash Godot crashed here sometimes by generating the uv map. --- modules/thekla_unwrap/register_types.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'modules') diff --git a/modules/thekla_unwrap/register_types.cpp b/modules/thekla_unwrap/register_types.cpp index da6c1bab2a..8420a1beaf 100644 --- a/modules/thekla_unwrap/register_types.cpp +++ b/modules/thekla_unwrap/register_types.cpp @@ -28,7 +28,9 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ #include "register_types.h" +#include "error_macros.h" #include "thirdparty/thekla_atlas/thekla/thekla_atlas.h" + #include #include extern bool (*array_mesh_lightmap_unwrap_callback)(float p_texel_size, const float *p_vertices, const float *p_normals, int p_vertex_count, const int *p_indices, const int *p_face_materials, int p_index_count, float **r_uv, int **r_vertex, int *r_vertex_count, int **r_index, int *r_index_count, int *r_size_hint_x, int *r_size_hint_y); @@ -74,6 +76,11 @@ bool thekla_mesh_lightmap_unwrap_callback(float p_texel_size, const float *p_ver delete[] input_mesh.face_array; delete[] input_mesh.vertex_array; + if (output == NULL) { + ERR_PRINT("could not generate atlas output mesh"); + return false; + } + if (err != Thekla::Atlas_Error_Success) { printf("error with atlas\n"); } else { -- cgit v1.2.3