diff options
author | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2010-06-20 03:06:07 +0800 |
---|---|---|
committer | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2010-06-20 03:06:11 +0800 |
commit | fb06bf8e12d112645433eb7ed2bd9ffb82980278 (patch) | |
tree | ccf9f8052fdb74ba9b6c3a8cc5a5939f45e368fa | |
parent | 813e42dcf617f97e0ed0cdc7a77ad428d5b87ef2 (diff) | |
download | gsoc2013-empathy-fb06bf8e12d112645433eb7ed2bd9ffb82980278.tar gsoc2013-empathy-fb06bf8e12d112645433eb7ed2bd9ffb82980278.tar.gz gsoc2013-empathy-fb06bf8e12d112645433eb7ed2bd9ffb82980278.tar.bz2 gsoc2013-empathy-fb06bf8e12d112645433eb7ed2bd9ffb82980278.tar.lz gsoc2013-empathy-fb06bf8e12d112645433eb7ed2bd9ffb82980278.tar.xz gsoc2013-empathy-fb06bf8e12d112645433eb7ed2bd9ffb82980278.tar.zst gsoc2013-empathy-fb06bf8e12d112645433eb7ed2bd9ffb82980278.zip |
Pick the right sort function early
We can't assume that the group and seperator sorting function never returns 0,
so don't use that to imply that both A and B are contacts. Instead just check
if A and B are contacts...
-rw-r--r-- | libempathy-gtk/empathy-contact-list-store.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libempathy-gtk/empathy-contact-list-store.c b/libempathy-gtk/empathy-contact-list-store.c index 8916761d4..98cd81b5d 100644 --- a/libempathy-gtk/empathy-contact-list-store.c +++ b/libempathy-gtk/empathy-contact-list-store.c @@ -1691,10 +1691,10 @@ contact_list_store_name_sort_func (GtkTreeModel *model, EMPATHY_CONTACT_LIST_STORE_COL_IS_FAKE_GROUP, &fake_group_b, -1); - ret_val = compare_separator_and_groups (is_separator_a, is_separator_b, - name_a, name_b, contact_a, contact_b, fake_group_a, fake_group_b); - - if (ret_val == 0) + if (contact_a == NULL || contact_b == NULL) + ret_val = compare_separator_and_groups (is_separator_a, is_separator_b, + name_a, name_b, contact_a, contact_b, fake_group_a, fake_group_b); + else ret_val = contact_list_store_contact_sort (contact_a, contact_b); if (contact_a) { |