@@ -7580,16 +7580,16 @@ bool QgsOgrProviderUtils::deleteLayer( const QString &uri, QString &errCause )
7580
7580
openOptions );
7581
7581
7582
7582
7583
- GDALDatasetH hDS = GDALOpenEx ( filePath.toUtf8 ().constData (), GDAL_OF_RASTER | GDAL_OF_VECTOR | GDAL_OF_UPDATE, nullptr , nullptr , nullptr );
7583
+ gdal::dataset_unique_ptr hDS ( GDALOpenEx ( filePath.toUtf8 ().constData (), GDAL_OF_RASTER | GDAL_OF_VECTOR | GDAL_OF_UPDATE, nullptr , nullptr , nullptr ) );
7584
7584
if ( hDS && ( ! layerName.isEmpty () || layerIndex != -1 ) )
7585
7585
{
7586
7586
// If we have got a name we convert it into an index
7587
7587
if ( ! layerName.isEmpty () )
7588
7588
{
7589
7589
layerIndex = -1 ;
7590
- for ( int i = 0 ; i < GDALDatasetGetLayerCount ( hDS ); i++ )
7590
+ for ( int i = 0 ; i < GDALDatasetGetLayerCount ( hDS. get () ); i++ )
7591
7591
{
7592
- OGRLayerH hL = GDALDatasetGetLayer ( hDS, i );
7592
+ OGRLayerH hL = GDALDatasetGetLayer ( hDS. get () , i );
7593
7593
if ( layerName == QString::fromUtf8 ( OGR_L_GetName ( hL ) ) )
7594
7594
{
7595
7595
layerIndex = i;
@@ -7600,7 +7600,7 @@ bool QgsOgrProviderUtils::deleteLayer( const QString &uri, QString &errCause )
7600
7600
// Do delete!
7601
7601
if ( layerIndex != -1 )
7602
7602
{
7603
- OGRErr error = GDALDatasetDeleteLayer ( hDS, layerIndex );
7603
+ OGRErr error = GDALDatasetDeleteLayer ( hDS. get () , layerIndex );
7604
7604
switch ( error )
7605
7605
{
7606
7606
case OGRERR_NOT_ENOUGH_DATA:
@@ -7630,7 +7630,6 @@ bool QgsOgrProviderUtils::deleteLayer( const QString &uri, QString &errCause )
7630
7630
case OGRERR_NON_EXISTING_FEATURE:
7631
7631
errCause = QObject::tr ( " Non existing feature" );
7632
7632
break ;
7633
- default :
7634
7633
case OGRERR_NONE:
7635
7634
errCause = QObject::tr ( " Success" );
7636
7635
break ;
0 commit comments