SF.net SVN: geany:[4201] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Thu Sep 17 14:45:17 UTC 2009
Revision: 4201
http://geany.svn.sourceforge.net/geany/?rev=4201&view=rev
Author: ntrel
Date: 2009-09-17 14:45:17 +0000 (Thu, 17 Sep 2009)
Log Message:
-----------
Free file list memory whilst iterating the list.
Minor formatting fixes.
Modified Paths:
--------------
trunk/ChangeLog
trunk/plugins/filebrowser.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2009-09-16 17:30:30 UTC (rev 4200)
+++ trunk/ChangeLog 2009-09-17 14:45:17 UTC (rev 4201)
@@ -1,3 +1,10 @@
+2009-09-17 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * plugins/filebrowser.c:
+ Free file list memory whilst iterating the list.
+ Minor formatting fixes.
+
+
2009-09-16 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/keybindings.c, src/callbacks.c, src/search.c:
Modified: trunk/plugins/filebrowser.c
===================================================================
--- trunk/plugins/filebrowser.c 2009-09-16 17:30:30 UTC (rev 4200)
+++ trunk/plugins/filebrowser.c 2009-09-17 14:45:17 UTC (rev 4201)
@@ -131,7 +131,7 @@
}
-/* Returns: whether name has been removed by filter. */
+/* Returns: whether filename should be removed. */
static gboolean check_filtered(const gchar *base_name)
{
if (filter == NULL)
@@ -141,7 +141,6 @@
{
return TRUE;
}
-
return FALSE;
}
@@ -184,8 +183,6 @@
}
gtk_list_store_append(file_store, &iter);
}
-
-
gtk_list_store_set(file_store, &iter,
FILEVIEW_COLUMN_ICON, (dir) ? GTK_STOCK_DIRECTORY : GTK_STOCK_FILE,
FILEVIEW_COLUMN_NAME, utf8_name,
@@ -252,11 +249,22 @@
list = utils_get_file_list(current_dir, NULL, NULL);
if (list != NULL)
{
- g_slist_foreach(list, (GFunc) add_item, NULL);
- g_slist_foreach(list, (GFunc) g_free, NULL);
- g_slist_free(list);
+ GSList *node;
+
+ /* free filenames & nodes as we go through the list */
+ for (node = list; node != NULL;)
+ {
+ gchar *fname = node->data;
+ GSList *old;
+
+ add_item(fname);
+ g_free(fname);
+ old = node;
+ node = node->next;
+ g_slist_free_1(old);
+ }
}
- gtk_entry_completion_set_model(entry_completion, GTK_TREE_MODEL(file_store));
+ gtk_entry_completion_set_model(entry_completion, GTK_TREE_MODEL(file_store));
}
@@ -722,10 +730,10 @@
icon_renderer = gtk_cell_renderer_pixbuf_new();
text_renderer = gtk_cell_renderer_text_new();
column = gtk_tree_view_column_new();
- gtk_tree_view_column_pack_start(column, icon_renderer, FALSE);
- gtk_tree_view_column_set_attributes(column, icon_renderer, "stock-id", FILEVIEW_COLUMN_ICON, NULL);
- gtk_tree_view_column_pack_start(column, text_renderer, TRUE);
- gtk_tree_view_column_set_attributes(column, text_renderer, "text", FILEVIEW_COLUMN_NAME, NULL);
+ gtk_tree_view_column_pack_start(column, icon_renderer, FALSE);
+ gtk_tree_view_column_set_attributes(column, icon_renderer, "stock-id", FILEVIEW_COLUMN_ICON, NULL);
+ gtk_tree_view_column_pack_start(column, text_renderer, TRUE);
+ gtk_tree_view_column_set_attributes(column, text_renderer, "text", FILEVIEW_COLUMN_NAME, NULL);
gtk_tree_view_append_column(GTK_TREE_VIEW(file_view), column);
gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(file_view), FALSE);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list