[Qt-interest] AutoConnection and Threads

Thiago Macieira thiago at kde.org
Tue Oct 25 11:21:42 CEST 2011


On Tuesday, 25 de October de 2011 10.33.36, elizabeta petreska wrote:
> if ((c->connectionType == Qt::AutoConnection
>                  && (currentThreadData != sender->d_func()->threadData
>                      || receiver->d_func()->threadData !=
> sender->d_func()->threadData))
>                 || (c->connectionType == Qt::QueuedConnection)) {
>                 queued_activate(sender, signal_absolute_index, c, argv ?
> argv : empty_argv);
>                 continue;
> 
> Also I try to make minimal code example and send here.

No need. I can confirm the code above is present and is buggy. If the sender 
and the receiver are not in the same thread, the signal is queued regardless 
of which thread the signal is emitted from.

The fix is in Qt 4.8.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
Url : http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20111025/bd54777a/attachment.bin 


More information about the Qt-interest-old mailing list