cheese r1138 - in trunk: . src



Author: fargiolas
Date: Sun Nov 16 08:29:07 2008
New Revision: 1138
URL: http://svn.gnome.org/viewvc/cheese?rev=1138&view=rev

Log:
Don't use random access GList methods when accessing a list
sequentially. Properly free list elements after use.
Fixes bug #560514, courtesy of Giuseppe Fuggiano


Modified:
   trunk/ChangeLog
   trunk/src/cheese-thumb-view.c

Modified: trunk/src/cheese-thumb-view.c
==============================================================================
--- trunk/src/cheese-thumb-view.c	(original)
+++ trunk/src/cheese-thumb-view.c	Sun Nov 16 08:29:07 2008
@@ -356,23 +356,21 @@
                                        guint             time,
                                        gpointer          user_data)
 {
-  GList        *list;
-  GtkTreePath  *tree_path = NULL;
+  GList        *list, *l;
   GtkTreeIter   iter;
   GtkTreeModel *model;
   char         *str;
   char         *uris = NULL;
   char         *tmp_str;
-  gint          i;
 
   list  = gtk_icon_view_get_selected_items (thumb_view);
   model = gtk_icon_view_get_model (thumb_view);
 
-  for (i = 0; i < g_list_length (list); i++)
+  for (l = list; l != NULL; l = l->next)
   {
-    tree_path = g_list_nth_data (list, i);
-    gtk_tree_model_get_iter (model, &iter, tree_path);
+    gtk_tree_model_get_iter (model, &iter, l->data);
     gtk_tree_model_get (model, &iter, 1, &str, -1);
+    gtk_tree_path_free (l->data);
 
     /* we always store local paths in the model, but DnD
      * needs URIs, so we must add file:// to the path.



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