From 6c0a1da07678a39d544f1ae1eb1d1eb9018a155c Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Wed, 30 May 2018 00:08:32 +1000 Subject: [PATCH] Filter invalid rings during label geometry preparation --- src/core/qgspallabeling.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/core/qgspallabeling.cpp b/src/core/qgspallabeling.cpp index 4d99b6a0679..321fc571e88 100644 --- a/src/core/qgspallabeling.cpp +++ b/src/core/qgspallabeling.cpp @@ -58,6 +58,7 @@ #include "qgsproperty.h" #include "qgssymbollayerutils.h" #include "qgsmaptopixelgeometrysimplifier.h" +#include "qgscurvepolygon.h" #include @@ -2904,6 +2905,8 @@ QgsGeometry QgsPalLabeling::prepareGeometry( const QgsGeometry &geometry, QgsRen { return std::isfinite( point.x() ) && std::isfinite( point.y() ); } ); + if ( QgsCurvePolygon *cp = qgsgeometry_cast< QgsCurvePolygon * >( geom.get() ) ) + cp->removeInvalidRings(); } // Rotate the geometry if needed, before clipping