summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2010-11-01 17:38:23 +0000
committerBastien Nocera <hadess@hadess.net>2010-11-01 17:38:23 +0000
commit3a9039576c7e866037caf93438d229e600861d18 (patch)
tree2934497aab441c32652950d0ddb4231a2ec360fe
parent95ea5d6b23a6d955d1f3c09f90d9eaf5d4d0d369 (diff)
downloadgnome-control-center-3a9039576c7e866037caf93438d229e600861d18.tar.gz
default-applications: Simplify load_url_handlers
When what you want is just a new list...
-rw-r--r--panels/default-applications/gnome-da-xml.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/panels/default-applications/gnome-da-xml.c b/panels/default-applications/gnome-da-xml.c
index a512c88a5..d4b2ee783 100644
--- a/panels/default-applications/gnome-da-xml.c
+++ b/panels/default-applications/gnome-da-xml.c
@@ -209,12 +209,14 @@ gnome_da_xml_load_xml (GnomeDACapplet *capplet, const gchar * filename)
xmlFreeDoc (xml_doc);
}
-static void
-load_url_handlers (GnomeDACapplet *capplet, const gchar *scheme, GList **item_list)
+static GList *
+load_url_handlers (GnomeDACapplet *capplet, const gchar *scheme)
{
- GList *app_list, *l;
+ GList *app_list, *l, *ret;
app_list = g_app_info_get_all_for_type (scheme);
+ ret = NULL;
+
for (l = app_list; l != NULL; l = l->next) {
const gchar *executable;
GAppInfo *app_info = l->data;
@@ -231,12 +233,14 @@ load_url_handlers (GnomeDACapplet *capplet, const gchar *scheme, GList **item_li
/* Steal the reference */
url_item->app_info = app_info;
- *item_list = g_list_append (*item_list, url_item);
+ ret = g_list_prepend (ret, url_item);
} else {
g_object_unref (app_info);
}
}
g_list_free (app_list);
+
+ return g_list_reverse (ret);
}
void
@@ -261,8 +265,8 @@ gnome_da_xml_load_list (GnomeDACapplet *capplet)
}
/* Now load URL handlers */
- load_url_handlers (capplet, "x-scheme-handler/http", &capplet->web_browsers);
- load_url_handlers (capplet, "x-scheme-handler/mailto", &capplet->mail_readers);
+ capplet->web_browsers = load_url_handlers (capplet, "x-scheme-handler/http");
+ capplet->mail_readers = load_url_handlers (capplet, "x-scheme-handler/mailto");
}
void