diff options
author | Olivier Goffart <ogoffart@woboq.com> | 2013-02-05 14:15:45 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-02-06 20:38:24 +0100 |
commit | a620c67e6454f2197f60b076a4baf543a6675eae (patch) | |
tree | adc0584d2708e300b0fe2354b2c69cc55b1f35a8 | |
parent | ca19cba2ac3cf9785b9a2211c4ba7d1e14d87bf2 (diff) |
Fix copy-paste errors in QtPrivate::ConnectionTypes
That resulted in error such as:
qobject_impl.h(82) : error C2078: too many initializers
This should have been tested by tst_QObject::connectManyArguments, but
the test did not work because the detection of defined QMetaType was broken
for const references. That will be fixed in a latter commit.
Task-number: QTBUG-29130
Change-Id: I78514c251358c0e8adf33af724d87ab114230cd3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r-- | dist/changes-5.0.2 | 4 | ||||
-rw-r--r-- | src/corelib/kernel/qobject_impl.h | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/dist/changes-5.0.2 b/dist/changes-5.0.2 index 9b90589f46..b97e71ae03 100644 --- a/dist/changes-5.0.2 +++ b/dist/changes-5.0.2 @@ -37,6 +37,10 @@ Legal QtCore ----- + - [QTBUG-29130] Fixed compilation when connecting with the new syntax to a + signal that has more than 3 registered meta type arguments, and the compiler + does not support variadic templates + QtGui ----- diff --git a/src/corelib/kernel/qobject_impl.h b/src/corelib/kernel/qobject_impl.h index fbc523b8b7..7ed4d33e96 100644 --- a/src/corelib/kernel/qobject_impl.h +++ b/src/corelib/kernel/qobject_impl.h @@ -78,14 +78,14 @@ namespace QtPrivate { { static const int *types() { static const int t[4] = { QtPrivate::QMetaTypeIdHelper<Arg1>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg2>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg3>::qt_metatype_id(), 0 }; return t; } }; template <typename Arg1, typename Arg2, typename Arg3, typename Arg4> struct ConnectionTypes<List<Arg1, List<Arg2, List<Arg3, List<Arg4, void> > > >, true> - { static const int *types() { static const int t[4] = { QtPrivate::QMetaTypeIdHelper<Arg1>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg2>::qt_metatype_id(), + { static const int *types() { static const int t[5] = { QtPrivate::QMetaTypeIdHelper<Arg1>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg2>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg3>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg4>::qt_metatype_id(), 0 }; return t; } }; template <typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5> struct ConnectionTypes<List<Arg1, List<Arg2, List<Arg3, List<Arg4, List<Arg5, void> > > > >, true> - { static const int *types() { static const int t[4] = { QtPrivate::QMetaTypeIdHelper<Arg1>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg2>::qt_metatype_id(), + { static const int *types() { static const int t[6] = { QtPrivate::QMetaTypeIdHelper<Arg1>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg2>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg3>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg4>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg5>::qt_metatype_id(), 0 }; return t; } }; template <typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6> struct ConnectionTypes<List<Arg1, List<Arg2, List<Arg3, List<Arg4, List<Arg5, List<Arg6, void> > > > > >, true> - { static const int *types() { static const int t[4] = { QtPrivate::QMetaTypeIdHelper<Arg1>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg2>::qt_metatype_id(), + { static const int *types() { static const int t[7] = { QtPrivate::QMetaTypeIdHelper<Arg1>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg2>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg3>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg4>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg5>::qt_metatype_id(), QtPrivate::QMetaTypeIdHelper<Arg6>::qt_metatype_id(), 0 }; return t; } }; #else |