Summary: | Closed D-Bus and GObject signals fired together make code nasty | ||
---|---|---|---|
Product: | Telepathy | Reporter: | Guillaume Desmottes <guillaume.desmottes> |
Component: | tp-glib | Assignee: | Telepathy bugs list <telepathy-bugs> |
Status: | RESOLVED MOVED | QA Contact: | Telepathy bugs list <telepathy-bugs> |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Guillaume Desmottes
2009-03-30 06:29:25 UTC
Can't fix. dbus-glib emits (D-Bus) Closed as a side-effect of (GObject) closed. After further thought, I think the correct fix here is to change: GHashTable *tmp = priv->tubes_channels; priv->tubes_channels = NULL; g_hash_table_destroy (tmp); into: GList *cs = g_hash_table_get_values (priv->tubes_channels); for (TubeChannel *c in cs) tube_channel_close (c); g_list_free (cs); g_assert (g_hash_table_size (priv->tubes_channels) == 0); The issue is in conflating unreffing the channel with telling it to close. INVALID? -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-glib/issues/12. |
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.