summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_widget.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/elementary/efl_ui_widget.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c
index c9572d9b2e..8d2bdade73 100644
--- a/src/lib/elementary/efl_ui_widget.c
+++ b/src/lib/elementary/efl_ui_widget.c
@@ -364,18 +364,19 @@ _tree_custom_chain_missing(Eo *obj)
364} 364}
365 365
366static Eina_Bool 366static Eina_Bool
367_tree_disabled_or_unfocusable(Eo *obj) 367_candidacy_exam(Eo *obj)
368{ 368{
369 Efl_Ui_Widget *wid = obj; 369 Efl_Ui_Widget *wid = obj, *top;
370 370
371 do { 371 do {
372 ELM_WIDGET_DATA_GET(wid, wid_pd); 372 ELM_WIDGET_DATA_GET(wid, wid_pd);
373 373
374 if (wid_pd->disabled) return EINA_TRUE; 374 if (wid_pd->disabled) return EINA_TRUE;
375 if (wid_pd->tree_unfocusable) return EINA_TRUE; 375 if (wid_pd->tree_unfocusable) return EINA_TRUE;
376 top = wid;
376 } while((wid = elm_widget_parent_get(wid))); 377 } while((wid = elm_widget_parent_get(wid)));
377 378
378 return EINA_FALSE; 379 return !efl_isa(top, EFL_UI_WIN_CLASS);
379} 380}
380 381
381static void _full_eval(Eo *obj, Elm_Widget_Smart_Data *pd); 382static void _full_eval(Eo *obj, Elm_Widget_Smart_Data *pd);
@@ -485,8 +486,7 @@ _eval_registration_candidate(Eo *obj, Elm_Widget_Smart_Data *pd, Eina_Bool *shou
485 //can focus can be overridden by the following properties 486 //can focus can be overridden by the following properties
486 if ((!pd->parent_obj) || 487 if ((!pd->parent_obj) ||
487 (!evas_object_visible_get(obj)) || 488 (!evas_object_visible_get(obj)) ||
488 !efl_isa(elm_widget_top_get(obj), EFL_UI_WIN_CLASS) || 489 (_candidacy_exam(obj)) ||
489 (_tree_disabled_or_unfocusable(obj)) ||
490 (_tree_custom_chain_missing(obj))) 490 (_tree_custom_chain_missing(obj)))
491 return; 491 return;
492 492