diff options
author | Zolnai Tamás <tamas.zolnai@collabora.com> | 2014-05-28 13:07:38 +0200 |
---|---|---|
committer | Zolnai Tamás <tamas.zolnai@collabora.com> | 2014-05-28 13:08:11 +0200 |
commit | 32f60d78b15b5f2c677e8687720665f6814fef62 (patch) | |
tree | 883dcdc64894f04ebe6d1e630ab5102bd65b8082 /external/libgltf | |
parent | aa8b268935b07c9bf95a596ee84c76eed4c03634 (diff) |
libgltf: solve this memory leak problem on a better way 2
Handle those cases when file loading failes.
Release *.json file on a different way since it is allocated
by libgltf (inside the glTFHandle).
(cherry picked from commit fafc1e29c1f060c1a44361a0445300f9786ad6f4)
Change-Id: Idf6c6971a8ac1b342d89dc4f61a62624183e01d0
Diffstat (limited to 'external/libgltf')
-rw-r--r-- | external/libgltf/UnpackedTarball_libgltf.mk | 1 | ||||
-rw-r--r-- | external/libgltf/patches/free_file_buffers.patch | 58 |
2 files changed, 0 insertions, 59 deletions
diff --git a/external/libgltf/UnpackedTarball_libgltf.mk b/external/libgltf/UnpackedTarball_libgltf.mk index 65262eac81df..ce5ad79141a7 100644 --- a/external/libgltf/UnpackedTarball_libgltf.mk +++ b/external/libgltf/UnpackedTarball_libgltf.mk @@ -19,7 +19,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,libgltf,\ external/libgltf/patches/include_path_glew.patch \ external/libgltf/patches/include_path_freetype.patch \ external/libgltf/patches/openmp-disable.patch \ - external/libgltf/patches/free_file_buffers.patch \ external/libgltf/patches/rgba_textures.patch \ )) diff --git a/external/libgltf/patches/free_file_buffers.patch b/external/libgltf/patches/free_file_buffers.patch deleted file mode 100644 index 9f92da3b8a27..000000000000 --- a/external/libgltf/patches/free_file_buffers.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff -ur libgltf.org/src/LoadScene.cpp libgltf/src/LoadScene.cpp ---- libgltf.org/src/LoadScene.cpp 2014-05-26 21:46:51.986986538 +0200 -+++ libgltf/src/LoadScene.cpp 2014-05-26 21:47:28.206985004 +0200 -@@ -127,7 +127,7 @@ - return gHandle;
- }
-
--bool Parser::releaseFileName()
-+bool Parser::releaseFiles()
- {
- glTFHandle* gHandle = pScene->getGltfHandle();
- for (int i = (int)gHandle->size - 1 ; i >= 0 ; i--)
-@@ -137,6 +137,7 @@ - free(gHandle->files[i].filename);
- gHandle->files[i].filename = NULL;
- }
-+ delete [] gHandle->files[i].buffer;
- }
-
- if (gHandle->files != NULL)
-diff -ur libgltf.org/src/LoadScene.h libgltf/src/LoadScene.h ---- libgltf.org/src/LoadScene.h 2014-05-26 21:46:51.986986538 +0200 -+++ libgltf/src/LoadScene.h 2014-05-26 21:47:33.170984793 +0200 -@@ -26,7 +26,7 @@ - {
- public:
- glTFHandle* getFileNameInJson(const std::string& jsonFile);
-- bool releaseFileName();
-+ bool releaseFiles();
- int parseScene(Scene* pscene);
- bool parseJsonFile();
- void setJsonInfo(const std::string& sbuffer);
-@@ -81,4 +81,4 @@ - bool is_json_in_buffer;
- };
-
--#endif -\ No newline at end of file -+#endif
-diff -ur libgltf.org/src/RenderScene.cpp libgltf/src/RenderScene.cpp ---- libgltf.org/src/RenderScene.cpp 2014-05-26 21:46:51.986986538 +0200 -+++ libgltf/src/RenderScene.cpp 2014-05-26 21:47:39.358984531 +0200 -@@ -1426,7 +1426,7 @@ -
- void RenderScene::releaseRender()
- {
-- mLoadJson.releaseFileName();
-+ mLoadJson.releaseFiles();
- fbo.releaseFbo();
- return;
- }
-@@ -1543,4 +1543,4 @@ - int RenderScene::isAnimPlay()
- {
- return this->mAnimationPlay ? 1 : 0;
--} -\ No newline at end of file -+}
|