Quote Originally Posted by danadam View Post
Qt::AutoConnection (slot is executed in main thread):
That's quite interesting. The docs say:
If the signal is emitted from the thread in which the receiving object lives, the slot is invoked directly, as with Qt::DirectConnection; otherwise the signal is queued, as with Qt::QueuedConnection.
So it looks like that if you use Qt::AutoConnection, the effective connection type is established for each signal, not once when the connection is created.

Quote Originally Posted by danadam View Post
Qt::QueuedConnection (slot is executed in main thread):
It looks like the Client object lives in the main thread, so the meta call events go through main thread's event queue. One possible solution is to use QObject::moveToThread() (of course in such case there must be an event loop running in the Client thread).