ecore-evas: call application-set focus functions if no engine functions exist

in the case where an engine has no real concept of focus (eg. drm), no engine
functions will be implemented, resulting in calls to focus_set having no effect.
this leads to elm/applications being unable to receive the callbacks they expect
when calls to the overall api are made, resulting in focus being broken

probably this should also be done for the rest of the api functions too

@fix
This commit is contained in:
Mike Blumenkrantz 2016-05-11 13:29:51 -04:00
parent 27495fe670
commit 723d4ca8c9
1 changed files with 11 additions and 0 deletions

View File

@ -1838,6 +1838,17 @@ ecore_evas_focus_set(Ecore_Evas *ee, Eina_Bool on)
}
IFC(ee, fn_focus_set) (ee, on);
IFE;
if (on)
{
evas_focus_in(ee->evas);
if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee);
}
else
{
evas_focus_out(ee->evas);
if (ee->func.fn_focus_out) ee->func.fn_focus_out(ee);
}
ee->prop.focused = !!on;
}
EAPI Eina_Bool