summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2022-05-17 10:16:24 +0200
committerMarc Mutz <marc.mutz@qt.io>2022-05-19 16:52:57 +0000
commitc140c37676fd55ed98eff360b1d11ac3e0d45c0b (patch)
treebcd55db3f4b1f27d76709a35d6efd87e1f97201a
parentd280c34326ba7d63f87b2dbf6554dafc3dec4a80 (diff)
QCoreApplication/QPostEventList: fix int/qsizetype mismatches
Includes fixes in indexed for loops that are either known to modify the container under iteration, or else aren't known not to do it, so were kept as indexed loops, instead of being ported to ranged ones. Task-number: QTBUG-103532 Change-Id: I7047b6127fbc4ac16ee113cfd6d1c71f2caba1e7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit adc025cef63d5ba6d8d5560a04807167fd53df07)
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp26
-rw-r--r--src/corelib/thread/qthread_p.h4
2 files changed, 15 insertions, 15 deletions
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index e00b763204..63410290f0 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -606,9 +606,9 @@ void QCoreApplicationPrivate::initLocale()
if (Q_UNLIKELY(strcmp(codec, "UTF-8") != 0 && strcmp(codec, "utf8") != 0)) {
QByteArray oldLocale = locale;
QByteArray newLocale = setlocale(LC_CTYPE, nullptr);
- if (int dot = newLocale.indexOf('.'); dot != -1)
+ if (qsizetype dot = newLocale.indexOf('.'); dot != -1)
newLocale.truncate(dot); // remove encoding, if any
- if (int at = newLocale.indexOf('@'); at != -1)
+ if (qsizetype at = newLocale.indexOf('@'); at != -1)
newLocale.truncate(at); // remove variant, as the old de_DE@euro
newLocale += ".UTF-8";
newLocale = setlocale(LC_CTYPE, newLocale);
@@ -824,7 +824,7 @@ void QCoreApplicationPrivate::init()
// have been removed. Once the original list is exhausted we know all the remaining
// items have been added.
QStringList newPaths(q->libraryPaths());
- for (int i = manualPaths->length(), j = appPaths->length(); i > 0 || j > 0; qt_noop()) {
+ for (qsizetype i = manualPaths->length(), j = appPaths->length(); i > 0 || j > 0; qt_noop()) {
if (--j < 0) {
newPaths.prepend((*manualPaths)[--i]);
} else if (--i < 0) {
@@ -1170,7 +1170,7 @@ bool QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject *receiv
if (extraData) {
// application event filters are only called for objects in the GUI thread
- for (int i = 0; i < extraData->eventFilters.size(); ++i) {
+ for (qsizetype i = 0; i < extraData->eventFilters.size(); ++i) {
QObject *obj = extraData->eventFilters.at(i);
if (!obj)
continue;
@@ -1188,7 +1188,7 @@ bool QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject *receiv
bool QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject *receiver, QEvent *event)
{
if (receiver != QCoreApplication::instance() && receiver->d_func()->extraData) {
- for (int i = 0; i < receiver->d_func()->extraData->eventFilters.size(); ++i) {
+ for (qsizetype i = 0; i < receiver->d_func()->extraData->eventFilters.size(); ++i) {
QObject *obj = receiver->d_func()->extraData->eventFilters.at(i);
if (!obj)
continue;
@@ -1447,7 +1447,7 @@ void QCoreApplication::exit(int returnCode)
return;
QThreadData *data = self->d_func()->threadData.loadRelaxed();
data->quitNow = true;
- for (int i = 0; i < data->eventLoops.size(); ++i) {
+ for (qsizetype i = 0; i < data->eventLoops.size(); ++i) {
QEventLoop *eventLoop = data->eventLoops.at(i);
eventLoop->exit(returnCode);
}
@@ -1736,8 +1736,8 @@ void QCoreApplicationPrivate::sendPostedEvents(QObject *receiver, int event_type
// okay. here is the tricky loop. be careful about optimizing
// this, it looks the way it does for good reasons.
- int startOffset = data->postEventList.startOffset;
- int &i = (!event_type && !receiver) ? data->postEventList.startOffset : startOffset;
+ qsizetype startOffset = data->postEventList.startOffset;
+ qsizetype &i = (!event_type && !receiver) ? data->postEventList.startOffset : startOffset;
data->postEventList.insertionOffset = data->postEventList.size();
// Exception-safe cleaning up without the need for a try/catch block
@@ -1886,10 +1886,10 @@ void QCoreApplication::removePostedEvents(QObject *receiver, int eventType)
//we will collect all the posted events for the QObject
//and we'll delete after the mutex was unlocked
QVarLengthArray<QEvent*> events;
- int n = data->postEventList.size();
- int j = 0;
+ qsizetype n = data->postEventList.size();
+ qsizetype j = 0;
- for (int i = 0; i < n; ++i) {
+ for (qsizetype i = 0; i < n; ++i) {
const QPostEvent &pe = data->postEventList.at(i);
if ((!receiver || pe.receiver == receiver)
@@ -2175,8 +2175,8 @@ bool QCoreApplication::removeTranslator(QTranslator *translationFile)
static void replacePercentN(QString *result, int n)
{
if (n >= 0) {
- int percentPos = 0;
- int len = 0;
+ qsizetype percentPos = 0;
+ qsizetype len = 0;
while ((percentPos = result->indexOf(QLatin1Char('%'), percentPos + len)) != -1) {
len = 1;
if (percentPos + len == result->length())
diff --git a/src/corelib/thread/qthread_p.h b/src/corelib/thread/qthread_p.h
index aa6183f7e2..1d0b3acff0 100644
--- a/src/corelib/thread/qthread_p.h
+++ b/src/corelib/thread/qthread_p.h
@@ -101,9 +101,9 @@ public:
int recursion;
// sendOffset == the current event to start sending
- int startOffset;
+ qsizetype startOffset;
// insertionOffset == set by sendPostedEvents to tell postEvent() where to start insertions
- int insertionOffset;
+ qsizetype insertionOffset;
QMutex mutex;