diff options
author | Travis Reitter <travis.reitter@collabora.co.uk> | 2011-06-28 05:31:25 +0800 |
---|---|---|
committer | Jonny Lamb <jonnylamb@gnome.org> | 2011-08-22 17:36:33 +0800 |
commit | d1d3a49fc919ed734b77a6e94afb2d49109182f2 (patch) | |
tree | 8c329ef17d60f70dba7f6695378142e229ab44e2 /libempathy-gtk/empathy-persona-view.c | |
parent | 358fab1eb85cecb34ca45f492be2e623ab443a5e (diff) | |
download | gsoc2013-empathy-d1d3a49fc919ed734b77a6e94afb2d49109182f2.tar gsoc2013-empathy-d1d3a49fc919ed734b77a6e94afb2d49109182f2.tar.gz gsoc2013-empathy-d1d3a49fc919ed734b77a6e94afb2d49109182f2.tar.bz2 gsoc2013-empathy-d1d3a49fc919ed734b77a6e94afb2d49109182f2.tar.lz gsoc2013-empathy-d1d3a49fc919ed734b77a6e94afb2d49109182f2.tar.xz gsoc2013-empathy-d1d3a49fc919ed734b77a6e94afb2d49109182f2.tar.zst gsoc2013-empathy-d1d3a49fc919ed734b77a6e94afb2d49109182f2.zip |
Don't assume that all TpfPersonas contain valid TpContacts
Helps: bgo#653599 - Empathy shouldn't assume all TpfPersonas contain a
valid TpContact
Signed-off-by: Jonny Lamb <jonnylamb@gnome.org>
Diffstat (limited to 'libempathy-gtk/empathy-persona-view.c')
-rw-r--r-- | libempathy-gtk/empathy-persona-view.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libempathy-gtk/empathy-persona-view.c b/libempathy-gtk/empathy-persona-view.c index 6d1629651..5cb77c94b 100644 --- a/libempathy-gtk/empathy-persona-view.c +++ b/libempathy-gtk/empathy-persona-view.c @@ -174,6 +174,7 @@ query_tooltip_cb (EmpathyPersonaView *self, { EmpathyPersonaViewPriv *priv = GET_PRIV (self); FolksPersona *persona; + TpContact *tp_contact; EmpathyContact *contact; GtkTreeModel *model; GtkTreeIter iter; @@ -201,8 +202,14 @@ query_tooltip_cb (EmpathyPersonaView *self, if (persona == NULL) goto OUT; - contact = empathy_contact_dup_from_tp_contact (tpf_persona_get_contact ( - TPF_PERSONA (persona))); + tp_contact = tpf_persona_get_contact (TPF_PERSONA (persona)); + if (tp_contact == NULL) + { + g_clear_object (&persona); + goto OUT; + } + + contact = empathy_contact_dup_from_tp_contact (tp_contact); if (priv->tooltip_widget == NULL) { |