Skip to content

Commit 6d15712

Browse files
committedAug 18, 2013
* also intialize mCalc member of QgsExpression in protected ctor (fixes #8475)
* avoid nesting ogc:Filter in ogc:Filter (createFunctionElement already returns a filter)
1 parent 78be54c commit 6d15712

File tree

5 files changed

+6
-15
lines changed

5 files changed

+6
-15
lines changed
 

‎src/core/qgsexpression.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1617,15 +1617,12 @@ QgsExpression::QgsExpression( const QString& expr )
16171617
mRootNode = ::parseExpression( mExpression, mParserErrorString );
16181618

16191619
if ( mParserErrorString.isNull() )
1620-
{
1621-
Q_ASSERT( mRootNode != NULL );
1622-
}
1620+
Q_ASSERT( mRootNode );
16231621
}
16241622

16251623
QgsExpression::~QgsExpression()
16261624
{
1627-
if ( mCalc )
1628-
delete mCalc;
1625+
delete mCalc;
16291626
delete mRootNode;
16301627
}
16311628

‎src/core/qgsexpression.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -599,7 +599,7 @@ class CORE_EXPORT QgsExpression
599599

600600
protected:
601601
// internally used to create an empty expression
602-
QgsExpression() : mRootNode( NULL ), mRowNumber( 0 ) {}
602+
QgsExpression() : mRootNode( 0 ), mRowNumber( 0 ), mCalc( 0 ) {}
603603

604604
void initGeomCalculator();
605605

‎src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,12 +124,10 @@ void QgsRendererCategoryV2::toSld( QDomDocument &doc, QDomElement &element, QgsS
124124
ruleElem.appendChild( descrElem );
125125

126126
// create the ogc:Filter for the range
127-
QDomElement filterElem = doc.createElement( "ogc:Filter" );
128127
QString filterFunc = QString( "%1 = '%2'" )
129128
.arg( attrName.replace( "\"", "\"\"" ) )
130129
.arg( mValue.toString().replace( "'", "''" ) );
131-
QgsSymbolLayerV2Utils::createFunctionElement( doc, filterElem, filterFunc );
132-
ruleElem.appendChild( filterElem );
130+
QgsSymbolLayerV2Utils::createFunctionElement( doc, ruleElem, filterFunc );
133131

134132
mSymbol->toSld( doc, ruleElem, props );
135133
}

‎src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,12 +139,10 @@ void QgsRendererRangeV2::toSld( QDomDocument &doc, QDomElement &element, QgsStri
139139
ruleElem.appendChild( descrElem );
140140

141141
// create the ogc:Filter for the range
142-
QDomElement filterElem = doc.createElement( "ogc:Filter" );
143142
QString filterFunc = QString( "%1 > %2 AND %1 <= %3" )
144143
.arg( attrName.replace( "\"", "\"\"" ) )
145144
.arg( mLowerValue ).arg( mUpperValue );
146-
QgsSymbolLayerV2Utils::createFunctionElement( doc, filterElem, filterFunc );
147-
ruleElem.appendChild( filterElem );
145+
QgsSymbolLayerV2Utils::createFunctionElement( doc, ruleElem, filterFunc );
148146

149147
mSymbol->toSld( doc, ruleElem, props );
150148
}

‎src/core/symbology-ng/qgsrulebasedrendererv2.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -255,9 +255,7 @@ void QgsRuleBasedRendererV2::Rule::toSld( QDomDocument& doc, QDomElement &elemen
255255

256256
if ( !props.value( "filter", "" ).isEmpty() )
257257
{
258-
QDomElement filterElem = doc.createElement( "ogc:Filter" );
259-
QgsSymbolLayerV2Utils::createFunctionElement( doc, filterElem, props.value( "filter", "" ) );
260-
ruleElem.appendChild( filterElem );
258+
QgsSymbolLayerV2Utils::createFunctionElement( doc, ruleElem, props.value( "filter", "" ) );
261259
}
262260

263261
if ( !props.value( "scaleMinDenom", "" ).isEmpty() )

0 commit comments

Comments
 (0)
Please sign in to comment.