Skip to content

Commit d70181c

Browse files
committedApr 2, 2018
Use unique_ptr
(cherry-picked from 5ecb7cc)
1 parent bed5c76 commit d70181c

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
@@ -2482,17 +2482,17 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer *layer,
24822482
}
24832483
}
24842484

2485-
QgsVectorFileWriter *writer =
2486-
new QgsVectorFileWriter( fileName,
2487-
options.fileEncoding, fields, destWkbType,
2488-
outputCRS, options.driverName,
2489-
options.datasourceOptions,
2490-
options.layerOptions,
2491-
newFilename,
2492-
options.symbologyExport,
2493-
options.fieldValueConverter,
2494-
options.layerName,
2495-
options.actionOnExistingFile );
2485+
std::unique_ptr< QgsVectorFileWriter > writer =
2486+
qgis::make_unique< QgsVectorFileWriter >( fileName,
2487+
options.fileEncoding, fields, destWkbType,
2488+
outputCRS, options.driverName,
2489+
options.datasourceOptions,
2490+
options.layerOptions,
2491+
newFilename,
2492+
options.symbologyExport,
2493+
options.fieldValueConverter,
2494+
options.layerName,
2495+
options.actionOnExistingFile );
24962496
writer->setSymbologyScale( options.symbologyScale );
24972497

24982498
if ( newFilename )
@@ -2506,7 +2506,6 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer *layer,
25062506
{
25072507
if ( errorMessage )
25082508
*errorMessage = writer->errorMessage();
2509-
delete writer;
25102509
return err;
25112510
}
25122511

@@ -2571,7 +2570,6 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer *layer,
25712570
&& r->usingSymbolLevels() )
25722571
{
25732572
QgsVectorFileWriter::WriterError error = writer->exportFeaturesSymbolLevels( layer, fit, options.ct, errorMessage );
2574-
delete writer;
25752573
return ( error == NoError ) ? NoError : ErrFeatureWriteFailed;
25762574
}
25772575
}
@@ -2598,7 +2596,6 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer *layer,
25982596
{
25992597
if ( options.feedback && options.feedback->isCanceled() )
26002598
{
2601-
delete writer;
26022599
return Canceled;
26032600
}
26042601

@@ -2627,8 +2624,6 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer *layer,
26272624
}
26282625
catch ( QgsCsException &e )
26292626
{
2630-
delete writer;
2631-
26322627
QString msg = QObject::tr( "Failed to transform a point while drawing a feature with ID '%1'. Writing stopped. (Exception: %2)" )
26332628
.arg( fet.id() ).arg( e.what() );
26342629
QgsLogger::warning( msg );
@@ -2675,7 +2670,6 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer *layer,
26752670
}
26762671

26772672
writer->stopRender();
2678-
delete writer;
26792673

26802674
if ( errors > 0 && errorMessage && n > 0 )
26812675
{

0 commit comments

Comments
 (0)
Please sign in to comment.