fix e widget focus un-setting
This commit is contained in:
parent
bc1b7a75e0
commit
b8257d3c78
|
@ -244,7 +244,7 @@ e_widget_focus_jump(Evas_Object *obj, int forward)
|
||||||
Evas_Object *sobj = NULL;
|
Evas_Object *sobj = NULL;
|
||||||
int focus_next = 0;
|
int focus_next = 0;
|
||||||
|
|
||||||
if (!sd->focused)
|
if ((!sd->disabled) && (!sd->focused))
|
||||||
{
|
{
|
||||||
e_widget_focus_set(obj, forward);
|
e_widget_focus_set(obj, forward);
|
||||||
sd->focused = 1;
|
sd->focused = 1;
|
||||||
|
@ -258,7 +258,7 @@ e_widget_focus_jump(Evas_Object *obj, int forward)
|
||||||
EINA_LIST_FOREACH(sd->subobjs, l, sobj)
|
EINA_LIST_FOREACH(sd->subobjs, l, sobj)
|
||||||
{
|
{
|
||||||
if (!e_widget_can_focus_get(sobj)) continue;
|
if (!e_widget_can_focus_get(sobj)) continue;
|
||||||
if ((focus_next) && (!e_widget_disabled_get(sobj)))
|
if (focus_next)
|
||||||
{
|
{
|
||||||
/* the previous focused item was unfocused - so focus
|
/* the previous focused item was unfocused - so focus
|
||||||
* the next one (that can be focused) */
|
* the next one (that can be focused) */
|
||||||
|
@ -450,7 +450,11 @@ e_widget_disabled_set(Evas_Object *obj, int disabled)
|
||||||
if (!o) break;
|
if (!o) break;
|
||||||
parent = o;
|
parent = o;
|
||||||
}
|
}
|
||||||
e_widget_focus_jump(parent, 1);
|
if (!e_widget_focus_jump(parent, 1))
|
||||||
|
{
|
||||||
|
sd->focused = 0;
|
||||||
|
if (sd->focus_func) sd->focus_func(obj);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (sd->disable_func) sd->disable_func(obj);
|
if (sd->disable_func) sd->disable_func(obj);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue