summarylogtreecommitdiffstats
path: root/fix-suppor_geos36.patch
diff options
context:
space:
mode:
Diffstat (limited to 'fix-suppor_geos36.patch')
-rw-r--r--fix-suppor_geos36.patch94
1 files changed, 0 insertions, 94 deletions
diff --git a/fix-suppor_geos36.patch b/fix-suppor_geos36.patch
deleted file mode 100644
index 31e3899cb280..000000000000
--- a/fix-suppor_geos36.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 6a3f724e3a19aa53ba7af40bcbce7e1e19477a8e Mon Sep 17 00:00:00 2001
-From: Sandro Mani <manisandro@gmail.com>
-Date: Mon, 20 Mar 2017 15:19:09 +0100
-Subject: [PATCH] Add GEOS >= 3.6.0 compatibility
-
----
- src/osgEarthSymbology/GEOS | 6 ++++++
- src/osgEarthSymbology/GEOS.cpp | 15 ++++++++++++++-
- 2 files changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/src/osgEarthSymbology/GEOS b/src/osgEarthSymbology/GEOS
-index 9921e65440..74471d2123 100644
---- a/src/osgEarthSymbology/GEOS
-+++ b/src/osgEarthSymbology/GEOS
-@@ -25,7 +25,9 @@
- #include <osgEarthFeatures/Common>
- #include <osgEarthSymbology/Style>
- #include <osgEarthSymbology/Geometry>
-+#include <geos/version.h>
- #include <geos/geom/Geometry.h>
-+#include <geos/geom/GeometryFactory.h>
-
- namespace osgEarth { namespace Symbology
- {
-@@ -45,7 +47,11 @@ namespace osgEarth { namespace Symbology
- void disposeGeometry(geos::geom::Geometry* input);
-
- protected:
-+#if GEOS_VERSION_MAJOR >= 3 && GEOS_VERSION_MINOR >= 6
-+ geos::geom::GeometryFactory::unique_ptr _factory;
-+#else
- geos::geom::GeometryFactory* _factory;
-+#endif
- };
-
- } } // namespace osgEarth::Features
-diff --git a/src/osgEarthSymbology/GEOS.cpp b/src/osgEarthSymbology/GEOS.cpp
-index 9d7d27e521..db42f657ee 100644
---- a/src/osgEarthSymbology/GEOS.cpp
-+++ b/src/osgEarthSymbology/GEOS.cpp
-@@ -216,7 +216,11 @@ GEOSContext::GEOSContext()
- geos::geom::PrecisionModel* pm = new geos::geom::PrecisionModel(geom::PrecisionModel::FLOATING);
-
- // Factory will clone the PM
-+#if GEOS_VERSION_MAJOR >= 3 && GEOS_VERSION_MINOR >= 6
-+ _factory = geos::geom::GeometryFactory::create( pm );
-+#else
- _factory = new geos::geom::GeometryFactory( pm );
-+#endif
-
- // Delete the template.
- delete pm;
-@@ -224,7 +228,9 @@ GEOSContext::GEOSContext()
-
- GEOSContext::~GEOSContext()
- {
-+#if !(GEOS_VERSION_MAJOR >= 3 && GEOS_VERSION_MINOR >= 6)
- delete _factory;
-+#endif
- }
-
- geom::Geometry*
-@@ -233,12 +239,16 @@ GEOSContext::importGeometry(const Symbology::Geometry* input)
- geom::Geometry* output = 0L;
- if ( input && input->isValid() )
- {
-+#if GEOS_VERSION_MAJOR >= 3 && GEOS_VERSION_MINOR >= 6
-+ output = import( input, _factory.get() );
-+#else
- output = import( input, _factory );
-
- // if output is ok, it will have a pointer to f. this is probably a leak.
- // TODO: Check whether this is a leak!! -gw
- //if ( !output )
- // delete f;
-+#endif
- }
- return output;
- }
-@@ -335,10 +345,13 @@ GEOSContext::disposeGeometry(geom::Geometry* input)
- {
- if (input)
- {
-- geom::GeometryFactory* f = const_cast<geom::GeometryFactory*>(input->getFactory());
-+#if GEOS_VERSION_MAJOR >= 3 && GEOS_VERSION_MINOR >= 6
- _factory->destroyGeometry(input);
-+#else
-+ geom::GeometryFactory* f = const_cast<geom::GeometryFactory*>(input->getFactory());
- if ( f != _factory )
- delete f;
-+#endif
- }
- }
-