gedit r6639 - in trunk: . gedit



Author: pborelli
Date: Sun Nov 30 15:12:38 2008
New Revision: 6639
URL: http://svn.gnome.org/viewvc/gedit?rev=6639&view=rev

Log:
2008-11-30  Paolo Borelli  <pborelli katamail com>

	* gedit/gedit-plugins-engine.c: call loader's garbage_collect in
	a more efficient way.



Modified:
   trunk/ChangeLog
   trunk/gedit/gedit-plugins-engine.c

Modified: trunk/gedit/gedit-plugins-engine.c
==============================================================================
--- trunk/gedit/gedit-plugins-engine.c	(original)
+++ trunk/gedit/gedit-plugins-engine.c	Sun Nov 30 15:12:38 2008
@@ -317,7 +317,7 @@
 	/* make sure that the first reactivation will read active plugins from
 	   gconf */
 	engine->priv->activate_from_gconf = TRUE;
-	
+
 	/* mapping from loadername -> loader object */
 	engine->priv->loaders = g_hash_table_new_full (hash_lowercase,
 						       equal_lowercase,
@@ -325,23 +325,19 @@
 						       (GDestroyNotify)loader_destroy);
 }
 
+static void
+loader_garbage_collect (const char *id, LoaderInfo *info)
+{
+	if (info->loader)
+		gedit_plugin_loader_garbage_collect (info->loader);
+}
+
 void
 gedit_plugins_engine_garbage_collect (GeditPluginsEngine *engine)
 {
-	GList *loaders;
-	GList *item;
-	
-	loaders = g_hash_table_get_values (engine->priv->loaders);
-	
-	for (item = loaders; item; item = item->next)
-	{
-		LoaderInfo *info = (LoaderInfo *)item->data;
-		
-		if (info->loader)
-			gedit_plugin_loader_garbage_collect (info->loader);
-	}
-	
-	g_list_free (loaders);
+	g_hash_table_foreach (engine->priv->loaders,
+			      (GHFunc) loader_garbage_collect,
+			      NULL);
 }
 
 static void



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