Skip to content

Commit 266754b

Browse files
committedApr 17, 2023
Silence false positive cppcheck lifetime warnings
1 parent 95c6834 commit 266754b

12 files changed

+22
-3
lines changed
 

‎src/app/qgsstatisticalsummarydockwidget.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,7 @@ void QgsStatisticalSummaryDockWidget::refreshStatistics()
249249
mCancelButton->show();
250250
mCalculatingProgressBar->show();
251251

252+
// cppcheck-suppress danglingLifetime
252253
mGatherer = gatherer.get();
253254
QgsApplication::taskManager()->addTask( gatherer.release() );
254255
}

‎src/core/layout/qgslayout.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -764,6 +764,7 @@ QgsLayoutItemGroup *QgsLayout::groupItems( const QList<QgsLayoutItem *> &items )
764764

765765
mUndoStack->endMacro();
766766

767+
// cppcheck-suppress returnDanglingLifetime
767768
return returnGroup;
768769
}
769770

‎src/core/layout/qgslayoutitemelevationprofile.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class QgsLayoutItemElevationProfilePlot : public Qgs2DPlot
4646

4747
void setRenderer( QgsProfilePlotRenderer *renderer )
4848
{
49+
// cppcheck-suppress danglingLifetime
4950
mRenderer = renderer;
5051
}
5152

‎src/core/layout/qgslayoutmanager.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,7 @@ QgsMasterLayoutInterface *QgsLayoutManager::duplicateLayout( const QgsMasterLayo
277277
}
278278
else
279279
{
280+
// cppcheck-suppress returnDanglingLifetime
280281
return l;
281282
}
282283
}

‎src/core/pal/layer.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,8 +482,12 @@ void Layer::chopFeaturesAtRepeatDistance()
482482
part.push_back( p );
483483
}
484484

485+
// cppcheck-suppress invalidLifetime
485486
for ( FeaturePart *partPtr : repeatParts )
487+
{
488+
// cppcheck-suppress invalidLifetime
486489
partPtr->setTotalRepeats( repeatParts.count() );
490+
}
487491
}
488492
else
489493
{

‎src/core/pal/pal.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ Layer *Pal::addLayer( QgsAbstractLabelProvider *provider, const QString &layerNa
9494
mLayers.insert( std::pair<QgsAbstractLabelProvider *, std::unique_ptr< Layer >>( provider, std::move( layer ) ) );
9595
mMutex.unlock();
9696

97+
// cppcheck-suppress returnDanglingLifetime
9798
return res;
9899
}
99100

‎src/core/qgsabstractgeopdfexporter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ bool QgsAbstractGeoPdfExporter::finalize( const QList<ComponentLayerDetail> &com
110110

111111
// return a non-null (fake) dataset in case of success, nullptr otherwise.
112112
gdal::dataset_unique_ptr outputDataset( GDALCreate( driver, destinationFile.toUtf8().constData(), 0, 0, 0, GDT_Unknown, papszOptions ) );
113-
bool res = outputDataset.get();
113+
const bool res = outputDataset.get() != nullptr;
114114
outputDataset.reset();
115115

116116
CSLDestroy( papszOptions );

‎src/core/qgsopenclutils.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@ class CORE_EXPORT QgsOpenClUtils
266266

267267
T &operator* ()
268268
{
269+
// cppcheck-suppress returnTempReference
269270
return &mMem[0];
270271
}
271272

‎src/core/vector/qgsvectorlayerrenderer.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ QgsVectorLayerRenderer::QgsVectorLayerRenderer( QgsVectorLayer *layer, QgsRender
6565

6666
bool insertedMainRenderer = false;
6767
double prevLevel = std::numeric_limits< double >::lowest();
68+
// cppcheck-suppress danglingLifetime
6869
mRenderer = mainRenderer.get();
6970
for ( const QgsFeatureRendererGenerator *generator : std::as_const( generators ) )
7071
{
@@ -132,6 +133,7 @@ QgsVectorLayerRenderer::QgsVectorLayerRenderer( QgsVectorLayer *layer, QgsRender
132133

133134
mVertexMarkerSize = QgsSettingsRegistryCore::settingsDigitizingMarkerSizeMm->value();
134135

136+
// cppcheck-suppress danglingLifetime
135137
QgsDebugMsgLevel( "rendering v2:\n " + mRenderer->dump(), 2 );
136138

137139
if ( mDrawVertexMarkers )

‎src/gui/layout/qgslayoutguiutils.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,7 @@ void QgsLayoutGuiUtils::registerGuiForKnownItemTypes( QgsMapCanvas *mapCanvas )
429429
std::unique_ptr< QgsLayoutFrame > frame = std::make_unique< QgsLayoutFrame >( layout, html );
430430
QgsLayoutFrame *f = frame.get();
431431
html->addFrame( frame.release() );
432+
// cppcheck-suppress returnDanglingLifetime
432433
return f;
433434
} );
434435
registry->addLayoutItemGuiMetadata( htmlItemMetadata.release() );
@@ -475,6 +476,7 @@ void QgsLayoutGuiUtils::registerGuiForKnownItemTypes( QgsMapCanvas *mapCanvas )
475476
std::unique_ptr< QgsLayoutFrame > frame = std::make_unique< QgsLayoutFrame >( layout, table );
476477
QgsLayoutFrame *f = frame.get();
477478
table->addFrame( frame.release() );
479+
// cppcheck-suppress returnDanglingLifetime
478480
return f;
479481
} );
480482
registry->addLayoutItemGuiMetadata( attributeTableItemMetadata.release() );
@@ -517,6 +519,7 @@ void QgsLayoutGuiUtils::registerGuiForKnownItemTypes( QgsMapCanvas *mapCanvas )
517519
std::unique_ptr< QgsLayoutFrame > frame = std::make_unique< QgsLayoutFrame >( layout, table );
518520
QgsLayoutFrame *f = frame.get();
519521
table->addFrame( frame.release() );
522+
// cppcheck-suppress returnDanglingLifetime
520523
return f;
521524
} );
522525
registry->addLayoutItemGuiMetadata( manualTableItemMetadata.release() );

