qt5base-lts/tests/auto/corelib
Joerg Bornemann 6dbf357609 Fix asserts and crashes in QWinEventNotifier activation loop
The backwards iteration was done under the assumption that the only
valid modification of the winEventNotifierList in a slot connected to
activated() would be the removal of the notifier itself. This is wrong.

Instead, iterate forwards, like before 85403d0a, and check the index
against the current list size in every iteration. This ensures that we
do not run out of bounds while the list is modified.

Also, retry the activation loop if the list was modified by a slot
connected to activated(). This ensures that all notifiers with signaled
handles are activated.

Task-number: QTBUG-65940
Change-Id: I25f305463b9234f391abc51fe0628d02f49b6931
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-01-26 06:14:01 +00:00
..
animation Use a custom QAnimationDriver to take control over time 2017-12-02 19:58:30 +00:00
codecs QTextCodec: add QStringView overloads 2017-04-06 12:05:33 +00:00
global Merge remote-tracking branch 'origin/5.9' into 5.10 2017-12-30 12:09:53 +01:00
io Merge remote-tracking branch 'origin/5.9' into 5.10 2018-01-24 13:38:25 +01:00
itemmodels Fix license headers 2018-01-11 11:40:36 +00:00
json Improve symmetry of variant json conversions 2017-07-25 09:00:46 +00:00
kernel Fix asserts and crashes in QWinEventNotifier activation loop 2018-01-26 06:14:01 +00:00
mimetypes Change almost all other uses of qrand() to QRandomGenerator 2017-11-08 09:14:03 +00:00
plugin Change almost all other uses of qrand() to QRandomGenerator 2017-11-08 09:14:03 +00:00
statemachine Fix assert when emitting a signal from a different thread 2017-12-14 16:30:38 +00:00
thread Merge remote-tracking branch 'origin/5.9' into 5.10 2017-11-28 11:23:35 +01:00
tools Merge remote-tracking branch 'origin/5.9' into 5.10 2018-01-24 13:38:25 +01:00
xml Build examples and tests only if their requirements are met 2017-03-22 15:55:55 +00:00
corelib.pro