Added back code which was commented out for debug reasons
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 5 Mar 2014 08:52:00 +0000 (14:52 +0600)
committerSergey Sharybin <sergey.vfx@gmail.com>
Wed, 5 Mar 2014 08:52:00 +0000 (14:52 +0600)
Also added a patchset for Carve's memory leak fix.

extern/carve/carve-capi.cc
extern/carve/patches/memory_leak_fix.patch [new file with mode: 0644]
extern/carve/patches/series

index ef7a95e578b17c4dd0b107c235713f5afc3755ce..a65d1a8d76696359d5878e3ef430a83dc87a44ff 100644 (file)
@@ -720,7 +720,7 @@ bool carve_performBooleanOperation(CarveMeshDescr *left_mesh,
                if (output_descr->poly) {
                        output_descr->poly->transform(rev_r);
 
-                       //dissolveTriangulatedEdges(output_descr);
+                       dissolveTriangulatedEdges(output_descr);
                }
        }
        catch (carve::exception e) {
diff --git a/extern/carve/patches/memory_leak_fix.patch b/extern/carve/patches/memory_leak_fix.patch
new file mode 100644 (file)
index 0000000..c6aff1b
--- /dev/null
@@ -0,0 +1,11 @@
+diff -r e82d852e4fb0 include/carve/csg_triangulator.hpp
+--- a/include/carve/csg_triangulator.hpp       Wed Jan 15 13:16:14 2014 +1100
++++ b/include/carve/csg_triangulator.hpp       Wed Mar 05 14:43:56 2014 +0600
+@@ -426,6 +426,7 @@
+             findPerimeter(grp_tris, vloop, grp_perim);
+             out_faces.push_back(face->create(grp_perim.begin(), grp_perim.end(), false));
+           }
++          delete face;
+         }
+         std::swap(faces, out_faces);
+       }
index 2c187af4808edf04901135743bea2b3e634289bb..b1254dd9a7d201dba037bdb5983fa3a969816656 100644 (file)
@@ -7,3 +7,4 @@ clang_is_heap_fix.patch
 strict_flags.patch
 interpolator_reorder.patch
 mesh_simplify_dissolve_edges.patch
+memory_leak_fix.patch