RAII for pal

This commit is contained in:
Matthias Kuhn 2019-03-10 16:15:01 +01:00
parent 7ceb97aec6
commit 9de4b88e76
No known key found for this signature in database
GPG Key ID: 7A7F1A1C90C3E6A7

View File

@ -118,7 +118,7 @@ bool Layer::registerFeature( QgsLabelFeature *lf )
std::unique_ptr<FeaturePart> biggest_part;
// break the (possibly multi-part) geometry into simple geometries
QLinkedList<const GEOSGeometry *> *simpleGeometries = Util::unmulti( lf->geometry() );
std::unique_ptr<QLinkedList<const GEOSGeometry *>> simpleGeometries( Util::unmulti( lf->geometry() ) );
if ( !simpleGeometries ) // unmulti() failed?
{
throw InternalException::UnknownGeometry();
@ -203,12 +203,11 @@ bool Layer::registerFeature( QgsLabelFeature *lf )
addFeaturePart( fpart.release(), lf->labelText() );
addedFeature = true;
}
delete simpleGeometries;
if ( !featureGeomIsObstacleGeom )
{
//do the same for the obstacle geometry
simpleGeometries = Util::unmulti( lf->obstacleGeometry() );
simpleGeometries.reset( Util::unmulti( lf->obstacleGeometry() ) );
if ( !simpleGeometries ) // unmulti() failed?
{
throw InternalException::UnknownGeometry();
@ -249,7 +248,6 @@ bool Layer::registerFeature( QgsLabelFeature *lf )
// feature part is ready!
addObstaclePart( fpart.release() );
}
delete simpleGeometries;
}
locker.unlock();