Skip to content

Commit 29d0166

Browse files
committedDec 1, 2014
Fix isIntSafe and isDoubleSafe not considering QVariant::UInt, QVariant::LongLong, QVariant::ULongLong (Funded by Sourcepole)
1 parent 974511f commit 29d0166

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed
 

‎src/core/qgsexpression.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,13 +162,20 @@ static QVariant tvl2variant( TVL v )
162162
inline bool isIntSafe( const QVariant& v )
163163
{
164164
if ( v.type() == QVariant::Int ) return true;
165+
if ( v.type() == QVariant::UInt ) return true;
166+
if ( v.type() == QVariant::LongLong ) return true;
167+
if ( v.type() == QVariant::ULongLong ) return true;
165168
if ( v.type() == QVariant::Double ) return false;
166169
if ( v.type() == QVariant::String ) { bool ok; v.toString().toInt( &ok ); return ok; }
167170
return false;
168171
}
169172
inline bool isDoubleSafe( const QVariant& v )
170173
{
171-
if ( v.type() == QVariant::Double || v.type() == QVariant::Int ) return true;
174+
if ( v.type() == QVariant::Double ) return true;
175+
if ( v.type() == QVariant::Int ) return true;
176+
if ( v.type() == QVariant::UInt ) return true;
177+
if ( v.type() == QVariant::LongLong ) return true;
178+
if ( v.type() == QVariant::ULongLong ) return true;
172179
if ( v.type() == QVariant::String ) { bool ok; v.toString().toDouble( &ok ); return ok; }
173180
return false;
174181
}

0 commit comments

Comments
 (0)
Please sign in to comment.