Skip to content

Commit 1d1eed4

Browse files
committedJun 10, 2014
Build "multi" only when it's needed
1 parent c547aba commit 1d1eed4

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed
 

‎src/core/symbology-ng/qgsinvertedpolygonrenderer.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,6 @@ bool QgsInvertedPolygonRenderer::renderFeature( QgsFeature& feature, QgsRenderCo
182182

183183
// update the geometry
184184
CombinedFeature& cFeat = mFeaturesCategories[ mSymbolCategories[catId] ];
185-
QgsMultiPolygon multi;
186185
QgsGeometry* geom = feature.geometry();
187186
if ( !geom )
188187
{
@@ -195,17 +194,6 @@ bool QgsInvertedPolygonRenderer::renderFeature( QgsFeature& feature, QgsRenderCo
195194
geom->transform( *xform );
196195
}
197196

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-
209197
if ( mPreprocessingEnabled )
210198
{
211199
// preprocessing
@@ -237,6 +225,18 @@ bool QgsInvertedPolygonRenderer::renderFeature( QgsFeature& feature, QgsRenderCo
237225
// No validity check is done, on purpose, it will be very slow and painting
238226
// operations do not need geometries to be valid
239227

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+
240240
for ( int i = 0; i < multi.size(); i++ )
241241
{
242242
// add the exterior ring as interior ring to the first polygon

0 commit comments

Comments
 (0)
Please sign in to comment.