efl_ui_tab_pager: fix infinite selected calls
authorJaehyun Cho <jae_hyun.cho@samsung.com>
Mon, 23 Sep 2019 10:37:10 +0000 (19:37 +0900)
committerJongmin Lee <jm105.lee@samsung.com>
Mon, 23 Sep 2019 21:32:19 +0000 (06:32 +0900)
Since tab_pager's _select() and tab_bar's _selection_change_cb() cause
calling each other infinitely.

src/lib/elementary/efl_ui_tab_pager.c

index 745a1dc..eb347ab 100644 (file)
 static void
 _select(Eo *obj EINA_UNUSED, Efl_Ui_Tab_Page *page)
 {
-   efl_ui_selectable_selected_set(efl_ui_tab_page_tab_bar_item_get(page), EINA_TRUE);
+   Efl_Ui_Tab_Bar_Default_Item *item = efl_ui_tab_page_tab_bar_item_get(page);
+
+   if (!efl_ui_selectable_selected_get(item))
+     efl_ui_selectable_selected_set(item, EINA_TRUE);
 }
 
 static void