Skip to content

Commit 5ecb7cc

Browse files
committedMar 29, 2018
Use unique_ptr
1 parent 64707c1 commit 5ecb7cc

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed
 

‎src/core/qgsvectorfilewriter.cpp

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2507,17 +2507,17 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer *layer,
25072507
}
25082508
}
25092509

2510-
QgsVectorFileWriter *writer =
2511-
new QgsVectorFileWriter( fileName,
2512-
options.fileEncoding, fields, destWkbType,
2513-
outputCRS, options.driverName,
2514-
options.datasourceOptions,
2515-
options.layerOptions,
2516-
newFilename,
2517-
options.symbologyExport,
2518-
options.fieldValueConverter,
2519-
options.layerName,
2520-
options.actionOnExistingFile );
2510+
std::unique_ptr< QgsVectorFileWriter > writer =
2511+
qgis::make_unique< QgsVectorFileWriter >( fileName,
2512+
options.fileEncoding, fields, destWkbType,
2513+
outputCRS, options.driverName,
2514+
options.datasourceOptions,
2515+
options.layerOptions,
2516+
newFilename,
2517+
options.symbologyExport,
2518+
options.fieldValueConverter,
2519+
options.layerName,
2520+
options.actionOnExistingFile );
25212521
writer->setSymbologyScale( options.symbologyScale );
25222522

25232523
if ( newFilename )
@@ -2531,7 +2531,6 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer *layer,
25312531
{
25322532
if ( errorMessage )
25332533
*errorMessage = writer->errorMessage();
2534-
delete writer;
25352534
return err;
25362535
}
25372536

@@ -2596,7 +2595,6 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer *layer,
25962595
&& r->usingSymbolLevels() )
25972596
{
25982597
QgsVectorFileWriter::WriterError error = writer->exportFeaturesSymbolLevels( layer, fit, options.ct, errorMessage );
2599-
delete writer;
26002598
return ( error == NoError ) ? NoError : ErrFeatureWriteFailed;
26012599
}
26022600
}
@@ -2623,7 +2621,6 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer *layer,
26232621
{
26242622
if ( options.feedback && options.feedback->isCanceled() )
26252623
{
2626-
delete writer;
26272624
return Canceled;
26282625
}
26292626

@@ -2652,8 +2649,6 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer *layer,
26522649
}
26532650
catch ( QgsCsException &e )
26542651
{
2655-
delete writer;
2656-
26572652
QString msg = QObject::tr( "Failed to transform a point while drawing a feature with ID '%1'. Writing stopped. (Exception: %2)" )
26582653
.arg( fet.id() ).arg( e.what() );
26592654
QgsLogger::warning( msg );
@@ -2700,7 +2695,6 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer *layer,
27002695
}
27012696

27022697
writer->stopRender();
2703-
delete writer;
27042698

27052699
if ( errors > 0 && errorMessage && n > 0 )
27062700
{

0 commit comments

Comments
 (0)
Please sign in to comment.