[Bug 48210] Could TpBaseChannel be more flexible?
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Tue Jun 5 17:29:55 CEST 2012
https://bugs.freedesktop.org/show_bug.cgi?id=48210
Jonny Lamb <jonny.lamb at collabora.co.uk> changed:
What |Removed |Added
----------------------------------------------------------------------------
URL|http://cgit.freedesktop.org |http://cgit.freedesktop.org
|/~jonny/telepathy-glib/comm |/~jonny/telepathy-glib/log/
|it/?h=base-channel-disappea |?h=base-channel-disappear
|r |
--- Comment #12 from Jonny Lamb <jonny.lamb at collabora.co.uk> 2012-06-05 08:29:55 PDT ---
(In reply to comment #10)
> > + * // destoyed() must have been called; forget this channel
>
> "destroyed"
Fixed.
> reopened[_with_requested] needs to re-register the object on D-Bus immediately
> after emitting closed, I think:
>
> if (!self->priv->registered)
> tp_base_channel_register (self);
>
> Otherwise, it can't implement any methods during its second life, and any
> signals that it emits during its second life will not reach D-Bus.
Yes, I was previously relying on the CM calling register, but this is better.
> This is sufficiently subtle that I would like a regression test in
> telepathy-glib.
Okay I added a simple test. Is this what you were thinking?
> I think this also emits ChannelClosed twice in this situation, which isn't
> hugely harmful but seems non-ideal:
[...]
> Two possible solutions, depending how much subtlety you're OK with piling onto
> the channel manager:
>
> * require the channel manager to do:
>
> if (tp_base_channel_is_registered)
> tp_channel_manager_emit_channel_closed (...)
>
> * make tp_channel_manager_emit_channel_closed check for
> TP_IS_BASE_CHANNEL and, if it is, suppress the signal
>
> The former is more subtlety in CMs, the latter is arguably a layering
> violation.
I recommended the CM do the former.
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the telepathy-bugs
mailing list