‎src/gui/processing/qgsprocessingtoolboxmodel.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ void QgsProcessingToolboxModel::rebuild()
140140
if ( mRecentLog )
141141
{
142142
std::unique_ptr< QgsProcessingToolboxModelRecentNode > recentNode = std::make_unique< QgsProcessingToolboxModelRecentNode >();
143+
// cppcheck-suppress danglingLifetime
143144
mRecentNode = recentNode.get();
144145
mRootNode->addChildNode( recentNode.release() );
145146
repopulateRecentAlgorithms( true );
@@ -293,17 +294,20 @@ void QgsProcessingToolboxModel::addProvider( QgsProcessingProvider *provider )
293294
const QString groupId = algorithm->groupId();
294295
if ( !groupId.isEmpty() )
295296
{
297+
// cppcheck-suppress invalidLifetime
296298
QgsProcessingToolboxModelGroupNode *groupNode = parentNode->getChildGroupNode( groupId );
297299
if ( !groupNode )
298300
{
299301
groupNode = new QgsProcessingToolboxModelGroupNode( algorithm->groupId(), algorithm->group() );
302+
// cppcheck-suppress invalidLifetime
300303
parentNode->addChildNode( groupNode );
301304
}
302305
groupNode->addChildNode( algorithmNode.release() );
303306
}
304307
else
305308
{
306309
// "top level" algorithm - no group
310+
// cppcheck-suppress invalidLifetime
307311
parentNode->addChildNode( algorithmNode.release() );
308312
}
309313
}

‎src/providers/grass/qgsgrassgislib.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1321,9 +1321,9 @@ int GRASS_LIB_EXPORT G__temp_element( char *element )
13211321
char GRASS_LIB_EXPORT *G_tempfile( void )
13221322
{
13231323
QTemporaryFile file( "qgis-grass-temp.XXXXXX" );
1324-
QString name = file.fileName();
1324+
const QString name = file.fileName();
13251325
file.open();
1326-
return name.toLatin1().data();
1326+
return name.toLatin1().constData();
13271327
}
13281328

13291329
char GRASS_LIB_EXPORT *G_mapset( void )

0 commit comments

Comments
 (0)
Please sign in to comment.