From cf1eb700702aec473db0a4794b1a6549ee10bb62 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 12 Jan 2012 20:46:15 +0100 Subject: Fix connection to const slots (or from const signals) Pointer to const member function have a different signature, and hence need their own traits code. Change-Id: Ie4b2434a412f412444fb07ef1388a37cab105ecd Reviewed-by: Stephen Kelly --- tests/auto/corelib/kernel/qobject/tst_qobject.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests') diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp index 0cabc46390..f48f86cceb 100644 --- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp +++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp @@ -4737,6 +4737,9 @@ class LotsOfSignalsAndSlots: public QObject #endif*/ void slot_vPFvvE(fptr) {} + void const_slot_v() const {}; + void const_slot_vi(int) const {}; + static void static_slot_v() {} static void static_slot_vi(int) {} static void static_slot_vii(int, int) {} @@ -4768,6 +4771,9 @@ class LotsOfSignalsAndSlots: public QObject #endif*/ void signal_vPFvvE(fptr); + void const_signal_v() const; + void const_signal_vi(int) const; + void signal(short&, short, long long, short); void otherSignal(const char *); }; @@ -4879,6 +4885,13 @@ void tst_QObject::connectCxx0xTypeMatching() QObject::connect(&obj, &Foo::signal_vPFvvE, &Foo::static_slot_v); QObject::connect(&obj, &Foo::signal_vPFvvE, &Foo::static_slot_i); QObject::connect(&obj, &Foo::signal_vPFvvE, &Foo::static_slot_vPFvvE); + + QVERIFY(QObject::connect(&obj, &Foo::const_signal_v, &obj, &Foo::const_slot_v)); + QVERIFY(QObject::connect(&obj, &Foo::const_signal_vi, &obj, &Foo::const_slot_v)); + QVERIFY(QObject::connect(&obj, &Foo::const_signal_vi, &obj, &Foo::slot_vi)); + QVERIFY(QObject::connect(&obj, &Foo::signal_vi, &obj, &Foo::const_slot_vi)); + QVERIFY(QObject::connect(&obj, &Foo::signal_vi, &obj, &Foo::const_slot_v)); + QVERIFY(true); //compilation only test } -- cgit v1.2.3