[Development] Disconnect Signal 0

Olivier Goffart olivier at woboq.com
Fri Mar 8 07:29:16 CET 2013


On Thursday 07 March 2013 23:58:36 David Narvaez wrote:
> Hi all,
> 
> I was taking a look at bug 29498[0] and the explanation is pretty
> clear on what's happening: disconnect admits char * signal = 0 as a
> parameter (which means all signals) but then forwards that parameter
> to other calls that apparently do not commit to support 0 as a
> possible value.
> 
> I can take care of this bug but the question is how do we prefer to
> fix it: should we multiplex at QObject::disconnect level or start
> looking around to support signal = 0 in all other places?
> 
> David E. Narváez
> 
> [0] https://bugreports.qt-project.org/browse/QTBUG-29498

There are ùmore problems with disconnectNotify.
It is not called when passing 0, and it is also not called when the sender is 
destroyed.

There was changes in Qt5 about diconnectNotify.
It does not really make sens to dispatch at disconnect level in Qt4 because 
that would be slow as one need to reconstruct all the char*.
In Qt5 perhaps we could, but it would still be a small slow down.

I think it is best to handle properly the cases in each reimplementation of 
disconnectNotify.

-- 
Olivier 

Woboq - Qt services and support - http://woboq.com - http://code.woboq.org



More information about the Development mailing list