From 176052a4b751db7f7792a82ade4c0f8aad2ae98f Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Sat, 2 Jun 2007 16:50:43 +0000 Subject: [PATCH] remove leak. SVN revision: 30196 --- TODO | 2 -- src/bin/e_fm_main.c | 33 ++++++++++++++++++++++++--------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/TODO b/TODO index 4aebec87a..138645a9d 100644 --- a/TODO +++ b/TODO @@ -37,8 +37,6 @@ Some of the things (in very short form) that need to be done to E17... ESSENTIAL FEATURES ------------------------------------------------------------------------------- -* fm2 seems to have problems with files > 2gb -* fm2 slave leaks on continual file changes * fm2 fwin windows need to use icon for that dir on window border * fm2 needs to use different theme elements for desktop * fm2 theme needs to not suck diff --git a/src/bin/e_fm_main.c b/src/bin/e_fm_main.c index 5c0a8ac17..430a5119e 100644 --- a/src/bin/e_fm_main.c +++ b/src/bin/e_fm_main.c @@ -592,9 +592,12 @@ _e_cb_file_monitor(void *data, Ecore_File_Monitor *em, Ecore_File_Event event, c { ed = l->data; drp = ecore_file_realpath(ed->dir); - if (!strcmp(rp, drp)) - _e_file_add(ed, path, 0); - free(drp); + if (drp) + { + if (!strcmp(rp, drp)) + _e_file_add(ed, path, 0); + free(drp); + } } free(rp); } @@ -606,8 +609,12 @@ _e_cb_file_monitor(void *data, Ecore_File_Monitor *em, Ecore_File_Event event, c { ed = l->data; drp = ecore_file_realpath(ed->dir); - if (!strcmp(rp, drp)) - _e_file_del(ed, path); + if (drp) + { + if (!strcmp(rp, drp)) + _e_file_del(ed, path); + free(drp); + } } free(rp); } @@ -618,8 +625,12 @@ _e_cb_file_monitor(void *data, Ecore_File_Monitor *em, Ecore_File_Event event, c { ed = l->data; drp = ecore_file_realpath(ed->dir); - if (!strcmp(rp, drp)) - _e_file_mod(ed, path); + if (drp) + { + if (!strcmp(rp, drp)) + _e_file_mod(ed, path); + free(drp); + } } free(rp); } @@ -630,8 +641,12 @@ _e_cb_file_monitor(void *data, Ecore_File_Monitor *em, Ecore_File_Event event, c { ed = l->data; drp = ecore_file_realpath(ed->dir); - if (!strcmp(rp, drp)) - _e_file_mon_dir_del(ed, path); + if (drp) + { + if (!strcmp(rp, drp)) + _e_file_mon_dir_del(ed, path); + free(drp); + } } free(rp); }