Просмотр исходного кода

Fix memory leak in LoadGLTF when model has no bones (#5629)

Co-authored-by: Victor <victor@localhost.localdomain>
pull/5633/head
victorberdugo1 5 дней назад
committed by GitHub
Родитель
Сommit
78023ffca5
Не найден GPG ключ соответствующий данной подписи Идентификатор GPG ключа: B5690EEEBB952194
1 измененных файлов: 11 добавлений и 1 удалений
  1. +11
    -1
      src/rmodels.c

+ 11
- 1
src/rmodels.c Просмотреть файл

@ -5511,8 +5511,10 @@ static Model LoadGLTF(const char *fileName)
if (dracoCompression)
{
return model;
TRACELOG(LOG_WARNING, "MODEL: [%s] Failed to load glTF data", fileName);
cgltf_free(data);
UnloadFileData(fileData);
return model;
}
TRACELOG(LOG_DEBUG, " > Primitives (triangles only) count based on hierarchy : %i", primitivesCount);
@ -6334,6 +6336,14 @@ static Model LoadGLTF(const char *fileName)
for (int j = 0; j < model.skeleton.boneCount; j++) model.boneMatrices[j] = MatrixIdentity();
//----------------------------------------------------------------------------------------------------
if (model.skeleton.boneCount == 0)
{
RL_FREE(model.currentPose);
RL_FREE(model.boneMatrices);
model.currentPose = NULL;
model.boneMatrices = NULL;
}
// Free all cgltf loaded data
cgltf_free(data);
}

Загрузка…
Отмена
Сохранить