qsocketnotifier.cpp: un-break -unity-build
qsocketnotifier.cpp is using a #define to activate a second overload of QSocketNotifier's activated() signal. In unity-builds, this overload becomes visible to other TUs and breaks new-style connect()s¹. In PCH builds, the define comes too late (the qsocketnotifier.h header was already included by the pch header, without the define). Fix by adding qsocketnotifier.cpp to NO_PCH_SOURCES (thereby to NO_UNITY_BUILD_SOURCES, too). ¹ and the signal's use of QPrivateSignal makes disambiguation by qOverload(), or assignment to a function pointer, impossible. Amends 487dd80bce9c6006f349ccb09222e1c308200f0a(!). Pick-to: 6.9 6.8 6.5 5.15 Change-Id: I40ca3b90f7ecc3116ae78dc952583efa299bcedb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
This commit is contained in:
parent
057defe283
commit
a38cebfe23
@ -336,6 +336,7 @@ qt_internal_add_module(Core
|
||||
NO_PCH_SOURCES
|
||||
compat/removed_api.cpp
|
||||
global/qsimd.cpp
|
||||
kernel/qsocketnotifier.cpp # defines BUILDING_QSOCKETNOTIFIER
|
||||
DEFINES
|
||||
QT_NO_CONTEXTLESS_CONNECT
|
||||
QT_NO_FOREACH
|
||||
|
Loading…
x
Reference in New Issue
Block a user