qt5base-lts/tests/auto
Kari Oikarinen a952fd7d5b QObject: Fix isSignalConnected() when signals have been disconnected
The bitmap cache for the first 64 signals being connected was only set when the
connection is added. It was never unset when the connection was removed.

Internal use of the connectedSignals bitmap is not hurt by it occasionally
saying a signal is connected even though it is not, since the purpose of those
checks is avoiding expensive operations that are not necessary if nothing is
connected to the signal.

However, the public API using this cache meant that it also never spotted
signals being disconnected. This was not documented. Fix the behavior by only
using the cache if it is up to date. If it is not, use a slower path that gives
the correct answer.

To avoid making disconnections and QObject destructions slower, the cache is
only updated to unset disconnected signals when new signal connections are
added. No extra work is done in the common case where signals are only
removed in the end of the QObject's lifetime.

Fixes: QTBUG-32340
Change-Id: Ieb6e498060157153cec60d9c8f1c33056993fda1
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-10-31 10:32:41 +00:00
..
android Updated license headers 2016-01-21 18:55:18 +00:00
bic/data Add binary compatibility files for 5.11 for QtBase 2018-06-05 06:00:28 +00:00
cmake Export modules' enabled/disabled features to cmake 2018-09-28 13:10:28 +00:00
concurrent Merge remote-tracking branch 'origin/5.11' into dev 2018-02-16 08:54:58 +01:00
corelib QObject: Fix isSignalConnected() when signals have been disconnected 2018-10-31 10:32:41 +00:00
dbus Fix wrong relative path to qdbus_symbols.cpp 2018-07-24 04:24:31 +00:00
gui Don't drop update requests when closing and reopening windows 2018-10-16 07:09:36 +00:00
guiapplauncher Fix path to examples part of tst_GuiAppLauncher 2015-02-13 07:28:15 +00:00
installed_cmake Add a unit test for testing Qt in its install location. 2013-07-02 23:08:54 +02:00
network tst_QLocalSocket::processConnections: remove QSKIP 2018-10-25 11:51:48 +00:00
opengl Extend tst_QGL::graphicsViewClipping blacklisting 2018-10-03 13:04:13 +00:00
other Linux Accessibility: Fix expandable state 2018-10-22 10:27:06 +00:00
printsupport Merge remote-tracking branch 'origin/5.11' into dev 2018-05-03 14:50:22 +02:00
shared Remove workaround for potentially unavailable pasteboard in macOS 2017-03-07 01:04:46 +00:00
sql Merge remote-tracking branch 'origin/5.11' into 5.12 2018-09-14 01:00:08 +02:00
testlib Fix building tests with -no-gui 2018-10-20 20:38:59 +00:00
tools uic: Write the float and double properties in 'f' format 2018-10-05 20:06:03 +00:00
widgets tst_qfilesystemmodel: Do not use nested calls of auto test functions 2018-10-25 11:24:08 +00:00
xml Don't indefinitely wait for data if it was able to read some data 2018-01-24 05:54:31 +00:00
auto.pro winrt: Skip network auto tests for now 2018-06-22 05:02:39 +00:00
network-settings.h Rework QNetworkReply tests to use docker-based test servers 2018-07-27 17:40:27 +00:00
testserver.pri Postpone testing docker images and files until running 'make check' 2018-08-30 04:06:51 +00:00