diff options
-rw-r--r-- | src/corelib/corelib.pro | 2 | ||||
-rw-r--r-- | src/corelib/statemachine/qstatemachine.cpp | 6 | ||||
-rw-r--r-- | src/dbus/dbus.pro | 2 | ||||
-rw-r--r-- | src/sql/sql.pro | 2 |
4 files changed, 9 insertions, 3 deletions
diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro index 362ac37a59..42fd5d1a61 100644 --- a/src/corelib/corelib.pro +++ b/src/corelib/corelib.pro @@ -8,7 +8,7 @@ MODULE_CONFIG = moc resources CONFIG += $$MODULE_CONFIG DEFINES += $$MODULE_DEFINES -DEFINES += QT_NO_USING_NAMESPACE +DEFINES += QT_NO_USING_NAMESPACE QT_NO_FOREACH win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x67000000 irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused diff --git a/src/corelib/statemachine/qstatemachine.cpp b/src/corelib/statemachine/qstatemachine.cpp index d5b01f3c8a..e3cfd7b988 100644 --- a/src/corelib/statemachine/qstatemachine.cpp +++ b/src/corelib/statemachine/qstatemachine.cpp @@ -1778,7 +1778,11 @@ void QStateMachinePrivate::_q_start() { Q_Q(QStateMachine); Q_ASSERT(state == Starting); - foreach (QAbstractState *state, configuration) { + // iterate over a copy, since we emit signals which may cause + // 'configuration' to change, resulting in undefined behavior when + // iterating at the same time: + const auto config = configuration; + for (QAbstractState *state : config) { QAbstractStatePrivate *abstractStatePrivate = QAbstractStatePrivate::get(state); abstractStatePrivate->active = false; emit state->activeChanged(false); diff --git a/src/dbus/dbus.pro b/src/dbus/dbus.pro index 4c1aec7bb3..fa67fc17ef 100644 --- a/src/dbus/dbus.pro +++ b/src/dbus/dbus.pro @@ -23,6 +23,8 @@ win32 { -luser32 } +DEFINES += QT_NO_FOREACH + QMAKE_DOCS = $$PWD/doc/qtdbus.qdocconf PUB_HEADERS = qdbusargument.h \ diff --git a/src/sql/sql.pro b/src/sql/sql.pro index 218671d7e7..8846f03d78 100644 --- a/src/sql/sql.pro +++ b/src/sql/sql.pro @@ -6,7 +6,7 @@ win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x62000000 QMAKE_DOCS = $$PWD/doc/qtsql.qdocconf -DEFINES += QT_NO_CAST_FROM_ASCII +DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_FOREACH PRECOMPILED_HEADER = ../corelib/global/qt_pch.h SQL_P = sql |