Details
-
Bug
-
Resolution: Invalid
-
Not Evaluated
-
None
-
5.13.1
-
None
Description
When comparing QGeoCoordinates with latitude +-90 and varying longitude then the equal operator returns true although the longitude values differ. The problem can be reproduced with this code:
#include <QDebug> #include <QGeoCoordinate> int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QGeoCoordinate coord(90, 180); for (int i=0; i<50; i++) { auto coord2 = QGeoCoordinate(coord.latitude(), coord.longitude()-i*0.1); qDebug() << coord << coord2 << (coord == coord2); } return 0; }
which outputs:
QGeoCoordinate(90, 180) QGeoCoordinate(90, 180) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 179.9) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 179.8) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 179.7) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 179.6) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 179.5) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 179.4) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 179.3) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 179.2) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 179.1) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 179) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 178.9) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 178.8) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 178.7) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 178.6) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 178.5) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 178.4) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 178.3) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 178.2) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 178.1) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 178) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 177.9) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 177.8) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 177.7) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 177.6) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 177.5) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 177.4) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 177.3) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 177.2) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 177.1) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 177) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 176.9) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 176.8) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 176.7) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 176.6) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 176.5) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 176.4) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 176.3) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 176.2) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 176.1) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 176) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 175.9) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 175.8) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 175.7) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 175.6) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 175.5) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 175.4) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 175.3) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 175.2) true QGeoCoordinate(90, 180) QGeoCoordinate(90, 175.1) true