Change the return value of QObject::connect
authorOlivier Goffart <ogoffart@woboq.com>
Fri, 11 Nov 2011 16:01:06 +0000 (17:01 +0100)
committerQt by Nokia <qt-info@nokia.com>
Fri, 25 Nov 2011 00:12:14 +0000 (01:12 +0100)
commit79f675a1e0f628bbc25345ebc1eb1f5809166c6b
tree998a846e047fcadb588d9922f6aa8aaa6bd562e0
parente759f9580ef0a76131c7540015a87968742fce9f
Change the return value of QObject::connect

From a bool to a handle to to connection.

Also added a new overload of disconnect that disconnect a handle

This is required because with the new syntax taking lambda or functors,
it is the only way to disconnect a connection (as it is impossible to
compare functors)

The new return value is QMetaObject::Connection, it is a wrapper around
the internal QObjectPrivate::Connection.
QObjectPrivate::Connection is now reference counted.

tst_qglobal.cpp:
   This test set up an internal callback, and the callback do not set any
   proper connection handle (and tbh,  it would be hard for it to do so).
   So the returned QMetaObject::Connection is invalid, and ok is false
   (Internal callbacks are only used for jambi and should probably be removed)

Change-Id: I111626fb4f47efc4db5e2ea5bff9da15f08fea7b
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
src/corelib/kernel/qmetaobject_p.h
src/corelib/kernel/qobject.cpp
src/corelib/kernel/qobject.h
src/corelib/kernel/qobject_p.h
src/corelib/kernel/qobjectdefs.h
tests/auto/corelib/global/qglobal/tst_qglobal.cpp