diff options
author | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2011-03-07 12:06:29 +0800 |
---|---|---|
committer | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2011-04-06 13:48:32 +0800 |
commit | 0b213f4fae18f24fd7b162ca19c63249cd360e43 (patch) | |
tree | 426a0650907e74f3ecc20446e2879e4f3999b182 /src/empathy-chat-manager.c | |
parent | 73d8a18c6def748d78e91f0dda1145771c620b53 (diff) | |
download | gsoc2013-empathy-0b213f4fae18f24fd7b162ca19c63249cd360e43.tar gsoc2013-empathy-0b213f4fae18f24fd7b162ca19c63249cd360e43.tar.gz gsoc2013-empathy-0b213f4fae18f24fd7b162ca19c63249cd360e43.tar.bz2 gsoc2013-empathy-0b213f4fae18f24fd7b162ca19c63249cd360e43.tar.lz gsoc2013-empathy-0b213f4fae18f24fd7b162ca19c63249cd360e43.tar.xz gsoc2013-empathy-0b213f4fae18f24fd7b162ca19c63249cd360e43.tar.zst gsoc2013-empathy-0b213f4fae18f24fd7b162ca19c63249cd360e43.zip |
[ChatroomManager] find windows by channel path, not by TargetID
Otherwise two separate channels with the same TargetID (i.e. SMSChannel = False
and SMSChannel = True) will not result in two separate chat windows in Empathy.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=644085
Diffstat (limited to 'src/empathy-chat-manager.c')
-rw-r--r-- | src/empathy-chat-manager.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/empathy-chat-manager.c b/src/empathy-chat-manager.c index cfa38ec84..4ff6b7d30 100644 --- a/src/empathy-chat-manager.c +++ b/src/empathy-chat-manager.c @@ -119,18 +119,16 @@ process_tp_chat (EmpathyTpChat *tp_chat, gint64 user_action_time) { EmpathyChat *chat = NULL; - const gchar *id; + const char *channel_path; tell_chatroom_manager_if_needed (account, tp_chat); - id = empathy_tp_chat_get_id (tp_chat); - if (!tp_str_empty (id)) - { - chat = empathy_chat_window_find_chat (account, id); - } + channel_path = empathy_tp_chat_get_channel_path (tp_chat); + chat = empathy_chat_window_find_chat_by_channel (channel_path); if (chat != NULL) { + DEBUG ("found chat %p for path %s", chat, channel_path); empathy_chat_set_tp_chat (chat, tp_chat); } else |