From b9e610474965d8579fe5e0a31af57cddd8e6dd0f Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 11 Dec 2024 15:47:22 +0100 Subject: [PATCH] qsocketnotifier.cpp: un-break -unity-build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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.5 5.15 Change-Id: I40ca3b90f7ecc3116ae78dc952583efa299bcedb Reviewed-by: Thiago Macieira Reviewed-by: Friedemann Kleint (cherry picked from commit a38cebfe23674bb459eed6bbbcac965ebf2b6075) Reviewed-by: Qt Cherry-pick Bot (cherry picked from commit df2f31b9bf5710433099bce550f839ac5e5444e0) --- src/corelib/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index 30ff865341..1b771e67a6 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -332,6 +332,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