On Monday 03 May 2010 19:51:33 Simon McVittie wrote: > On Sun, 02 May 2010 at 12:31:34 +0200, Dario Freddi wrote: > > so after some further debugging with George, we found out the problem > > that made File transfers and stream tubes crash. It looks like dbus-glib > > is sending u instead of q, due to the fact that it is not capable of > > sending q, hence the struct as received by QtDBus is (su). > > There are (meant to be) tests for file transfers in telepathy-qt4. If this > is because of a workaround in FT, could that workaround be applied > elsewhere? If not, why aren't the FT tests crashing in the same way?
FT examples are actually crashing in the very same way (that's also why I started debugging DBus, otherwise I would have blamed myself for the crash). Also, I'd like to stress the fact that this is not a workaround, but a concrete solution. The spec at the moment is wrong as u is always returned instead of q. It would be a workaround changing the spec _only_ in tp-qt4, where we would actually end up having an inconsistency. The real solutions are: * Apply my changes to the whole Telepathy spec * Fix dbus-glib and make all CM adhere to the spec If both of them are not possible, I can add a real workaround, which consists in adding another structure with signature (su) as a private type, and cast to that structure if casting to (sq) fails. > > > On a side note, I'd propose to change this in Telepathy spec itself, > > given that as wjt confirmed, u is always used instead of q in some > > places, and it might lead to similar situations. > > This is <https://bugs.freedesktop.org/show_bug.cgi?id=20776>. There's a > branch there, although it may need updating. However, I was under the > impression that it could be worked around in QtDBus/Telepathy-Qt4... > > This would be an ABI break for telepathy-qt4, although possibly only in ABI > that has never worked. Definitely - but if the spec can't be changed globally, I'd suggest applying my workaround as described above, which despite being uglier does not break ABI and makes Tp-Qt4 still adhere to the "real" specification. IMHO, using a different spec for tp-qt4 and tp-glib is asking for trouble, and even if this is a special case, it would still be a precedent. Just my two cents. > > Simon > _______________________________________________ > telepathy mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/telepathy -- ------------------- Dario Freddi KDE Developer GPG Key Signature: 511A9A3B
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ telepathy mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/telepathy
