clean shutdown on all cases, use eina macros to free list.
authorbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 20 Jun 2009 07:37:26 +0000 (07:37 +0000)
committerbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 20 Jun 2009 07:37:26 +0000 (07:37 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/expedite@41125 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/bin/ui.c

index ee2187a..2c09665 100644 (file)
@@ -52,15 +52,13 @@ static int exit_after_test = 0;
 static void
 _ui_exit(void)
 {
-   while (menu)
-     {
-        Menu_Item *mi;
+   Menu_Item *mi;
 
-        mi = (Menu_Item *)menu->data;
+   EINA_LIST_FREE(menu, mi)
+     {
         free(mi->icon);
         free(mi->text);
         free(mi);
-        menu = eina_list_remove_list(menu, menu);
      }
    engine_abort();
 }
@@ -190,7 +188,7 @@ _ui_key(void *data, Evas *e, Evas_Object *obj, void *event_info)
        (!strcmp(ev->keyname, "q")) ||
        (!strcmp(ev->keyname, "Q")))
      {
-       engine_abort();
+       _ui_exit();
      }
    if (menu_active)
      {