diff options
author | Thiago Macieira <[email protected]> | 2025-07-10 10:42:17 -0700 |
---|---|---|
committer | Thiago Macieira <[email protected]> | 2025-07-16 12:36:42 -0700 |
commit | 0fc9846f15b2b72cc8cf3d26c1de793086af9d56 (patch) | |
tree | 888073a2d9050feead6390bf2f12f95ee3c07773 /examples/widgets/tools/styleplugin/stylewindow | |
parent | 1d1eadd190c56b2f4bf26f1851f7cafe15c2c00f (diff) |
Since QAbstractEventDispatcher is a QObject, the base class construction
will necessarily have created a QThreadData, if one didn't exist yet.
Normally, this means the QThreadData reference count shouldn't have gone
down to zero if the dispatcher still exists. However, the thread-local
pointer in qthread_{unix,cpp}.cpp may have already been reset, even if
we haven't reached a zero count. This commit makes it so we don't
recreate the QThreadData under those conditions.
It's also a minor performance optimization, by suppressing the need to
call QThreadData::createCurrentThreadData(). It may additionally fix
some issues with calling pthread_setspecific() / TlsSetValue() in very
late thread execution.
Task-number: QTBUG-137130
Task-number: QTBUG-136629
Pick-to: 6.10 6.9 6.8
Change-Id: Ie88d88cfaa5330cdca79fffded47ecb2bb4113c1
Reviewed-by: Fabian Kosmale <[email protected]>
Reviewed-by: Volker Hilsheimer <[email protected]>
Diffstat (limited to 'examples/widgets/tools/styleplugin/stylewindow')
0 files changed, 0 insertions, 0 deletions