diff options
author | sunpoet <sunpoet@FreeBSD.org> | 2019-12-11 01:16:15 +0800 |
---|---|---|
committer | sunpoet <sunpoet@FreeBSD.org> | 2019-12-11 01:16:15 +0800 |
commit | b70468e8fec62be2c04b658cd7548c4efaef54a4 (patch) | |
tree | 9a8255a2c3aa7bdfdef94470731180196294d6c3 /graphics | |
parent | 5211c15fb77ff4362e20b4318a7f5a6262be1213 (diff) | |
download | freebsd-ports-gnome-b70468e8fec62be2c04b658cd7548c4efaef54a4.tar.gz freebsd-ports-gnome-b70468e8fec62be2c04b658cd7548c4efaef54a4.tar.zst freebsd-ports-gnome-b70468e8fec62be2c04b658cd7548c4efaef54a4.zip |
Fix build with geos 3.8.0
Obtained from: https://git.slackbuilds.org/slackbuilds/tree/gis/osgEarth/geos-3_8-support.patch
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/osgearth/files/patch-src-osgEarthSymbology-GEOS.cpp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/graphics/osgearth/files/patch-src-osgEarthSymbology-GEOS.cpp b/graphics/osgearth/files/patch-src-osgEarthSymbology-GEOS.cpp new file mode 100644 index 000000000000..90d36828da70 --- /dev/null +++ b/graphics/osgearth/files/patch-src-osgEarthSymbology-GEOS.cpp @@ -0,0 +1,70 @@ +Obtained from: https://git.slackbuilds.org/slackbuilds/tree/gis/osgEarth/geos-3_8-support.patch + +--- src/osgEarthSymbology/GEOS.cpp.orig 2019-04-19 16:45:18 UTC ++++ src/osgEarthSymbology/GEOS.cpp +@@ -49,7 +49,7 @@ using namespace geos::operation; + + namespace + { +- geom::CoordinateSequence* ++ std::unique_ptr<geom::CoordinateSequence> + vec3dArray2CoordSeq( const Symbology::Geometry* input, bool close, const geom::CoordinateSequenceFactory* factory ) + { + bool needToClose = close && input->size() > 2 && input->front() != input->back(); +@@ -64,7 +64,7 @@ namespace + { + coords->push_back( coords->front() ); + } +- geom::CoordinateSequence* seq = factory->create( coords ); ++ std::unique_ptr<geom::CoordinateSequence> seq = factory->create( coords ); + + return seq; + } +@@ -108,7 +108,8 @@ namespace + else + { + // any other type will at least contain points: +- geom::CoordinateSequence* seq = 0L; ++ std::unique_ptr<geom::CoordinateSequence> seq = 0L; ++ + try + { + switch( input->getType() ) +@@ -119,24 +120,24 @@ namespace + + case Symbology::Geometry::TYPE_POINTSET: + seq = vec3dArray2CoordSeq( input, false, f->getCoordinateSequenceFactory() ); +- if ( seq ) output = f->createPoint( seq ); ++ if ( seq ) output = f->createPoint( *seq ); + break; + + case Symbology::Geometry::TYPE_LINESTRING: + seq = vec3dArray2CoordSeq( input, false, f->getCoordinateSequenceFactory() ); +- if ( seq ) output = f->createLineString( seq ); ++ if ( seq ) output = f->createLineString( *seq ); + break; + + case Symbology::Geometry::TYPE_RING: + seq = vec3dArray2CoordSeq( input, true, f->getCoordinateSequenceFactory() ); +- if ( seq ) output = f->createLinearRing( seq ); ++ if ( seq ) output = f->createLinearRing( *seq ); + break; + + case Symbology::Geometry::TYPE_POLYGON: + seq = vec3dArray2CoordSeq( input, true, f->getCoordinateSequenceFactory() ); + geom::LinearRing* shell = 0L; + if ( seq ) +- shell = f->createLinearRing( seq ); ++ shell = f->createLinearRing( *seq ); + + if ( shell ) + { +@@ -155,7 +156,7 @@ namespace + holes = 0L; + } + } +- output = f->createPolygon( shell, holes ); ++ output = f->createPolygon( shell, (std::vector<geom::LinearRing * >*)holes ); + } + + break; |