Skip to content

Commit e4d3da2

Browse files
committed
moved node value parsing to ogc filter parsing
1 parent 04e391f commit e4d3da2

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

src/core/qgsogcutils.cpp

+10
Original file line numberDiff line numberDiff line change
@@ -1599,6 +1599,16 @@ QgsExpression* QgsOgcUtils::expressionFromOgcFilter( const QDomElement& element
15991599
if ( element.isNull() || !element.hasChildNodes() )
16001600
return nullptr;
16011601

1602+
// check if it is a single string value => no DomElement
1603+
if ( element.firstChild().nodeType() == QDomNode::TextNode )
1604+
{
1605+
QgsExpression *expr = new QgsExpression( element.firstChild().nodeValue() );
1606+
expr->d->mParserErrorString = QString();
1607+
return expr;
1608+
}
1609+
1610+
// now parse OGC operators. OGC operator does not have a only text value
1611+
// but only sub element operators
16021612
QgsExpression *expr = new QgsExpression();
16031613

16041614
QDomElement childElem = element.firstChildElement();

src/core/symbology-ng/qgssymbollayerv2utils.cpp

-8
Original file line numberDiff line numberDiff line change
@@ -2593,14 +2593,6 @@ bool QgsSymbolLayerV2Utils::functionFromSldElement( QDomElement &element, QStrin
25932593
return false;
25942594
}
25952595

2596-
// check if it is a single string value
2597-
if ( elem.hasChildNodes() &&
2598-
elem.firstChild().nodeType() == QDomNode::TextNode )
2599-
{
2600-
function = elem.firstChild().nodeValue();
2601-
return true;
2602-
}
2603-
26042596
// parse ogc:Filter
26052597
QgsExpression *expr = QgsOgcUtils::expressionFromOgcFilter( elem );
26062598
if ( !expr )

0 commit comments

Comments
 (0)