Skip to content

Commit 77b9b1a

Browse files
committed
Use unique_ptr
1 parent e0efbda commit 77b9b1a

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

src/server/services/wms/qgswmsrenderer.cpp

+4-8
Original file line numberDiff line numberDiff line change
@@ -716,14 +716,10 @@ namespace QgsWms
716716
}
717717

718718
//read FILTER_GEOM
719-
QgsGeometry* filterGeom = 0;
719+
std::unique_ptr<QgsGeometry> filterGeom;
720720
if( mParameters.contains( QStringLiteral( "FILTER_GEOM" ) ) )
721721
{
722-
filterGeom = new QgsGeometry( QgsGeometry::fromWkt( mParameters.value( QStringLiteral( "FILTER_GEOM" ) ) ) );
723-
if( filterGeom->isNull() )
724-
{
725-
delete filterGeom; filterGeom = nullptr;
726-
}
722+
filterGeom.reset( new QgsGeometry( QgsGeometry::fromWkt( mParameters.value( QStringLiteral( "FILTER_GEOM" ) ) ) ) );
727723
}
728724

729725
//In case the output image is distorted (WIDTH/HEIGHT ratio not equal to BBOX width/height), I and J need to be adapted as well
@@ -747,7 +743,7 @@ namespace QgsWms
747743
{
748744
featuresRect.reset( new QgsRectangle() );
749745
}
750-
else if( !filterGeom )
746+
else if( !filterGeom.get() )
751747
{
752748
throw QgsBadRequestException( QStringLiteral( "ParameterMissing" ),
753749
QStringLiteral( "I/J parameters are required for GetFeatureInfo" ) );
@@ -882,7 +878,7 @@ namespace QgsWms
882878

883879
if ( vectorLayer )
884880
{
885-
if ( !featureInfoFromVectorLayer( vectorLayer, infoPoint.get(), featureCount, result, layerElement, mapSettings, renderContext, version, infoFormat, featuresRect.get(), filterGeom ) )
881+
if ( !featureInfoFromVectorLayer( vectorLayer, infoPoint.get(), featureCount, result, layerElement, mapSettings, renderContext, version, infoFormat, featuresRect.get(), filterGeom.get() ) )
886882
{
887883
continue;
888884
}

0 commit comments

Comments
 (0)