Skip to content

Commit 725f973

Browse files
committed
Fix various Coverity errors (inc mem leaks)
1 parent 772ab8e commit 725f973

File tree

12 files changed

+23
-10
lines changed

12 files changed

+23
-10
lines changed

src/app/qgsdecorationgriddialog.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,15 @@ void QgsDecorationGridDialog::updateGuiElements()
8888
delete mLineSymbol;
8989
if ( mDeco.lineSymbol() )
9090
{
91-
mLineSymbol = dynamic_cast<QgsLineSymbolV2*>( mDeco.lineSymbol()->clone() );
91+
mLineSymbol = static_cast<QgsLineSymbolV2*>( mDeco.lineSymbol()->clone() );
9292
QIcon icon = QgsSymbolLayerV2Utils::symbolPreviewIcon( mLineSymbol, mLineSymbolButton->iconSize() );
9393
mLineSymbolButton->setIcon( icon );
9494
}
9595
if ( mMarkerSymbol )
9696
delete mMarkerSymbol;
9797
if ( mDeco.markerSymbol() )
9898
{
99-
mMarkerSymbol = dynamic_cast<QgsMarkerSymbolV2*>( mDeco.markerSymbol()->clone() );
99+
mMarkerSymbol = static_cast<QgsMarkerSymbolV2*>( mDeco.markerSymbol()->clone() );
100100
QIcon icon = QgsSymbolLayerV2Utils::symbolPreviewIcon( mMarkerSymbol, mMarkerSymbolButton->iconSize() );
101101
mMarkerSymbolButton->setIcon( icon );
102102
}

src/core/geometry/qgsgeometry.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -973,7 +973,7 @@ bool QgsGeometry::convertToSingleType()
973973
}
974974

975975
QgsGeometryCollectionV2* multiGeom = dynamic_cast<QgsGeometryCollectionV2*>( d->geometry );
976-
if ( multiGeom->partCount() < 1 )
976+
if ( !multiGeom || multiGeom->partCount() < 1 )
977977
return false;
978978

979979
QgsAbstractGeometryV2* firstPart = multiGeom->geometryN( 0 )->clone();

