diff options
Diffstat (limited to 'gis/osgEarth/geos-3_8-support.patch')
-rw-r--r-- | gis/osgEarth/geos-3_8-support.patch | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/gis/osgEarth/geos-3_8-support.patch b/gis/osgEarth/geos-3_8-support.patch new file mode 100644 index 0000000000..e5375e205c --- /dev/null +++ b/gis/osgEarth/geos-3_8-support.patch @@ -0,0 +1,70 @@ +Binary files osgearth-osgearth-2.10.2.a/src/osgEarthSymbology/.GEOS.cpp.un~ and osgearth-osgearth-2.10.2.b/src/osgEarthSymbology/.GEOS.cpp.un~ differ +diff -Nur osgearth-osgearth-2.10.2.a/src/osgEarthSymbology/GEOS.cpp osgearth-osgearth-2.10.2.b/src/osgEarthSymbology/GEOS.cpp +--- osgearth-osgearth-2.10.2.a/src/osgEarthSymbology/GEOS.cpp 2019-07-12 08:49:14.000000000 -0700 ++++ osgearth-osgearth-2.10.2.b/src/osgEarthSymbology/GEOS.cpp 2019-11-16 10:00:08.966241888 -0800 +@@ -49,7 +49,7 @@ + + 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 @@ + { + 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 @@ + 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 @@ + + 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 @@ + holes = 0L; + } + } +- output = f->createPolygon( shell, holes ); ++ output = f->createPolygon( shell, (std::vector<geom::LinearRing * >*)holes ); + } + + break; |