diff --git a/src/core/geometry/qgsrectangle.h b/src/core/geometry/qgsrectangle.h index b37b908cb56ef..3dc6043ff7329 100644 --- a/src/core/geometry/qgsrectangle.h +++ b/src/core/geometry/qgsrectangle.h @@ -514,8 +514,10 @@ class CORE_EXPORT QgsRectangle bool isNull() const { // rectangle created QgsRectangle() or with rect.setNull() or - // otherwise having all NaN ordinates - return std::isnan( mXmin ) && std::isnan( mXmax ) && std::isnan( mYmin ) && std::isnan( mYmax ); + // otherwise having NaN ordinates + return ( std::isnan( mXmin ) && std::isnan( mXmax ) && std::isnan( mYmin ) && std::isnan( mYmax ) ) || + ( qgsDoubleNear( mXmin, std::numeric_limits::max() ) && qgsDoubleNear( mYmin, std::numeric_limits::max() ) && + qgsDoubleNear( mXmax, -std::numeric_limits::max() ) && qgsDoubleNear( mYmax, -std::numeric_limits::max() ) ); } /**