summaryrefslogtreecommitdiff
path: root/external/libgltf/patches/free_file_buffers.patch
blob: 9f92da3b8a27753e94d013109a617ce3d6b4e74b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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
+}