Skip to content

Commit 5b1918f

Browse files
committedApr 20, 2018
use unique_ptrs for tmp pointers
1 parent 5b8a341 commit 5b1918f

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed
 

‎src/gui/qgsbrowserdockwidget_p.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
***************************************************************************/
2020
#include "qgsbrowserdockwidget_p.h"
2121

22+
#include <memory>
23+
2224
#include <QAbstractTextDocumentLayout>
2325
#include <QHeaderView>
2426
#include <QTreeView>
@@ -143,43 +145,40 @@ void QgsBrowserLayerProperties::setItem( QgsDataItem *item )
143145
{
144146
QgsDebugMsg( "creating raster layer" );
145147
// should copy code from addLayer() to split uri ?
146-
QgsRasterLayer *layer = new QgsRasterLayer( layerItem->uri(), layerItem->uri(), layerItem->providerKey() );
148+
std::unique_ptr<QgsRasterLayer> layer( new QgsRasterLayer( layerItem->uri(), layerItem->uri(), layerItem->providerKey() ) );
147149
if ( layer )
148150
{
149151
if ( layer->isValid() )
150152
{
151153
layerCrs = layer->crs();
152154
layerMetadata = layer->htmlMetadata();
153155
}
154-
delete layer;
155156
}
156157
}
157158
else if ( type == QgsMapLayer::MeshLayer )
158159
{
159160
QgsDebugMsg( "creating mesh layer" );
160-
QgsMeshLayer *layer = new QgsMeshLayer( layerItem->uri(), layerItem->uri(), layerItem->providerKey() );
161+
std::unique_ptr<QgsMeshLayer> layer( new QgsMeshLayer( layerItem->uri(), layerItem->uri(), layerItem->providerKey() ) );
161162
if ( layer )
162163
{
163164
if ( layer->isValid() )
164165
{
165166
layerCrs = layer->crs();
166167
layerMetadata = layer->htmlMetadata();
167168
}
168-
delete layer;
169169
}
170170
}
171171
else if ( type == QgsMapLayer::VectorLayer )
172172
{
173173
QgsDebugMsg( "creating vector layer" );
174-
QgsVectorLayer *layer = new QgsVectorLayer( layerItem->uri(), layerItem->name(), layerItem->providerKey() );
174+
std::unique_ptr<QgsVectorLayer> layer( new QgsVectorLayer( layerItem->uri(), layerItem->name(), layerItem->providerKey() ) );
175175
if ( layer )
176176
{
177177
if ( layer->isValid() )
178178
{
179179
layerCrs = layer->crs();
180180
layerMetadata = layer->htmlMetadata();
181181
}
182-
delete layer;
183182
}
184183
}
185184
else if ( type == QgsMapLayer::PluginLayer )

0 commit comments

Comments
 (0)
Please sign in to comment.