qt5base-lts/tests/auto/corelib/kernel
Alex Trotsenko 124b9a6ff8 Improve suppression of spurious socket notifications under Windows
There were still two cases where spurious notifications would be
possible:

    - user calls hasPendingDatagrams()/pendingDatagramSize() on UDP
      socket somewhere outside the slot connected to readyRead()
      signal (::WSARecvFrom posts FD_READ notification, even if
      a notification for incoming datagram already exists in the
      message queue);
    - a socket was registered to receive several types of event and
      WM_QT_ACTIVATENOTIFIERS message is located between the
      different events for this socket in the queue.

Provided patch ensures that the message queue is synchronized with
the Qt event processing mechanism and adds a way to detect spurious
notifications inside the window procedure.

Task-number: QTBUG-58214
Change-Id: I49609dace601f300de09875ff1653617efabd72f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Peter Seiderer <ps.report@gmx.net>
2017-05-03 06:46:18 +00:00
..
qcoreapplication Merge remote-tracking branch 'origin/5.8' into 5.9 2017-03-13 15:55:44 +01:00
qdeadlinetimer Increase the resolution for QDeadlineTimer unit test 2016-10-26 03:16:26 +00:00
qelapsedtimer 50 ms isn't enough for the CI, so increase to 100 ms 2017-02-15 08:09:57 +00:00
qeventdispatcher Updated license headers 2016-01-21 18:55:18 +00:00
qeventloop Use qtConfig throughout in qtbase 2016-08-19 04:28:05 +00:00
qmath Updated license headers 2016-01-21 18:55:18 +00:00
qmetaenum Updated license headers 2016-01-21 18:55:18 +00:00
qmetamethod macOS: Don't build auto-tests as application bundles unless explicitly requested 2016-10-23 10:39:56 +00:00
qmetaobject Fix QMetaMethod::invoke and automatic type registration 2017-04-22 11:25:49 +00:00
qmetaobjectbuilder macOS: Don't build auto-tests as application bundles unless explicitly requested 2016-10-23 10:39:56 +00:00
qmetaproperty Updated license headers 2016-01-21 18:55:18 +00:00
qmetatype QMetaType: fix the test 2017-04-20 07:19:57 +00:00
qmimedata Updated license headers 2016-01-21 18:55:18 +00:00
qobject tst_QObject: Test if the new connect style works with multiple inheritance 2017-03-14 13:55:36 +00:00
qpointer Merge remote-tracking branch 'origin/5.6' into 5.7 2016-04-04 08:59:18 +02:00
qsharedmemory Merge remote-tracking branch 'origin/5.8' into 5.9 2017-03-13 15:55:44 +01:00
qsignalblocker Updated license headers 2016-01-21 18:55:18 +00:00
qsignalmapper Updated license headers 2016-01-21 18:55:18 +00:00
qsocketnotifier Improve suppression of spurious socket notifications under Windows 2017-05-03 06:46:18 +00:00
qsystemsemaphore Merge remote-tracking branch 'origin/5.8' into 5.9 2017-03-13 15:55:44 +01:00
qtimer Blacklist tst_QTimer::remainingTime() on Windows and macOS 2017-02-14 13:30:12 +00:00
qtranslator Remove the traces of the discontinued android-no-sdk platform 2016-03-30 10:12:34 +00:00
qvariant QVariant: implement QByteArray ↔ QUuid conversion 2017-04-14 12:54:21 +00:00
qwineventnotifier Updated license headers 2016-01-21 18:55:18 +00:00
kernel.pro Use qtConfig throughout in qtbase 2016-08-19 04:28:05 +00:00