src/core/qgspallabeling.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1664,8 +1664,7 @@ bool QgsPalLayerSettings::dataDefinedEvaluate( DataDefinedProperties p, QVariant
16641664
if ( !context )
16651665
{
16661666
scopedEc.reset( new QgsExpressionContext() );
1667-
if ( mCurFeat )
1668-
scopedEc->setFeature( *mCurFeat );
1667+
scopedEc->setFeature( *mCurFeat );
16691668
scopedEc->setFields( mCurFields );
16701669
}
16711670
QgsExpressionContext* ec = context ? context : scopedEc.data();

src/gui/symbology-ng/qgsgraduatedsymbolrendererv2widget.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,9 @@ void QgsGraduatedSymbolRendererV2Widget::changeGraduatedSymbol()
804804

805805
void QgsGraduatedSymbolRendererV2Widget::updateGraduatedSymbolIcon()
806806
{
807+
if ( !mGraduatedSymbol )
808+
return;
809+
807810
QIcon icon = QgsSymbolLayerV2Utils::symbolPreviewIcon( mGraduatedSymbol, btnChangeGraduatedSymbol->iconSize() );
808811
btnChangeGraduatedSymbol->setIcon( icon );
809812
}

src/gui/symbology-ng/qgssizescalewidget.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ void QgsSizeScaleWidget::updatePreview()
203203
int widthMax = 0;
204204
for ( int i = 0; i < breaks.length(); i++ )
205205
{
206-
QScopedPointer< QgsMarkerSymbolV2 > symbol( dynamic_cast<QgsMarkerSymbolV2*>( mSymbol->clone() ) );
206+
QScopedPointer< QgsMarkerSymbolV2 > symbol( static_cast<QgsMarkerSymbolV2*>( mSymbol->clone() ) );
207207
symbol->setDataDefinedSize( QgsDataDefined() );
208208
symbol->setDataDefinedAngle( QgsDataDefined() ); // to avoid symbol not beeing drawn
209209
symbol->setSize( expr->size( breaks[i] ) );

src/plugins/grass/qgsgrasseditrenderer.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ QgsGrassEditRenderer::QgsGrassEditRenderer()
6060
QgsMarkerSymbolV2 * markerSymbol = new QgsMarkerSymbolV2( markerLayers );
6161
firstVertexMarkerLine->setSubSymbol( markerSymbol );
6262
firstVertexMarkerLine->setPlacement( QgsMarkerLineSymbolLayerV2::FirstVertex );
63-
QgsMarkerLineSymbolLayerV2 * lastVertexMarkerLine = dynamic_cast<QgsMarkerLineSymbolLayerV2 *>( firstVertexMarkerLine->clone() );
63+
QgsMarkerLineSymbolLayerV2 * lastVertexMarkerLine = static_cast<QgsMarkerLineSymbolLayerV2 *>( firstVertexMarkerLine->clone() );
6464
lastVertexMarkerLine->setPlacement( QgsMarkerLineSymbolLayerV2::LastVertex );
6565
foreach ( int value, colors.keys() )
6666
{
@@ -101,6 +101,8 @@ QgsGrassEditRenderer::QgsGrassEditRenderer()
101101

102102
QgsGrassEditRenderer::~QgsGrassEditRenderer()
103103
{
104+
delete mMarkerRenderer;
105+
delete mLineRenderer;
104106
}
105107

106108
void QgsGrassEditRenderer::setLineRenderer( QgsFeatureRendererV2 *renderer )
@@ -260,6 +262,8 @@ QgsRendererV2Widget* QgsGrassEditRendererWidget::create( QgsVectorLayer* layer,
260262
QgsGrassEditRendererWidget::QgsGrassEditRendererWidget( QgsVectorLayer* layer, QgsStyleV2* style, QgsFeatureRendererV2* renderer )
261263
: QgsRendererV2Widget( layer, style )
262264
, mRenderer( 0 )
265+
, mLineRendererWidget( 0 )
266+
, mPointRendererWidget( 0 )
263267
{
264268
QgsDebugMsg( "entered" );
265269
mRenderer = dynamic_cast<QgsGrassEditRenderer*>( renderer->clone() );

src/plugins/grass/qgsgrassplugin.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,7 @@ void QgsGrassPlugin::onEditingStarted()
408408
{
409409
QgsDebugMsg( editStyleName + " style exists -> set as current" );
410410
vectorLayer->styleManager()->setCurrentStyle( editStyleName );
411+
delete renderer;
411412
}
412413
else
413414
{

src/plugins/grass/qgsgrassregion.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,8 @@ QgsGrassRegion::QgsGrassRegion( QgisInterface *iface,
193193
QWidget * parent, Qt::WindowFlags f )
194194
: QWidget( parent, f )
195195
, QgsGrassRegionBase()
196+
, mX( 0 )
197+
, mY( 0 )
196198
, mRegionEdit( 0 )
197199
{
198200
QgsDebugMsg( "QgsGrassRegion()" );

src/providers/grass/qgsgrassprovidermodule.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -775,6 +775,7 @@ bool QgsGrassMapsetItem::handleDrop( const QMimeData * data, Qt::DropAction )
775775
{
776776
import = new QgsGrassExternal( rasterProvider->dataSourceUri(), rasterObject );
777777
delete rasterProvider;
778+
delete pipe;
778779
}
779780
else
780781
{

src/providers/grass/qgsgrassvector.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,12 +193,14 @@ QgsGrassVector::QgsGrassVector( const QString& gisdbase, const QString& location
193193
const QString& name, QObject *parent )
194194
: QObject( parent )
195195
, mGrassObject( gisdbase, location, mapset, name )
196+
, mNodeCount( 0 )
196197
{
197198
}
198199

199200
QgsGrassVector::QgsGrassVector( const QgsGrassObject& grassObject, QObject *parent )
200201
: QObject( parent )
201202
, mGrassObject( grassObject )
203+
, mNodeCount( 0 )
202204
{
203205
}
204206

0 commit comments

Comments
 (0)