On Wednesday, 26 September 2018 00:19:58 CEST Linus Torvalds wrote: > We end up connecting the "hey, characteristic value changed" to > *every* service we find. And that's fine for the cases where we only > had one service. > > But in the BlueLink case, it means that the last service we find will > *override* the signal we registered for the service we actually care > about.
Qt's signal/slot system is horrible. Signal connections usually aren't overridden but added to a list. On the contrary, a rather common error-case we experience is double-connections, where the receiver is told to delete an item twice. If you want Qt to ensure that a connection between the same objects isn't established twice, you have to pass the Qt::UniqueConnection flag. In any case, connecting to every service seems like a bad idea. Berthold _______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
