From 7197df0c85011a5bbde760d4f8ed5781b1aa1083 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Thu, 30 Jan 2020 01:51:30 +0100 Subject: [PATCH 1/4] Fix cppcheck uninitMemberVar warnings in src/core/ Found with ~/cppcheck/cppcheck --enable=all --inconclusive ../src/core --library=$HOME/cppcheck/cfg/qt.cfg -j 8 -DSIP_OUT 2>&1 | grep uninitMemberVar --- src/core/diagram/qgsdiagram.cpp | 3 +-- src/core/effects/qgsgloweffect.cpp | 2 ++ src/core/expression/qgsexpressioncontextutils.h | 2 +- src/core/mesh/qgsmeshtracerenderer.h | 2 +- src/core/qgsexpressioncontext.cpp | 2 +- src/core/qgsfeaturerequest.cpp | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/core/diagram/qgsdiagram.cpp b/src/core/diagram/qgsdiagram.cpp index d478507f851c..34da09b85d34 100644 --- a/src/core/diagram/qgsdiagram.cpp +++ b/src/core/diagram/qgsdiagram.cpp @@ -17,9 +17,8 @@ #include -QgsDiagram::QgsDiagram( const QgsDiagram &other ) +QgsDiagram::QgsDiagram( const QgsDiagram & ): mExpressions{} { - Q_UNUSED( other ) // do not copy the cached expression map - the expressions need to be created and prepared with getExpression(...) call } diff --git a/src/core/effects/qgsgloweffect.cpp b/src/core/effects/qgsgloweffect.cpp index 3181f6c57d6a..755e540e3bd3 100644 --- a/src/core/effects/qgsgloweffect.cpp +++ b/src/core/effects/qgsgloweffect.cpp @@ -33,6 +33,8 @@ QgsGlowEffect::QgsGlowEffect( const QgsGlowEffect &other ) , mSpreadUnit( other.spreadUnit() ) , mSpreadMapUnitScale( other.spreadMapUnitScale() ) , mBlurLevel( other.blurLevel() ) + , mBlurUnit( other.mBlurUnit ) + , mBlurMapUnitScale( other.mBlurMapUnitScale ) , mOpacity( other.opacity() ) , mColor( other.color() ) , mBlendMode( other.blendMode() ) diff --git a/src/core/expression/qgsexpressioncontextutils.h b/src/core/expression/qgsexpressioncontextutils.h index b5c90170e2fc..16dcf93ab2a7 100644 --- a/src/core/expression/qgsexpressioncontextutils.h +++ b/src/core/expression/qgsexpressioncontextutils.h @@ -327,7 +327,7 @@ class CORE_EXPORT QgsExpressionContextUtils QList< QPointer< QgsMapLayer > > mLayers; QMap< QPointer< QgsMapLayer >, QPair< double, double > > mScaleBasedVisibilityDetails; - double mScale; + double mScale = 0.0; }; diff --git a/src/core/mesh/qgsmeshtracerenderer.h b/src/core/mesh/qgsmeshtracerenderer.h index 18b2c54a1895..7b3a4ace3e68 100644 --- a/src/core/mesh/qgsmeshtracerenderer.h +++ b/src/core/mesh/qgsmeshtracerenderer.h @@ -298,7 +298,7 @@ class QgsMeshStreamField QPoint mFieldTopLeftInDeviceCoordinates; bool mValid = false; double mMaximumMagnitude = 0; - double mPixelFillingDensity; + double mPixelFillingDensity = 0; double mMinMagFilter = -1; double mMaxMagFilter = -1; const QgsRenderContext &mRenderContext; //keep the renderer context only to know if the renderer is stopped diff --git a/src/core/qgsexpressioncontext.cpp b/src/core/qgsexpressioncontext.cpp index 892f0c97fd3c..2ca193563ef3 100644 --- a/src/core/qgsexpressioncontext.cpp +++ b/src/core/qgsexpressioncontext.cpp @@ -237,7 +237,7 @@ QgsExpressionContext::QgsExpressionContext( const QList Date: Thu, 30 Jan 2020 02:03:49 +0100 Subject: [PATCH 2/4] QgsFeatureRequest::operator=(): copy mTransformContext member --- src/core/qgsfeaturerequest.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/qgsfeaturerequest.cpp b/src/core/qgsfeaturerequest.cpp index 5b0e6e6abe7d..a221ee473826 100644 --- a/src/core/qgsfeaturerequest.cpp +++ b/src/core/qgsfeaturerequest.cpp @@ -56,7 +56,7 @@ QgsFeatureRequest::QgsFeatureRequest( const QgsExpression &expr, const QgsExpres { } -QgsFeatureRequest::QgsFeatureRequest( const QgsFeatureRequest &rh ): mTransformContext{} +QgsFeatureRequest::QgsFeatureRequest( const QgsFeatureRequest &rh ) { operator=( rh ); } @@ -84,6 +84,7 @@ QgsFeatureRequest &QgsFeatureRequest::operator=( const QgsFeatureRequest &rh ) mLimit = rh.mLimit; mOrderBy = rh.mOrderBy; mCrs = rh.mCrs; + mTransformContext = rh.mTransformContext; mTransformErrorCallback = rh.mTransformErrorCallback; mTimeout = rh.mTimeout; mRequestMayBeNested = rh.mRequestMayBeNested; From 864fe2f404f95ff626afec3034d8250e9a1f766e Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Thu, 30 Jan 2020 02:22:34 +0100 Subject: [PATCH 3/4] QgsGlowEffect: add missing members in operator=() and make copy constructor use it --- src/core/effects/qgsgloweffect.cpp | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/src/core/effects/qgsgloweffect.cpp b/src/core/effects/qgsgloweffect.cpp index 755e540e3bd3..bde1a30b77bf 100644 --- a/src/core/effects/qgsgloweffect.cpp +++ b/src/core/effects/qgsgloweffect.cpp @@ -29,21 +29,8 @@ QgsGlowEffect::QgsGlowEffect() QgsGlowEffect::QgsGlowEffect( const QgsGlowEffect &other ) : QgsPaintEffect( other ) - , mSpread( other.spread() ) - , mSpreadUnit( other.spreadUnit() ) - , mSpreadMapUnitScale( other.spreadMapUnitScale() ) - , mBlurLevel( other.blurLevel() ) - , mBlurUnit( other.mBlurUnit ) - , mBlurMapUnitScale( other.mBlurMapUnitScale ) - , mOpacity( other.opacity() ) - , mColor( other.color() ) - , mBlendMode( other.blendMode() ) - , mColorType( other.colorType() ) { - if ( other.ramp() ) - { - mRamp = other.ramp()->clone(); - } + operator=( other ); } QgsGlowEffect::~QgsGlowEffect() @@ -216,8 +203,12 @@ QgsGlowEffect &QgsGlowEffect::operator=( const QgsGlowEffect &rhs ) delete mRamp; mSpread = rhs.spread(); + mSpreadUnit = rhs.spreadUnit(); + mSpreadMapUnitScale = rhs.spreadMapUnitScale(); mRamp = rhs.ramp() ? rhs.ramp()->clone() : nullptr; mBlurLevel = rhs.blurLevel(); + mBlurUnit = rhs.mBlurUnit; + mBlurMapUnitScale = rhs.mBlurMapUnitScale; mOpacity = rhs.opacity(); mColor = rhs.color(); mBlendMode = rhs.blendMode(); From 01412a7bec32d736d13a6166f3ecbc2f5230284c Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Thu, 30 Jan 2020 02:44:57 +0100 Subject: [PATCH 4/4] GUI: init combobox for Glow effect blur radius unit from object value. Fixes #34089 --- src/gui/effects/qgspainteffectwidget.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/effects/qgspainteffectwidget.cpp b/src/gui/effects/qgspainteffectwidget.cpp index 33c0a9c07dbc..ddda1db0d401 100644 --- a/src/gui/effects/qgspainteffectwidget.cpp +++ b/src/gui/effects/qgspainteffectwidget.cpp @@ -485,6 +485,8 @@ void QgsGlowWidget::initGui() mSpreadUnitWidget->setUnit( mEffect->spreadUnit() ); mSpreadUnitWidget->setMapUnitScale( mEffect->spreadMapUnitScale() ); mBlurRadiusSpnBx->setValue( mEffect->blurLevel() ); + mBlurUnitWidget->setUnit( mEffect->blurUnit() ); + mBlurUnitWidget->setMapUnitScale( mEffect->blurMapUnitScale() ); mOpacityWidget->setOpacity( mEffect->opacity() ); mColorBtn->setColor( mEffect->color() ); mBlendCmbBx->setBlendMode( mEffect->blendMode() );