qt5base-lts/src/corelib
Mårten Nordheim a7d2855b3c invokeMethod: enable passing parameters to overload taking functors
This was missing for a while, and there is nothing fundamentally
missing for it to work.

With the more recent work around slot objects and invokeMethod in
general, it is a good time to add support for this.

In this patch, when connecting to a functor, it automatically deduces
the overload to call based on the arguments passed to invokeMethod.

Sharing code with QObject::connect could be done, but they have a
key difference that makes it harder:
With signal emissions we throw away trailing arguments that are not
used: i.e. `signal(int, int)` can be connected to `slot(int)` or
`slot()`. With invokeMethod that's not a thing. So we will need a way
to toggle that behavior during resolution.

[ChangeLog][QtCore][QMetaObject] Added support for passing parameters
to the overload of QMetaObject::invokeMethod that takes a functor. These
new overloads must have the return-value passed through qReturnArg().

Change-Id: If4fcbb75515b19e72fab80115c109efa37e6626e
Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2023-08-24 07:45:04 +02:00
..
animation Fix build with -sanitize undefined 2023-06-26 19:32:11 +02:00
compat invokeMethod: enable passing parameters to overload taking functors 2023-08-24 07:45:04 +02:00
doc Mark all of Qt as free of Q_FOREACH, except where it isn't 2023-08-19 05:19:42 +00:00
global Fix definition of QOSV::MacOSSonoma 2023-08-23 08:59:10 +02:00
io Doc: add missing docs for QFileInfo::filesystemReadSymLink() 2023-08-23 18:15:10 -07:00
ipc QNativeIpcKey: improve operator==() 2023-08-18 18:00:09 +02:00
itemmodels QSortFilterProxyModel: "fix" connection names in connect calls 2023-08-16 14:25:48 +00:00
kernel invokeMethod: enable passing parameters to overload taking functors 2023-08-24 07:45:04 +02:00
mimetypes qmimeprovider: use view types more 2023-08-16 19:40:18 +03:00
platform Core: include mocs 2023-07-07 18:25:50 +02:00
plugin QUuid: drop the noexcept of fromBytes() 2023-08-23 09:00:14 +02:00
serialization QXmlStreamReader::readNextStartElement() - return false on document end 2023-08-15 07:16:31 +02:00
text QString: use equalStrings in operator== and operator!= 2023-08-22 20:12:41 -07:00
thread Remove the unix dispatcher from WASM builds 2023-08-22 17:19:50 +02:00
time QDateTime: refactor an if-else 2023-08-22 21:44:40 +03:00
tools qcommandlineparser: use string view type more 2023-08-23 15:56:16 +03:00
tracing Core: include mocs 2023-07-07 18:25:50 +02:00
CMakeLists.txt Remove the unix dispatcher from WASM builds 2023-08-22 17:19:50 +02:00
configure.cmake Disable the 'openssl-hash' feature by default 2023-08-09 15:53:07 +02:00
debug_script.py Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
Qt6AndroidMacros.cmake Fix the android paths check 2023-08-14 18:05:43 +02:00
Qt6CoreConfigExtras.cmake.in Avoid resetting CMAKE_AUTOMOC_MACRO_NAMES 2023-02-28 18:15:24 +01:00
Qt6CoreConfigureFileTemplate.in
Qt6CoreDeploySupport.cmake CMake: Add NO_COMPILER_RUNTIME to deploy script macros 2023-03-13 16:31:31 -05:00
Qt6CoreMacros.cmake _qt_internal_create_moc_command: Fix genex parse 2023-08-17 13:09:46 +02:00
Qt6CoreResourceInit.in.cpp CMake: Place resources into static libraries, not object libraries 2023-08-14 14:05:32 +02:00
Qt6CTestMacros.cmake Fix running CMake test projects in prefix builds 2023-08-19 11:03:36 +02:00
Qt6WasmMacros.cmake wasm: add preload config for shared libraries build 2023-07-04 15:42:02 +02:00
qt_cmdline.cmake Add CTF tracing backend 2023-01-13 12:43:46 +02:00
QtCompressMimeDatabase.cmake Replace the scripting-based mime types compression mechanism with CMake 2022-12-01 02:23:51 +01:00
QtCore.dynlist Remove old pre-6.0 hooks 2021-10-22 19:12:07 -07:00
QtInstallPaths.cmake.in Move install paths from CoreConfigExtras.cmake to a separate file 2022-10-25 16:05:11 +02:00