Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/lib


Modified Files:
        ewl_callback.c ewl_filepicker.c 


Log Message:
- fix memory leak

===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_callback.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- ewl_callback.c      6 Sep 2006 07:07:53 -0000       1.24
+++ ewl_callback.c      22 Dec 2006 18:04:53 -0000      1.25
@@ -141,7 +141,7 @@
                        (w->callbacks[t].len - pos - 1) * sizeof(void *));
        }
 
-       w->callbacks[t].len -= 1;
+       w->callbacks[t].len  -= 1;
        w->callbacks[t].list[EWL_CALLBACK_LEN(w, t)] = NULL;
        w->callbacks[t].list = realloc(w->callbacks[t].list, 
                                        w->callbacks[t].len * sizeof(void *));
===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filepicker.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- ewl_filepicker.c    1 Dec 2006 17:35:38 -0000       1.18
+++ ewl_filepicker.c    22 Dec 2006 18:04:53 -0000      1.19
@@ -30,6 +30,8 @@
 static int ewl_filepicker_cb_type_count(void *data);
 static Ewl_Widget *ewl_filepicker_cb_type_header(void *data, int col);
 
+static void ewl_filepicker_filter_free_cb(Ewl_Filepicker_Filter *filter);
+
 /**
  * @return Returns a new Ewl_Filepicker widget or NULL on failure
  * @brief Creates a new Ewl_Filepicker widget
@@ -129,6 +131,7 @@
        ewl_widget_show(fp->file_entry);
 
        fp->filters = ecore_list_new();
+       ecore_list_set_free_cb(fp->filters, ewl_filepicker_filter_free_cb);
        ewl_filepicker_filter_add(fp, "All files", NULL);
 
        model = ewl_model_new();
@@ -807,6 +810,17 @@
        ecore_list_destroy(fp->filters);
 
        DLEAVE_FUNCTION(DLEVEL_STABLE);
+}
+
+static void
+ewl_filepicker_filter_free_cb(Ewl_Filepicker_Filter *filter)
+{
+    if (!filter) return;
+
+    IF_FREE(filter->name);
+    IF_FREE(filter->filter);
+
+    FREE(filter);
 }
 
 



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to