Skip to content

Commit e32acf5

Browse files
committedAug 29, 2011
Fixed a segfault when a function has no arguments
1 parent 7e68770 commit e32acf5

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed
 

‎src/core/qgsexpression.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -850,9 +850,12 @@ QVariant QgsExpression::NodeFunction::eval( QgsExpression* parent, QgsFeature* f
850850
bool QgsExpression::NodeFunction::prepare( QgsExpression* parent, const QgsFieldMap& fields )
851851
{
852852
bool res = true;
853-
foreach( Node* n, mArgs->list() )
853+
if ( mArgs )
854854
{
855-
res = res && n->prepare( parent, fields );
855+
foreach( Node* n, mArgs->list() )
856+
{
857+
res = res && n->prepare( parent, fields );
858+
}
856859
}
857860
return res;
858861
}
@@ -863,7 +866,7 @@ QString QgsExpression::NodeFunction::dump() const
863866
if ( fd.mParams == 0 )
864867
return fd.mName; // special column
865868
else
866-
return QString( "%1(%2)" ).arg( fd.mName ).arg( mArgs->dump() ); // function
869+
return QString( "%1(%2)" ).arg( fd.mName ).arg( mArgs ? mArgs->dump() : QString() ); // function
867870
}
868871

869872
//

0 commit comments

Comments
 (0)
Please sign in to comment.