Skip to content

Commit b5476ef

Browse files
committed
Fix clang warnings, scale truncation to int
1 parent 0e2ceb9 commit b5476ef

File tree

6 files changed

+13
-13
lines changed

6 files changed

+13
-13
lines changed

python/core/auto_generated/qgsrulebasedlabeling.sip.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class QgsRuleBasedLabeling : QgsAbstractVectorLayerLabeling
3535
#include "qgsrulebasedlabeling.h"
3636
%End
3737
public:
38-
Rule( QgsPalLayerSettings *settings /Transfer/, int maximumScale = 0, int minimumScale = 0, const QString &filterExp = QString(), const QString &description = QString(), bool elseRule = false );
38+
Rule( QgsPalLayerSettings *settings /Transfer/, double maximumScale = 0, double minimumScale = 0, const QString &filterExp = QString(), const QString &description = QString(), bool elseRule = false );
3939
%Docstring
4040
takes ownership of settings, settings may be None
4141
%End

python/core/auto_generated/symbology/qgssymbollayerutils.sip.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -717,7 +717,7 @@ Checks if the properties contain scaleMinDenom and scaleMaxDenom, if available,
717717
.. versionadded:: 3.0
718718
%End
719719

720-
static void mergeScaleDependencies( int mScaleMinDenom, int mScaleMaxDenom, QgsStringMap &props );
720+
static void mergeScaleDependencies( double mScaleMinDenom, double mScaleMaxDenom, QgsStringMap &props );
721721
%Docstring
722722
Merges the local scale limits, if any, with the ones already in the map, if any
723723

src/core/qgsrulebasedlabeling.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ QList<QgsAbstractLabelProvider *> QgsRuleBasedLabelProvider::subProviders()
5454

5555
////////////////////
5656

57-
QgsRuleBasedLabeling::Rule::Rule( QgsPalLayerSettings *settings, int scaleMinDenom, int scaleMaxDenom, const QString &filterExp, const QString &description, bool elseRule )
57+
QgsRuleBasedLabeling::Rule::Rule( QgsPalLayerSettings *settings, double scaleMinDenom, double scaleMaxDenom, const QString &filterExp, const QString &description, bool elseRule )
5858
: mSettings( settings )
5959
, mMaximumScale( scaleMinDenom )
6060
, mMinimumScale( scaleMaxDenom )
@@ -256,9 +256,9 @@ QDomElement QgsRuleBasedLabeling::Rule::save( QDomDocument &doc, const QgsReadWr
256256
}
257257
if ( !mFilterExp.isEmpty() )
258258
ruleElem.setAttribute( QStringLiteral( "filter" ), mFilterExp );
259-
if ( mMaximumScale != 0 )
259+
if ( !qgsDoubleNear( mMaximumScale, 0 ) )
260260
ruleElem.setAttribute( QStringLiteral( "scalemindenom" ), mMaximumScale );
261-
if ( mMinimumScale != 0 )
261+
if ( !qgsDoubleNear( mMinimumScale, 0 ) )
262262
ruleElem.setAttribute( QStringLiteral( "scalemaxdenom" ), mMinimumScale );
263263
if ( !mDescription.isEmpty() )
264264
ruleElem.setAttribute( QStringLiteral( "description" ), mDescription );

src/core/qgsrulebasedlabeling.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class CORE_EXPORT QgsRuleBasedLabeling : public QgsAbstractVectorLayerLabeling
5353
{
5454
public:
5555
//! takes ownership of settings, settings may be nullptr
56-
Rule( QgsPalLayerSettings *settings SIP_TRANSFER, int maximumScale = 0, int minimumScale = 0, const QString &filterExp = QString(), const QString &description = QString(), bool elseRule = false );
56+
Rule( QgsPalLayerSettings *settings SIP_TRANSFER, double maximumScale = 0, double minimumScale = 0, const QString &filterExp = QString(), const QString &description = QString(), bool elseRule = false );
5757
~Rule();
5858

5959
//! Rules cannot be copied.
@@ -79,7 +79,7 @@ class CORE_EXPORT QgsRuleBasedLabeling : public QgsAbstractVectorLayerLabeling
7979
*
8080
* \returns True if scale based labeling is active
8181
*/
82-
bool dependsOnScale() const { return mMinimumScale != 0 || mMaximumScale != 0; }
82+
bool dependsOnScale() const { return !qgsDoubleNear( mMinimumScale, 0.0 ) || !qgsDoubleNear( mMaximumScale, 0 ); }
8383

8484
/**
8585
* Returns the maximum map scale (i.e. most "zoomed in" scale) at which the label rule will be active.

src/core/symbology/qgssymbollayerutils.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4201,22 +4201,22 @@ void QgsSymbolLayerUtils::applyScaleDependency( QDomDocument &doc, QDomElement &
42014201
}
42024202
}
42034203

4204-
void QgsSymbolLayerUtils::mergeScaleDependencies( int mScaleMinDenom, int mScaleMaxDenom, QgsStringMap &props )
4204+
void QgsSymbolLayerUtils::mergeScaleDependencies( double mScaleMinDenom, double mScaleMaxDenom, QgsStringMap &props )
42054205
{
4206-
if ( mScaleMinDenom != 0 )
4206+
if ( !qgsDoubleNear( mScaleMinDenom, 0 ) )
42074207
{
42084208
bool ok;
4209-
int parentScaleMinDenom = props.value( QStringLiteral( "scaleMinDenom" ), QStringLiteral( "0" ) ).toInt( &ok );
4209+
double parentScaleMinDenom = props.value( QStringLiteral( "scaleMinDenom" ), QStringLiteral( "0" ) ).toDouble( &ok );
42104210
if ( !ok || parentScaleMinDenom <= 0 )
42114211
props[ QStringLiteral( "scaleMinDenom" )] = QString::number( mScaleMinDenom );
42124212
else
42134213
props[ QStringLiteral( "scaleMinDenom" )] = QString::number( std::max( parentScaleMinDenom, mScaleMinDenom ) );
42144214
}
42154215

4216-
if ( mScaleMaxDenom != 0 )
4216+
if ( !qgsDoubleNear( mScaleMaxDenom, 0 ) )
42174217
{
42184218
bool ok;
4219-
int parentScaleMaxDenom = props.value( QStringLiteral( "scaleMaxDenom" ), QStringLiteral( "0" ) ).toInt( &ok );
4219+
double parentScaleMaxDenom = props.value( QStringLiteral( "scaleMaxDenom" ), QStringLiteral( "0" ) ).toDouble( &ok );
42204220
if ( !ok || parentScaleMaxDenom <= 0 )
42214221
props[ QStringLiteral( "scaleMaxDenom" )] = QString::number( mScaleMaxDenom );
42224222
else

src/core/symbology/qgssymbollayerutils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -654,7 +654,7 @@ class CORE_EXPORT QgsSymbolLayerUtils
654654
* Merges the local scale limits, if any, with the ones already in the map, if any
655655
* \since QGIS 3.0
656656
*/
657-
static void mergeScaleDependencies( int mScaleMinDenom, int mScaleMaxDenom, QgsStringMap &props );
657+
static void mergeScaleDependencies( double mScaleMinDenom, double mScaleMaxDenom, QgsStringMap &props );
658658

659659
/**
660660
* Encodes a reference to a parametric SVG into SLD, as a succession of parametric SVG using URL parameters,

0 commit comments

Comments
 (0)