fix crash when activating menu that is not in range 81/33081/1
authorDuna Oh <duna.oh@samsung.com>
Mon, 5 Jan 2015 10:16:55 +0000 (19:16 +0900)
committerDuna Oh <duna.oh@samsung.com>
Mon, 5 Jan 2015 10:16:55 +0000 (19:16 +0900)
Change-Id: I5582a562e4607e5b7aee58ca50a451b0ff4c9c60
Signed-off-by: Duna Oh <duna.oh@samsung.com>
src/bin/e_menu.c

index 4c9e1fbcf5007993861d74d90bfce4abeb329353..bdb83d8788e73cfa38c1251996a7b4b19800c423 100644 (file)
@@ -2297,7 +2297,7 @@ static void
 _e_menu_item_activate_nth(int n)
 {
    E_Menu *m;
-   E_Menu_Item *mi;
+   E_Menu_Item *mi, *last_mi;
    Eina_List *ll;
    int i = -1;
 
@@ -2309,10 +2309,12 @@ _e_menu_item_activate_nth(int n)
         if (!mi) return;
      }
    m = mi->menu;
+   last_mi = eina_list_data_get(eina_list_last(m->items));
    EINA_LIST_FOREACH(m->items, ll, mi)
      {
         if (!mi->separator) i++;
         if (i == n) break;
+        if (mi == last_mi) return;
      }
    e_menu_item_active_set(mi, 1);
    _e_menu_item_ensure_onscreen(mi);