[gnome-control-center] default-applications: Simplify load_url_handlers



commit 3a9039576c7e866037caf93438d229e600861d18
Author: Bastien Nocera <hadess hadess net>
Date:   Mon Nov 1 17:38:23 2010 +0000

    default-applications: Simplify load_url_handlers
    
    When what you want is just a new list...

 panels/default-applications/gnome-da-xml.c |   16 ++++++++++------
 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 a512c88..d4b2ee7 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



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