@@ -182,7 +182,6 @@ bool QgsInvertedPolygonRenderer::renderFeature( QgsFeature& feature, QgsRenderCo
182
182
183
183
// update the geometry
184
184
CombinedFeature& cFeat = mFeaturesCategories [ mSymbolCategories [catId] ];
185
- QgsMultiPolygon multi;
186
185
QgsGeometry* geom = feature.geometry ();
187
186
if ( !geom )
188
187
{
@@ -195,17 +194,6 @@ bool QgsInvertedPolygonRenderer::renderFeature( QgsFeature& feature, QgsRenderCo
195
194
geom->transform ( *xform );
196
195
}
197
196
198
- if (( geom->wkbType () == QGis::WKBPolygon ) ||
199
- ( geom->wkbType () == QGis::WKBPolygon25D ) )
200
- {
201
- multi.append ( geom->asPolygon () );
202
- }
203
- else if (( geom->wkbType () == QGis::WKBMultiPolygon ) ||
204
- ( geom->wkbType () == QGis::WKBMultiPolygon25D ) )
205
- {
206
- multi = geom->asMultiPolygon ();
207
- }
208
-
209
197
if ( mPreprocessingEnabled )
210
198
{
211
199
// preprocessing
@@ -237,6 +225,18 @@ bool QgsInvertedPolygonRenderer::renderFeature( QgsFeature& feature, QgsRenderCo
237
225
// No validity check is done, on purpose, it will be very slow and painting
238
226
// operations do not need geometries to be valid
239
227
228
+ QgsMultiPolygon multi;
229
+ if (( geom->wkbType () == QGis::WKBPolygon ) ||
230
+ ( geom->wkbType () == QGis::WKBPolygon25D ) )
231
+ {
232
+ multi.append ( geom->asPolygon () );
233
+ }
234
+ else if (( geom->wkbType () == QGis::WKBMultiPolygon ) ||
235
+ ( geom->wkbType () == QGis::WKBMultiPolygon25D ) )
236
+ {
237
+ multi = geom->asMultiPolygon ();
238
+ }
239
+
240
240
for ( int i = 0 ; i < multi.size (); i++ )
241
241
{
242
242
// add the exterior ring as interior ring to the first polygon
0 commit comments