[Bug 27956] TpBaseClient: should allow to observe invalidated signals

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue May 4 13:02:37 CEST 2010


https://bugs.freedesktop.org/show_bug.cgi?id=27956

--- Comment #2 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2010-05-04 04:02:37 PDT ---
> +  if (tp_proxy_get_invalidated (source) != NULL)
> +    {
> +      /* Don't discard the channel as the invalidated channel is a valuable
> +       * information for the Observer (to log a missed call for example). */
> +      DEBUG ("Channel has been invalidated");
> +    }
> +  else if (!tp_proxy_prepare_finish (source, result, &error))

This doesn't look right... if preparing failed, it's almost certainly because
the channel was invalidated. I think invalidation and failed-preparation should
be treated the same - "every channel we're told to observe gets passed to user
code" is a much easier guarantee to explain than "every channel we're told to
observe gets passed to user code unless it somehow fails without actually being
invalidated".

> + *  all having %TP_CHANNEL_FEATURE_CORE prepared if they have not been
> + *  invalidated

"... prepared if possible", perhaps?

> +  g_object_unref (test->text_chan_service);
> +  test->text_chan_service = NULL;

If you want to remove the channel from D-Bus, don't do that by unreffing it
(which relies on your reference being the last), but instead by calling
tp_dbus_daemon_unregister_object.

And, yes, please do this for the Connection and Account, too.

-- 
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