[empathy] Don't assume that 'subscribe' exists.
- From: Will Thompson <wjt src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [empathy] Don't assume that 'subscribe' exists.
- Date: Tue, 18 Aug 2009 17:03:59 +0000 (UTC)
commit 77363aa431aaa9a2938bf547500a3c2ce2cd17c2
Author: Will Thompson <will thompson collabora co uk>
Date: Tue Aug 11 18:02:51 2009 +0100
Don't assume that 'subscribe' exists.
This fixes bug #591468, which is a crash when you open a tab to a
contact from the user list in an IRC channel. Idle doesn't have a
'subscribe' list, so priv->subscribe is NULL, so this crashed. But if
you don't have a subscribe list, obviously you can't add the contact to
subscribe, so we can just guard this appropriately.
Reviewed-by: Guillaume Desmottes <guillaume desmottes collabora co uk>
libempathy/empathy-tp-contact-list.c | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 deletions(-)
---
diff --git a/libempathy/empathy-tp-contact-list.c b/libempathy/empathy-tp-contact-list.c
index 7c94bc7..cb03a97 100644
--- a/libempathy/empathy-tp-contact-list.c
+++ b/libempathy/empathy-tp-contact-list.c
@@ -1165,21 +1165,24 @@ tp_contact_list_get_flags (EmpathyContactList *list)
{
EmpathyTpContactListPriv *priv;
EmpathyContactListFlags flags;
- TpChannelGroupFlags group_flags;
g_return_val_if_fail (EMPATHY_IS_TP_CONTACT_LIST (list), FALSE);
priv = GET_PRIV (list);
flags = priv->flags;
- group_flags = tp_channel_group_get_flags (priv->subscribe);
+ if (priv->subscribe != NULL) {
+ TpChannelGroupFlags group_flags;
- if (group_flags & TP_CHANNEL_GROUP_FLAG_CAN_ADD) {
- flags |= EMPATHY_CONTACT_LIST_CAN_ADD;
- }
+ group_flags = tp_channel_group_get_flags (priv->subscribe);
+
+ if (group_flags & TP_CHANNEL_GROUP_FLAG_CAN_ADD) {
+ flags |= EMPATHY_CONTACT_LIST_CAN_ADD;
+ }
- if (group_flags & TP_CHANNEL_GROUP_FLAG_CAN_REMOVE) {
- flags |= EMPATHY_CONTACT_LIST_CAN_REMOVE;
+ if (group_flags & TP_CHANNEL_GROUP_FLAG_CAN_REMOVE) {
+ flags |= EMPATHY_CONTACT_LIST_CAN_REMOVE;
+ }
}
return flags;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]