forked from enlightenment/efl
Evas 3d: Fix some potential crashes
Those were happening before the previous patches.
This commit is contained in:
parent
60e6030f36
commit
b13502f20a
|
@ -189,25 +189,28 @@ _evas_canvas3d_eet_descriptor_shutdown()
|
|||
void
|
||||
_evas_canvas3d_eet_file_free(Evas_Canvas3D_File_Eet* eet_file)
|
||||
{
|
||||
if (eet_file->mesh)
|
||||
if (eet_file)
|
||||
{
|
||||
free(eet_file->mesh->geometries[0].vertices);
|
||||
free(eet_file->mesh->geometries);
|
||||
free(eet_file->mesh->frames);
|
||||
free(eet_file->mesh->materials[0].colors);
|
||||
free(eet_file->mesh->materials);
|
||||
free(eet_file->mesh);
|
||||
if (eet_file->mesh)
|
||||
{
|
||||
free(eet_file->mesh->geometries[0].vertices);
|
||||
free(eet_file->mesh->geometries);
|
||||
free(eet_file->mesh->frames);
|
||||
free(eet_file->mesh->materials[0].colors);
|
||||
free(eet_file->mesh->materials);
|
||||
free(eet_file->mesh);
|
||||
}
|
||||
|
||||
if (eet_file->header)
|
||||
{
|
||||
free(eet_file->header->materials);
|
||||
free(eet_file->header->geometries);
|
||||
free(eet_file->header);
|
||||
}
|
||||
|
||||
free(eet_file);
|
||||
}
|
||||
|
||||
if (eet_file->header)
|
||||
{
|
||||
free(eet_file->header->materials);
|
||||
free(eet_file->header->geometries);
|
||||
free(eet_file->header);
|
||||
}
|
||||
|
||||
free(eet_file);
|
||||
eet_file = NULL;
|
||||
_evas_canvas3d_eet_descriptor_shutdown();
|
||||
eet_shutdown();
|
||||
eina_shutdown();
|
||||
|
|
|
@ -115,9 +115,9 @@ evas_model_load_file_eet(Evas_Canvas3D_Mesh *mesh, Eina_File *file)
|
|||
|
||||
eet_close(ef);
|
||||
|
||||
if ((eet_file->mesh == NULL) || (eet_file->header == NULL))
|
||||
if (!eet_file || !eet_file->mesh || !eet_file->header)
|
||||
{
|
||||
ERR("Reading of file is failed.");
|
||||
ERR("Failed to read model file");
|
||||
_evas_canvas3d_eet_file_free(eet_file);
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue