Pseudocode for how _mcd_channel_depart() should work: if we know whether it's a Group already: if it is: try: leave except: close else: close else: find out if it is: try: leave except: close else: # <-- close # <-- (where, in all cases, "close" ignores errors). In fact, the last two lines are missing. If we didn't already know whether it was a Group, but it turns out not to be, we don't close it.
Created attachment 67777 [details] [review] _mcd_channel_depart: if it turns out not to implement GROUP, close it This is a long-standing bug (broken ever since the function was introduced in 5.2), but apparently nobody noticed.
The patch is against 5.12, but given that this has been broken for so long and nobody cared or indeed noticed, I'd be equally happy to fix this in the upcoming 5.14.0, or in 5.15.
(In reply to comment #2) > The patch is against 5.12, but given that this has been broken for so long > and nobody cared or indeed noticed, I'd be equally happy to fix this in the > upcoming 5.14.0, or in 5.15. 5.14 is no longer upcoming. The same still stands.
Couldn't we use tp_channel_leave_async?
I already answered that on Bug #55391 so let's discuss there. *** This bug has been marked as a duplicate of bug 55391 ***
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.