On 2016/07/04 17:46, Rafael Sadowski wrote: > On Mon Jul 04, 2016 at 09:43:34AM +0200, Landry Breuil wrote: > > Please, dont mix 'real fixes' with 'stylistic changes in the Makefile' > > ...
+1. > Patch without Makefile cleanup: OK sthen@ > Index: Makefile > =================================================================== > RCS file: /cvs/ports/graphics/inkscape/Makefile,v > retrieving revision 1.50 > diff -u -p -u -p -r1.50 Makefile > --- Makefile 4 Jun 2016 07:00:28 -0000 1.50 > +++ Makefile 4 Jul 2016 15:45:28 -0000 > @@ -7,7 +7,7 @@ COMMENT= SVG vector drawing application > > DISTNAME= inkscape-0.91 > CATEGORIES= graphics > -REVISION= 8 > +REVISION= 9 > > MASTER_SITES = https://inkscape.org/en/gallery/item/3854/ > HOMEPAGE= http://www.inkscape.org/ > Index: patches/patch-src_2geom_line_cpp > =================================================================== > RCS file: patches/patch-src_2geom_line_cpp > diff -N patches/patch-src_2geom_line_cpp > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-src_2geom_line_cpp 4 Jul 2016 15:45:28 -0000 > @@ -0,0 +1,92 @@ > +$OpenBSD$ > + > +null check for boost::optional<Geom::Crossing> and return empty OptCrossing > + > +--- src/2geom/line.cpp.orig Sun Nov 30 19:45:32 2014 > ++++ src/2geom/line.cpp Sat Jul 2 18:54:28 2016 > +@@ -246,12 +246,16 @@ OptCrossing intersection_impl( LineSegment const& ls1, > + if ( are_near(r2.origin(), ls1) ) > + { > + bool eqvs = (dot(direction, r2.versor()) > 0); > +- if ( are_near(ls1.initialPoint(), r2.origin()) && !eqvs ) > ++ if ( are_near(ls1.initialPoint(), r2.origin()) > ++ && !eqvs > ++ && crossing ) > + { > + crossing->ta = crossing->tb = 0; > + return crossing; > + } > +- else if ( are_near(ls1.finalPoint(), r2.origin()) && eqvs ) > ++ else if ( are_near(ls1.finalPoint(), r2.origin()) > ++ && eqvs > ++ && crossing ) > + { > + if (i == 0) > + { > +@@ -300,7 +304,8 @@ OptCrossing intersection(Line const& l1, Line const& l > + } > + else > + { > +- return crossing; > ++ OptCrossing no_crossing; > ++ return no_crossing; > + } > + } > + > +@@ -328,7 +333,8 @@ OptCrossing intersection(Ray const& r1, Ray const& r2) > + if ( are_near(r1.origin(), r2) || are_near(r2.origin(), r1) ) > + { > + if ( are_near(r1.origin(), r2.origin()) > +- && !are_near(r1.versor(), r2.versor()) ) > ++ && !are_near(r1.versor(), r2.versor()) > ++ && crossing) > + { > + crossing->ta = crossing->tb = 0; > + return crossing; > +@@ -368,19 +374,24 @@ OptCrossing intersection( LineSegment const& ls1, Line > + } > + else > + { > +- return crossing; > ++ OptCrossing no_crossing; > ++ return no_crossing; > + } > + } > + > + bool eqvs = (dot(direction1, direction2) > 0); > + if ( are_near(ls2.initialPoint(), ls1) ) > + { > +- if ( are_near(ls1.initialPoint(), ls2.initialPoint()) && !eqvs ) > ++ if ( are_near(ls1.initialPoint(), ls2.initialPoint()) > ++ && !eqvs > ++ && crossing ) > + { > + crossing->ta = crossing->tb = 0; > + return crossing; > + } > +- else if ( are_near(ls1.finalPoint(), ls2.initialPoint()) && eqvs ) > ++ else if ( are_near(ls1.finalPoint(), ls2.initialPoint()) > ++ && eqvs > ++ && crossing ) > + { > + crossing->ta = 1; > + crossing->tb = 0; > +@@ -393,12 +404,16 @@ OptCrossing intersection( LineSegment const& ls1, Line > + } > + else if ( are_near(ls2.finalPoint(), ls1) ) > + { > +- if ( are_near(ls1.finalPoint(), ls2.finalPoint()) && !eqvs ) > ++ if ( are_near(ls1.finalPoint(), ls2.finalPoint()) > ++ && !eqvs > ++ && crossing ) > + { > + crossing->ta = crossing->tb = 1; > + return crossing; > + } > +- else if ( are_near(ls1.initialPoint(), ls2.finalPoint()) && eqvs ) > ++ else if ( are_near(ls1.initialPoint(), ls2.finalPoint()) > ++ && eqvs > ++ && crossing ) > + { > + crossing->ta = 0; > + crossing->tb = 1; >