forked from enlightenment/efl
elementary/elm_widget : Focus cannot be stolen when one of parents is invisible or disabled.
This commit is contained in:
parent
9768137b79
commit
8058042b6e
|
@ -1340,3 +1340,7 @@
|
|||
2013-05-06 WooHyun Jung
|
||||
|
||||
* Add elm_entry smart callback - "text,set,done".
|
||||
|
||||
2013-05-07 WooHyun Jung
|
||||
|
||||
* Focus cannot be stolen when one of parents is invisible or disabled.
|
||||
|
|
|
@ -227,6 +227,7 @@ Fixes:
|
|||
* Fix gengrid does not work under the accessibility.
|
||||
* Fix do not append NULL to genlist focus list.
|
||||
* Fix elm_clock_first_interval_set writes wrong value.
|
||||
* Focus cannot be stolen when one of parents is invisible or disabled.
|
||||
|
||||
Removals:
|
||||
|
||||
|
|
|
@ -3198,15 +3198,20 @@ _elm_widget_focus_steal(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
|
|||
if (sd->disabled) return;
|
||||
if (!sd->can_focus) return;
|
||||
if (sd->tree_unfocusable) return;
|
||||
parent = obj;
|
||||
parent2 = parent = obj;
|
||||
for (;; )
|
||||
{
|
||||
o = elm_widget_parent_get(parent);
|
||||
if (!o) break;
|
||||
o = elm_widget_parent_get(parent2);
|
||||
if (!o)
|
||||
{
|
||||
parent = parent2;
|
||||
break;
|
||||
}
|
||||
if (!evas_object_visible_get(o)) return;
|
||||
sd = eo_data_scope_get(o, MY_CLASS);
|
||||
if (sd->disabled || sd->tree_unfocusable) return;
|
||||
if (sd->focused) break;
|
||||
parent = o;
|
||||
if (sd->focused) parent = o;
|
||||
parent2 = o;
|
||||
}
|
||||
if ((!elm_widget_parent_get(parent)) &&
|
||||
(!elm_widget_parent2_get(parent)))
|
||||
|
|
Loading…
Reference in New Issue