Enlightenment CVS committal

Author  : englebass
Project : e17
Module  : libs/efreet

Dir     : e17/libs/efreet/src/bin


Modified Files:
        ef_menu.c 


Log Message:
Fix memleaks.

===================================================================
RCS file: /cvs/e/e17/libs/efreet/src/bin/ef_menu.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- ef_menu.c   7 Feb 2007 02:14:46 -0000       1.3
+++ ef_menu.c   26 Mar 2007 16:33:00 -0000      1.4
@@ -48,6 +48,7 @@
 ef_cb_menu_save(void)
 {
     Efreet_Menu *menu;
+    int ret;
 
 //    menu = efreet_menu_get();
     menu = efreet_menu_parse(PACKAGE_DATA_DIR"/efreet/test/test.menu");
@@ -57,7 +58,9 @@
         return 0;
     }
     unlink("/tmp/test.menu");
-    return efreet_menu_save(menu, "/tmp/test.menu");
+    ret = efreet_menu_save(menu, "/tmp/test.menu");
+    efreet_menu_free(menu);
+    return ret;
 }
 
 int
@@ -82,6 +85,7 @@
     desktop = efreet_desktop_get(PACKAGE_DATA_DIR"/efreet/test/test.desktop");
     if (!desktop) 
     {
+        efreet_menu_free(menu);
         printf("No desktop found.\n");
         return 0;
     }
@@ -94,7 +98,11 @@
 #endif
     ecore_list_goto_first(menu->entries);
     entry = ecore_list_current(menu->entries);
-    if (desktop != entry->desktop) return 0;
+    if (desktop != entry->desktop)
+    {
+        efreet_menu_free(menu);
+        return 0;
+    }
 
     efreet_menu_desktop_insert(menu, desktop, 2);
 #if 0
@@ -104,7 +112,11 @@
 #endif
     ecore_list_goto_index(menu->entries, 2);
     entry = ecore_list_current(menu->entries);
-    if (desktop != entry->desktop) return 0;
+    if (desktop != entry->desktop)
+    {
+        efreet_menu_free(menu);
+        return 0;
+    }
 
     efreet_menu_desktop_insert(menu, desktop, -1);
 #if 0
@@ -114,8 +126,13 @@
 #endif
     ecore_list_goto_last(menu->entries);
     entry = ecore_list_current(menu->entries);
-    if (desktop != entry->desktop) return 0;
+    if (desktop != entry->desktop)
+    {
+        efreet_menu_free(menu);
+        return 0;
+    }
 
+    efreet_menu_free(menu);
     return 1;
 }
 



-------------------------------------------------------------------------
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