diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2017-06-12 15:33:12 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2017-06-30 14:53:58 +0000 |
commit | 420139a36dace3bb8f78f2d65b30f7657668d888 (patch) | |
tree | e40f613627f73ee8aa8d61f062c0741f86897b55 | |
parent | 7bd7815f613c6f1ae0215d0b6a0ab5b7a6e72a59 (diff) | |
download | qtlocation-420139a36dace3bb8f78f2d65b30f7657668d888.tar.gz |
Use QRandomGenerator instead of q?rand
Change-Id: Icd0e0d4b27cb4e5eb892fffd14b5285d43f4afbf
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
3 files changed, 8 insertions, 9 deletions
diff --git a/src/plugins/geoservices/nokia/qgeouriprovider.cpp b/src/plugins/geoservices/nokia/qgeouriprovider.cpp index 80b47f31..f36a6694 100644 --- a/src/plugins/geoservices/nokia/qgeouriprovider.cpp +++ b/src/plugins/geoservices/nokia/qgeouriprovider.cpp @@ -37,6 +37,7 @@ #include <QMap> #include <QVariant> +#include <QRandomGenerator> #include <QSet> #include <QString> @@ -60,7 +61,7 @@ QGeoUriProvider::QGeoUriProvider( QString QGeoUriProvider::getCurrentHost() const { if (m_maxSubdomains) { - QString result(m_firstSubdomain.toLatin1() + qrand() % m_maxSubdomains); + QString result(m_firstSubdomain.toLatin1() + QRandomGenerator::bounded(m_maxSubdomains)); result += '.' + m_currentHost; return result; } diff --git a/src/plugins/position/android/src/jnipositioning.cpp b/src/plugins/position/android/src/jnipositioning.cpp index 9bd49e90..e79e64d5 100644 --- a/src/plugins/position/android/src/jnipositioning.cpp +++ b/src/plugins/position/android/src/jnipositioning.cpp @@ -40,6 +40,7 @@ #include <QDateTime> #include <QDebug> #include <QMap> +#include <QRandomGenerator> #include <QtGlobal> #include <QtCore/private/qjnihelpers_p.h> #include <android/log.h> @@ -100,7 +101,6 @@ namespace AndroidPositioning { { static bool firstInit = true; if (firstInit) { - qsrand( QDateTime::currentMSecsSinceEpoch() / 1000 ); firstInit = false; } @@ -109,7 +109,7 @@ namespace AndroidPositioning { QGeoPositionInfoSourceAndroid *src = qobject_cast<QGeoPositionInfoSourceAndroid *>(obj); Q_ASSERT(src); do { - key = qrand(); + key = QRandomGenerator::get32(); } while (idToPosSource()->contains(key)); idToPosSource()->insert(key, src); @@ -117,7 +117,7 @@ namespace AndroidPositioning { QGeoSatelliteInfoSourceAndroid *src = qobject_cast<QGeoSatelliteInfoSourceAndroid *>(obj); Q_ASSERT(src); do { - key = qrand(); + key = QRandomGenerator::get32(); } while (idToSatSource()->contains(key)); idToSatSource()->insert(key, src); diff --git a/tests/plugins/declarativetestplugin/qdeclarativelocationtestmodel.cpp b/tests/plugins/declarativetestplugin/qdeclarativelocationtestmodel.cpp index e0004596..e4bb755d 100644 --- a/tests/plugins/declarativetestplugin/qdeclarativelocationtestmodel.cpp +++ b/tests/plugins/declarativetestplugin/qdeclarativelocationtestmodel.cpp @@ -41,8 +41,6 @@ QDeclarativeLocationTestModel::QDeclarativeLocationTestModel(QObject *parent): crazyLevel_(0), crazyMode_(false) { - // seed crazy random generator - qsrand(QTime(0,0,0).secsTo(QTime::currentTime()) + QCoreApplication::applicationPid()); timer_.setSingleShot(true); connect(&timer_, SIGNAL(timeout()), this, SLOT(timerFired())); } @@ -63,7 +61,7 @@ void QDeclarativeLocationTestModel::timerFired() repopulate(); if (crazyMode_) { //qDebug() << "raw randomw value: " << qrand(); - int delay = (qAbs(qrand()) % crazyLevel_); // writing software is exact science + int delay = (QRandomGenerator::bounded(uint(INT_MAX) + 1) % crazyLevel_); // writing software is exact science delay = qMax(1000, delay); // 3 ms at minimum qDebug() << "starting timer with : " << delay; timer_.start(delay); @@ -164,7 +162,7 @@ void QDeclarativeLocationTestModel::repopulate() } int datacount = datacount_; if (crazyMode_) - datacount = (qAbs(qrand()) % datacount_); + datacount = QRandomGenerator::bounded(datacount_); for (int i = 0; i < datacount; ++i) { DataObject* dataobject = new DataObject; @@ -206,7 +204,7 @@ void QDeclarativeLocationTestModel::scheduleRepopulation() if (crazyMode_) { // start generating arbitrary amount of data at arbitrary intervals - int delay = (qAbs(qrand()) % crazyLevel_); // writing software is exact science + int delay = QRandomGenerator::bounded(crazyLevel_); // writing software is exact science delay = qMax(3, delay); // 3 ms at minimum qDebug() << "starting timer with : " << delay; timer_.start(delay); |