Go to file
Olivier Goffart 8754bf03f5 Better error reporting in case of connection failure.
Use Q_STATIC_ASSERT_X give a better error message.
If C++11 is used, you get the string in the error.
Else, clicking on the QStaticFailure error still shows you the
string in the qobject.h source code)

And report better failure if the return types do not match.
(Without the static assert, you would still have a compilation error,
but in an unrelated place, with no reference to the actual connect()
call. The error was thrown from the virtual call
QSlotObject::call, without saying where it was instantiated)

Previously the error was relying on the existence of a type inside
CheckCompatibleArguments, but the Q_STATIC_ASSERT requires a bool
(hence the introduction of CheckCompatibleArguments::value)

There also was a typo in the return value of
AreArgumentsCompatible::dummy that made that code not work, and that
error not be reported.
(Instead, the error was reported when QObjectSlot::call is instantiated)

Specialization of AreArgumentsCompatible for the void type have been
added because if the return value of a signal or slot is void, the
connection should work.

Change-Id: I5a93ec787ce2a4b94a26630ca31d5001cd294e4d
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-12-20 09:15:41 +01:00
bin fixqt4headers: Support renaming from QtDeclarative to QtQuick 2011-12-07 09:33:47 +01:00
config.tests Fix fvisibility.test for "QMAKE_CXX = ccache g++" 2011-12-18 19:12:42 +01:00
dist Retire QTest::pixmapsAreEqual(). 2011-12-20 06:17:42 +01:00
doc/src Move snippets from qtdoc. 2011-12-06 22:29:01 +01:00
examples Added multi-screen support to hellowindow example. 2011-12-06 20:14:10 +01:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs Include the extras files after defining the target. 2011-12-19 10:41:50 +01:00
qmake qmake: Add object_parallel_to_source config option 2011-12-07 12:55:28 +01:00
src Better error reporting in case of connection failure. 2011-12-20 09:15:41 +01:00
tests Retire QTest::pixmapsAreEqual(). 2011-12-20 06:17:42 +01:00
tools Remove -graphicssystem (and -runtimegraphicssystem) options from configure. 2011-12-14 09:27:04 +01:00
util Accessibility: childAt returns interface 2011-12-19 12:27:45 +01:00
.gitattributes Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
.gitignore Add V8 snapshot support 2011-11-22 13:10:56 +01:00
.gitmodules Add QtV8 library to QtBase 2011-08-29 10:16:01 +02:00
.tag Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
configure Remove -graphicssystem (and -runtimegraphicssystem) options from configure. 2011-12-14 09:27:04 +01:00
configure.exe Rebuild configure.exe. 2011-12-01 19:18:34 +01:00
header.BSD Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
header.FDL Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
header.LGPL Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
header.LGPL-ONLY Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
INSTALL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LGPL_EXCEPTION.txt Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.LGPL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.PREVIEW.COMMERCIAL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
qtbase.pro Ensure qmodule.pri is installed. 2011-11-23 00:12:03 +01:00
sync.profile Fix source incompatibility for QVariant{Map, Hash, List} 2011-11-14 18:41:17 +01:00