gimp r26087 - in trunk: . plug-ins/help-browser



Author: neo
Date: Tue Jul  8 08:29:54 2008
New Revision: 26087
URL: http://svn.gnome.org/viewvc/gimp?rev=26087&view=rev

Log:
2008-07-08  Sven Neumann  <sven gimp org>

	* plug-ins/help-browser/dialog.c (build_menu): plugged a memory leak.


Modified:
   trunk/ChangeLog
   trunk/plug-ins/help-browser/dialog.c

Modified: trunk/plug-ins/help-browser/dialog.c
==============================================================================
--- trunk/plug-ins/help-browser/dialog.c	(original)
+++ trunk/plug-ins/help-browser/dialog.c	Tue Jul  8 08:29:54 2008
@@ -809,34 +809,40 @@
 
 /*  this function unrefs the items and frees the list  */
 static GtkWidget *
-build_menu (GList *list)
+build_menu (GList *items)
 {
   GtkWidget *menu;
+  GList     *list;
 
-  if (! list)
+  if (! items)
     return NULL;
 
   menu = gtk_menu_new ();
 
-  do
+  for (list = items; list; list = g_list_next (list))
     {
       WebKitWebHistoryItem *item = list->data;
-      GtkWidget            *menu_item;
 
-      menu_item = gtk_menu_item_new_with_label (webkit_web_history_item_get_title (item));
+      if (item)
+        {
+          GtkWidget   *menu_item;
+          const gchar *title;
 
-      gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
-      gtk_widget_show (menu_item);
+          title = webkit_web_history_item_get_title (item);
+          menu_item = gtk_menu_item_new_with_label (title);
 
-      g_signal_connect_object (menu_item, "activate",
-                               G_CALLBACK (menu_callback),
-                               item, 0);
+          gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
+          gtk_widget_show (menu_item);
 
-      g_object_unref (item);
+          g_signal_connect_object (menu_item, "activate",
+                                   G_CALLBACK (menu_callback),
+                                   item, 0);
+
+          g_object_unref (item);
+        }
     }
-  while ((list = g_list_next (list)));
 
-  g_list_free (list);
+  g_list_free (items);
 
   return menu;
 }



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