Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Silence false positive cppcheck lifetime warnings
  • Loading branch information
nyalldawson committed Apr 17, 2023
1 parent 95c6834 commit 266754b
Show file tree
Hide file tree
Showing 12 changed files with 22 additions and 3 deletions.
1 change: 1 addition & 0 deletions src/app/qgsstatisticalsummarydockwidget.cpp
Expand Up @@ -249,6 +249,7 @@ void QgsStatisticalSummaryDockWidget::refreshStatistics()
mCancelButton->show();
mCalculatingProgressBar->show();

// cppcheck-suppress danglingLifetime
mGatherer = gatherer.get();
QgsApplication::taskManager()->addTask( gatherer.release() );
}
Expand Down
1 change: 1 addition & 0 deletions src/core/layout/qgslayout.cpp
Expand Up @@ -764,6 +764,7 @@ QgsLayoutItemGroup *QgsLayout::groupItems( const QList<QgsLayoutItem *> &items )

mUndoStack->endMacro();

// cppcheck-suppress returnDanglingLifetime
return returnGroup;
}

Expand Down
1 change: 1 addition & 0 deletions src/core/layout/qgslayoutitemelevationprofile.cpp
Expand Up @@ -46,6 +46,7 @@ class QgsLayoutItemElevationProfilePlot : public Qgs2DPlot

void setRenderer( QgsProfilePlotRenderer *renderer )
{
// cppcheck-suppress danglingLifetime
mRenderer = renderer;
}

Expand Down
1 change: 1 addition & 0 deletions src/core/layout/qgslayoutmanager.cpp
Expand Up @@ -277,6 +277,7 @@ QgsMasterLayoutInterface *QgsLayoutManager::duplicateLayout( const QgsMasterLayo
}
else
{
// cppcheck-suppress returnDanglingLifetime
return l;
}
}
Expand Down
4 changes: 4 additions & 0 deletions src/core/pal/layer.cpp
Expand Up @@ -482,8 +482,12 @@ void Layer::chopFeaturesAtRepeatDistance()
part.push_back( p );
}

// cppcheck-suppress invalidLifetime
for ( FeaturePart *partPtr : repeatParts )
{
// cppcheck-suppress invalidLifetime
partPtr->setTotalRepeats( repeatParts.count() );
}
}
else
{
Expand Down
1 change: 1 addition & 0 deletions src/core/pal/pal.cpp
Expand Up @@ -94,6 +94,7 @@ Layer *Pal::addLayer( QgsAbstractLabelProvider *provider, const QString &layerNa
mLayers.insert( std::pair<QgsAbstractLabelProvider *, std::unique_ptr< Layer >>( provider, std::move( layer ) ) );
mMutex.unlock();

// cppcheck-suppress returnDanglingLifetime
return res;
}

Expand Down
2 changes: 1 addition & 1 deletion src/core/qgsabstractgeopdfexporter.cpp
Expand Up @@ -110,7 +110,7 @@ bool QgsAbstractGeoPdfExporter::finalize( const QList<ComponentLayerDetail> &com

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

CSLDestroy( papszOptions );
Expand Down
1 change: 1 addition & 0 deletions src/core/qgsopenclutils.h
Expand Up @@ -266,6 +266,7 @@ class CORE_EXPORT QgsOpenClUtils

T &operator* ()
{
// cppcheck-suppress returnTempReference
return &mMem[0];
}

Expand Down
2 changes: 2 additions & 0 deletions src/core/vector/qgsvectorlayerrenderer.cpp
Expand Up @@ -65,6 +65,7 @@ QgsVectorLayerRenderer::QgsVectorLayerRenderer( QgsVectorLayer *layer, QgsRender

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

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

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

if ( mDrawVertexMarkers )
Expand Down
3 changes: 3 additions & 0 deletions src/gui/layout/qgslayoutguiutils.cpp
Expand Up @@ -429,6 +429,7 @@ void QgsLayoutGuiUtils::registerGuiForKnownItemTypes( QgsMapCanvas *mapCanvas )
std::unique_ptr< QgsLayoutFrame > frame = std::make_unique< QgsLayoutFrame >( layout, html );
QgsLayoutFrame *f = frame.get();
html->addFrame( frame.release() );
// cppcheck-suppress returnDanglingLifetime
return f;
} );
registry->addLayoutItemGuiMetadata( htmlItemMetadata.release() );
Expand Down Expand Up @@ -475,6 +476,7 @@ void QgsLayoutGuiUtils::registerGuiForKnownItemTypes( QgsMapCanvas *mapCanvas )
std::unique_ptr< QgsLayoutFrame > frame = std::make_unique< QgsLayoutFrame >( layout, table );
QgsLayoutFrame *f = frame.get();
table->addFrame( frame.release() );
// cppcheck-suppress returnDanglingLifetime
return f;
} );
registry->addLayoutItemGuiMetadata( attributeTableItemMetadata.release() );
Expand Down Expand Up @@ -517,6 +519,7 @@ void QgsLayoutGuiUtils::registerGuiForKnownItemTypes( QgsMapCanvas *mapCanvas )
std::unique_ptr< QgsLayoutFrame > frame = std::make_unique< QgsLayoutFrame >( layout, table );
QgsLayoutFrame *f = frame.get();
table->addFrame( frame.release() );
// cppcheck-suppress returnDanglingLifetime
return f;
} );
registry->addLayoutItemGuiMetadata( manualTableItemMetadata.release() );
Expand Down
4 changes: 4 additions & 0 deletions src/gui/processing/qgsprocessingtoolboxmodel.cpp
Expand Up @@ -140,6 +140,7 @@ void QgsProcessingToolboxModel::rebuild()
if ( mRecentLog )
{
std::unique_ptr< QgsProcessingToolboxModelRecentNode > recentNode = std::make_unique< QgsProcessingToolboxModelRecentNode >();
// cppcheck-suppress danglingLifetime
mRecentNode = recentNode.get();
mRootNode->addChildNode( recentNode.release() );
repopulateRecentAlgorithms( true );
Expand Down Expand Up @@ -293,17 +294,20 @@ void QgsProcessingToolboxModel::addProvider( QgsProcessingProvider *provider )
const QString groupId = algorithm->groupId();
if ( !groupId.isEmpty() )
{
// cppcheck-suppress invalidLifetime
QgsProcessingToolboxModelGroupNode *groupNode = parentNode->getChildGroupNode( groupId );
if ( !groupNode )
{
groupNode = new QgsProcessingToolboxModelGroupNode( algorithm->groupId(), algorithm->group() );
// cppcheck-suppress invalidLifetime
parentNode->addChildNode( groupNode );
}
groupNode->addChildNode( algorithmNode.release() );
}
else
{
// "top level" algorithm - no group
// cppcheck-suppress invalidLifetime
parentNode->addChildNode( algorithmNode.release() );
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/providers/grass/qgsgrassgislib.cpp
Expand Up @@ -1321,9 +1321,9 @@ int GRASS_LIB_EXPORT G__temp_element( char *element )
char GRASS_LIB_EXPORT *G_tempfile( void )
{
QTemporaryFile file( "qgis-grass-temp.XXXXXX" );
QString name = file.fileName();
const QString name = file.fileName();
file.open();
return name.toLatin1().data();
return name.toLatin1().constData();
}

char GRASS_LIB_EXPORT *G_mapset( void )
Expand Down

0 comments on commit 266754b

Please sign in to comment.