Mercurial > geeqie
diff src/view_dir.c @ 1413:3bc4967aaa57
Use dynamic allocation for editor key passed to various callbacks.
author | zas_ |
---|---|
date | Wed, 11 Mar 2009 17:38:20 +0000 |
parents | 5a534e1501e1 |
children | cf4029d10d38 |
line wrap: on
line diff
--- a/src/view_dir.c Tue Mar 10 22:52:12 2009 +0000 +++ b/src/view_dir.c Wed Mar 11 17:38:20 2009 +0000 @@ -330,7 +330,10 @@ file_util_start_filter_from_filelist(key, list, path, vd->widget); } - +static void vd_drop_menu_edit_item_free(gpointer data) +{ + g_free(data); +} GtkWidget *vd_drop_menu(ViewDir *vd, gint active) { @@ -350,12 +353,13 @@ { GtkWidget *item; const EditorDescription *editor = work->data; + gchar *key; work = work->next; if (!editor_is_filter(editor->key)) continue; + key = g_strdup(editor->key); item = menu_item_add_sensitive(menu, editor->name, active, G_CALLBACK(vd_drop_menu_filter_cb), vd); - - g_object_set_data(G_OBJECT(item), "filter_key", editor->key); + g_object_set_data_full(G_OBJECT(item), "filter_key", key, vd_drop_menu_edit_item_free); } g_list_free(editors_list);