diff options
| author | Markus Engel <markus.engel@tum.de> | 2013-03-29 23:52:42 +0000 |
|---|---|---|
| committer | Markus Engel <markus.engel@tum.de> | 2013-03-29 23:52:42 +0000 |
| commit | a168040d5a452544328a1e6ad35aaac351f94d44 (patch) | |
| tree | fae1ba829f543a473da281bd5fa6e4deabbf6912 /src/2geom/recursive-bezier-intersection.cpp | |
| parent | Removed function pointers from SPObject and subclasses. (diff) | |
| parent | Dutch translation update (diff) | |
| download | inkscape-a168040d5a452544328a1e6ad35aaac351f94d44.tar.gz inkscape-a168040d5a452544328a1e6ad35aaac351f94d44.zip | |
merged from trunk
(bzr r11608.1.56)
Diffstat (limited to 'src/2geom/recursive-bezier-intersection.cpp')
| -rw-r--r-- | src/2geom/recursive-bezier-intersection.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/2geom/recursive-bezier-intersection.cpp b/src/2geom/recursive-bezier-intersection.cpp index b4c81e08e..7db0438a7 100644 --- a/src/2geom/recursive-bezier-intersection.cpp +++ b/src/2geom/recursive-bezier-intersection.cpp @@ -81,7 +81,11 @@ const double INV_EPS = (1L<<14); */ void OldBezier::split(double t, OldBezier &left, OldBezier &right) const { const unsigned sz = p.size(); - Geom::Point Vtemp[sz][sz]; + + Geom::Point **Vtemp = new Geom::Point* [sz]; + + for (unsigned int i = 0; i < sz; ++i) + Vtemp[i] = new Geom::Point[sz]; /* Copy control points */ std::copy(p.begin(), p.end(), Vtemp[0]); @@ -99,6 +103,11 @@ void OldBezier::split(double t, OldBezier &left, OldBezier &right) const { left.p[j] = Vtemp[j][0]; for (unsigned j = 0; j < sz; j++) right.p[j] = Vtemp[sz-1-j][j]; + + for (unsigned int i = 0; i < sz; ++i) + delete[] Vtemp[i]; + + delete[] Vtemp; } #if 0 |
