summaryrefslogtreecommitdiffstats
path: root/src/2geom/basic-intersection.cpp
diff options
context:
space:
mode:
authorsu_v <suv-sf@users.sourceforge.net>2013-03-15 17:24:54 +0000
committer~suv <suv-sf@users.sourceforge.net>2013-03-15 17:24:54 +0000
commit5068de8914944f7316bdd5fbc3d1fbc61736a99f (patch)
treed7ccf7e4babe1b72b98ef42c262b12d9a8ca870b /src/2geom/basic-intersection.cpp
parentmerge from trunk (r12201) (diff)
parentFix missing Gtkmm/Glib headers for Gtk+ 3 build (diff)
downloadinkscape-5068de8914944f7316bdd5fbc3d1fbc61736a99f.tar.gz
inkscape-5068de8914944f7316bdd5fbc3d1fbc61736a99f.zip
merge from trunk (r12209)
(bzr r11668.1.58)
Diffstat (limited to 'src/2geom/basic-intersection.cpp')
-rw-r--r--src/2geom/basic-intersection.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/2geom/basic-intersection.cpp b/src/2geom/basic-intersection.cpp
index 3be6792b9..544bf0dd1 100644
--- a/src/2geom/basic-intersection.cpp
+++ b/src/2geom/basic-intersection.cpp
@@ -64,7 +64,12 @@ void find_intersections(std::vector< std::pair<double, double> > & xs,
void split(vector<Point> const &p, double t,
vector<Point> &left, vector<Point> &right) {
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]);
@@ -82,6 +87,11 @@ void split(vector<Point> const &p, double t,
left[j] = Vtemp[j][0];
for (unsigned j = 0; j < sz; j++)
right[j] = Vtemp[sz-1-j][j];
+
+ for (unsigned int i = 0; i < sz; ++i)
+ delete[] Vtemp[i];
+
+ delete[] Vtemp;
}