[empathy] Add some more validation when sorting the contact list.
- From: Travis Reitter <treitter src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy] Add some more validation when sorting the contact list.
- Date: Tue, 20 Jul 2010 23:23:12 +0000 (UTC)
commit 1acf1e0f3b5686b95f1b0787a5308e0a6298eb08
Author: Travis Reitter <treitter gmail com>
Date: Tue Jul 6 12:23:13 2010 -0700
Add some more validation when sorting the contact list.
libempathy-gtk/empathy-individual-store.c | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
---
diff --git a/libempathy-gtk/empathy-individual-store.c b/libempathy-gtk/empathy-individual-store.c
index 398ed13..b47b310 100644
--- a/libempathy-gtk/empathy-individual-store.c
+++ b/libempathy-gtk/empathy-individual-store.c
@@ -1198,6 +1198,8 @@ individual_store_contact_sort (FolksIndividual *individual_a,
{
gint ret_val;
+ g_return_val_if_fail (individual_a != NULL || individual_b != NULL, 0);
+
/* alias */
ret_val = g_utf8_collate (folks_individual_get_alias (individual_a),
folks_individual_get_alias (individual_b));
@@ -1241,11 +1243,11 @@ individual_store_state_sort_func (GtkTreeModel *model,
EMPATHY_INDIVIDUAL_STORE_COL_IS_SEPARATOR, &is_separator_b,
EMPATHY_INDIVIDUAL_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, individual_a, individual_b, fake_group_a, fake_group_b);
-
- if (ret_val != 0)
+ if (individual_a == NULL || individual_b == NULL)
{
+ ret_val = compare_separator_and_groups (is_separator_a, is_separator_b,
+ name_a, name_b, individual_a, individual_b, fake_group_a,
+ fake_group_b);
goto free_and_out;
}
@@ -1306,10 +1308,10 @@ individual_store_name_sort_func (GtkTreeModel *model,
EMPATHY_INDIVIDUAL_STORE_COL_IS_SEPARATOR, &is_separator_b,
EMPATHY_INDIVIDUAL_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, individual_a, individual_b, fake_group_a, fake_group_b);
-
- if (ret_val == 0)
+ if (individual_a == NULL || individual_b == NULL)
+ ret_val = compare_separator_and_groups (is_separator_a, is_separator_b,
+ name_a, name_b, individual_a, individual_b, fake_group_a, fake_group_b);
+ else
ret_val = individual_store_contact_sort (individual_a, individual_b);
if (individual_a)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]