From f70e439aeae0267daf9e8df07d81910466bb13e4 Mon Sep 17 00:00:00 2001 From: stffrdhrn Date: Wed, 15 Feb 2006 14:18:06 +0000 Subject: [PATCH] Some fileman work: * Free a list which had a FIXME note, looks like no need to free data * Fix a bug when right clicking on directories (do a NULL check) SVN revision: 20475 --- src/bin/e_fileman_mime.c | 5 ++++- src/bin/e_fileman_smart.c | 18 +++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/bin/e_fileman_mime.c b/src/bin/e_fileman_mime.c index 3d15872d0..e227a8027 100644 --- a/src/bin/e_fileman_mime.c +++ b/src/bin/e_fileman_mime.c @@ -264,9 +264,12 @@ e_fm_mime_get_from_list(Evas_List *files) E_Fm_Mime_Entry *entry; Evas_List *l; + if (files == NULL) + return NULL; + file = (E_Fm_Mime_Entry *)files->data; entry = file->mime; - for(l = files->next; l; l = l->next) + for (l = files->next; l; l = l->next) { E_Fm_Mime_Entry *eme; diff --git a/src/bin/e_fileman_smart.c b/src/bin/e_fileman_smart.c index bbcd605c4..ce99fcec9 100644 --- a/src/bin/e_fileman_smart.c +++ b/src/bin/e_fileman_smart.c @@ -2257,7 +2257,6 @@ _e_fm_icon_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) E_Fm_Icon *icon; Evas_Event_Mouse_Up *ev; Evas_List *l; - Evas_List *mimes = NULL; ev = event_info; icon = data; @@ -2314,8 +2313,21 @@ _e_fm_icon_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) /* the xdnd_drop will handle this case */ if(icon->sd->drag.doing) break; - /* FIXME if it isnt null free the list */ - icon->sd->operation.files = NULL; + + /* Free file list before recreating */ + while (icon->sd->operation.files) + { + E_Fm_File *file; + + file = icon->sd->operation.files->data; + icon->sd->operation.files = evas_list_remove_list( + icon->sd->operation.files, icon->sd->operation.files); + /* + * FIXME: should this be freed, it looks like we just need to free the list here? + * e_object_del(E_OBJECT(file)); + */ + } + /* set the operation files equal to the selected icons */ for(l = icon->sd->selection.icons; l; l = l->next) {