Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
5.5.1
-
None
-
Windows, Visual Studio 2013 x64.
Description
Normally, two double values representing infinity with the same sign should compare equal. However, when wrapped in a QVariant this fails.
#include <limits> #include <QDebug> #include <QVariant> int main(void) { const double myInf = std::numeric_limits<double>::infinity(); qDebug() << "Compare 1.23" << ( QVariant( 1.23 ) == QVariant( 1.23 ) ); qDebug() << "Compare double Inf" << ( ( myInf ) == ( myInf ) ); qDebug() << "Compare QVariant Inf" << ( QVariant( myInf ) == QVariant( myInf ) ); }
Output:
Compare 1.23 true
Compare double Inf true
Compare QVariant Inf false
The last comparion should be "true".
This bug is a regression - in Qt5.3.2 it was fine.