Skip to content

Commit

Permalink
Revert Nyall's suggestion about using getDoubleValue directly
Browse files Browse the repository at this point in the history
  • Loading branch information
elpaso authored and nyalldawson committed Nov 29, 2021
1 parent ff8a78f commit f9333a0
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions src/core/expression/qgsexpressionfunction.cpp
Expand Up @@ -6619,10 +6619,18 @@ static QVariant executeGeomOverlay( const QVariantList &values, const QgsExpress
if ( isIntersectsFunc )
{

minOverlap = QgsExpressionUtils::getDoubleValue( values.at( 5 ), parent );
minInscribedCircleRadius = QgsExpressionUtils::getDoubleValue( values.at( 6 ), parent );
node = QgsExpressionUtils::getNode( values.at( 5 ), parent ); //in expressions overlay functions throw the exception: Eval Error: Cannot convert '' to int
ENSURE_NO_EVAL_ERROR
const QVariant minOverlapValue = node->eval( parent, context );
ENSURE_NO_EVAL_ERROR
minOverlap = QgsExpressionUtils::getDoubleValue( minOverlapValue, parent );
node = QgsExpressionUtils::getNode( values.at( 6 ), parent ); //in expressions overlay functions throw the exception: Eval Error: Cannot convert '' to int
ENSURE_NO_EVAL_ERROR
const QVariant minInscribedCircleRadiusValue = node->eval( parent, context );
ENSURE_NO_EVAL_ERROR
minInscribedCircleRadius = QgsExpressionUtils::getDoubleValue( minInscribedCircleRadiusValue, parent );
#if GEOS_VERSION_MAJOR==3 && GEOS_VERSION_MINOR<9
if ( minInscribedCircleRadius != -1 )
if ( minInscribedCircleRadiusValue != -1 )
{
parent->setEvalErrorString( QObject::tr( "'min_inscribed_circle_radius' is only available when QGIS is built with GEOS >= 3.9." ) );
return QVariant();
Expand Down

0 comments on commit f9333a0

Please sign in to comment.