[yelp] Handle NULL better in page sorting functions
- From: Shaun McCance <shaunm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [yelp] Handle NULL better in page sorting functions
- Date: Fri, 30 Apr 2010 16:30:56 +0000 (UTC)
commit 0f58a0fa27743fc09726b8ae20447c69b637ea82
Author: Shaun McCance <shaunm gnome org>
Date: Fri Apr 30 11:30:31 2010 -0500
Handle NULL better in page sorting functions
libyelp/yelp-settings.c | 4 +++-
src/yelp-window.c | 18 +++++++++++++++---
2 files changed, 18 insertions(+), 4 deletions(-)
---
diff --git a/libyelp/yelp-settings.c b/libyelp/yelp-settings.c
index 087e6a6..7f2139f 100644
--- a/libyelp/yelp-settings.c
+++ b/libyelp/yelp-settings.c
@@ -959,7 +959,9 @@ yelp_settings_cmp_icons (const gchar *icon1,
else if (eq2)
return 1;
}
- if (icon2 == NULL)
+ if (icon1 == icon2 == NULL)
+ return 0;
+ else if (icon2 == NULL)
return -1;
else if (icon1 == NULL)
return 1;
diff --git a/src/yelp-window.c b/src/yelp-window.c
index a8e4eff..e9a6b84 100644
--- a/src/yelp-window.c
+++ b/src/yelp-window.c
@@ -648,8 +648,15 @@ entry_compare (YelpMenuEntry *a, YelpMenuEntry *b)
gint ret = yelp_settings_cmp_icons (a->icon, b->icon);
if (ret != 0)
return ret;
- else
- return g_utf8_collate (a->title, b->title);
+
+ if (a->title && b->title)
+ ret = g_utf8_collate (a->title, b->title);
+ else if (b->title == NULL)
+ return -1;
+ else if (a->title == NULL)
+ return 1;
+
+ return 0;
}
static void
@@ -786,7 +793,12 @@ entry_completion_sort (GtkTreeModel *model,
gtk_tree_model_get (model, iter1, COL_TITLE, &key1, -1);
gtk_tree_model_get (model, iter2, COL_TITLE, &key2, -1);
- ret = g_utf8_collate (key1, key2);
+ if (key1 && key2)
+ ret = g_utf8_collate (key1, key2);
+ else if (key2 == NULL)
+ return -1;
+ else if (key1 == NULL)
+ return 1;
g_free (key1);
g_free (key2);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]