summaryrefslogtreecommitdiff
path: root/gis/osgEarth/geos-3_8-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gis/osgEarth/geos-3_8-support.patch')
-rw-r--r--gis/osgEarth/geos-3_8-support.patch70
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;