Comments (4)
Thanks for finding the leaks! Care to submit a patch?
Original comment by [email protected]
on 13 Mar 2010 at 2:46
from poly2tri.
The CreateAdvancingFront leak seems to be a matter of dealing with this TODO in
Sweep::Fill() at sweep/sweep.cc line 210:
- // TODO: delete node from memory
- //tcx.RemoveNode(node);
+ tcx.RemoveNode(&node);
And then we have to avoid using the freed memory in Sweep::FillAdvancingFront()
line
230 and similarly at line 240. Partial workaround:
- Fill(tcx, *node);
- node = node->next;
+ Node *tmp = node;
+ node = node->next;
+ Fill(tcx, *tmp);
That works with 'dude.dat' but segfaults with some other tests like 'bird.dat'.
There are other pointers to the node being deleted... I don't have time to sort
it
all out now.
Original comment by [email protected]
on 9 Apr 2010 at 3:27
from poly2tri.
The problem stems from NOT deleting nodes from memory after they are discarded
from
the advancing front. I know how to fix; it's just a matter of finding the time.
Original comment by [email protected]
on 9 Apr 2010 at 3:31
- Changed state: Accepted
from poly2tri.
Fixed memory leaks by manually deleting nodes in obvious places when they're no
longer
needed. There were still a few strays that I did not track down, although I
solved
this problem by simply stuffing all new nodes into a vector container. If
there's ever
a need for a non-STL version someone will need to spend a little extra time and
fix.
Original comment by [email protected]
on 23 Apr 2010 at 5:24
- Changed state: Fixed
from poly2tri.
Related Issues (20)
- Java source unbuildable in 1.7+
- Build failed when compliling with -we4715
- Java findbugs - nullcheck of value previously dereferenced HOT 1
- [java] Tessellation with hole error HOT 4
- Polygon with hole HOT 10
- [java] Missing triangle in non-constrained delaunay HOT 3
- Problem building library
- the EPSILON value is not exported in the python/cython version HOT 1
- Compilation fails with MSVC
- CMake build script
- Inconsistent behavior with holes that share a point HOT 17
- add typedef for "double"
- add typedef for std::vector<Point*>, std::vector<Triangle*> and other containers
- Triangulate crashes in sweep.cc:703 HOT 3
- java version compile error HOT 3
- Polygon.getHoles() missing HOT 5
- poly2tri crashes on a very simple geometry HOT 1
- crash with attached polygon HOT 2
- Crash when triangulating a polygon HOT 1
- crash with square polygon HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from poly2tri.