[empathy: 8/9] Rely on compare_separator_and_groups when either A or B isn't a contact



commit 733ae445e0f0c79b13de25e408957f23ed9a53a9
Author: Sjoerd Simons <sjoerd simons collabora co uk>
Date:   Sat Jun 19 20:38:03 2010 +0100

    Rely on compare_separator_and_groups when either A or B isn't a contact
    
    We can't rely on the fact that compare_separator_and_groups only returns
    0 in the case it compares two contacts. But we can completely rely on its
    result if we give it at least one non-contact.

 libempathy-gtk/empathy-contact-list-store.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/libempathy-gtk/empathy-contact-list-store.c b/libempathy-gtk/empathy-contact-list-store.c
index d5969c8..de83844 100644
--- a/libempathy-gtk/empathy-contact-list-store.c
+++ b/libempathy-gtk/empathy-contact-list-store.c
@@ -1630,10 +1630,9 @@ contact_list_store_state_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);
 		goto free_and_out;
 	}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]