From 03da599655c3fc46284ee16dc8d1cc42c6c58696 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 11 May 2016 13:29:51 -0400 Subject: [PATCH] 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 Change-Id: Ie3dfa6518d9b7375a65a9ff1c963715ecaff47ab Signed-off-by: Mykyta Biliavskyi --- src/lib/ecore_evas/ecore_evas.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c index 237bc57..05b2d8f 100755 --- a/src/lib/ecore_evas/ecore_evas.c +++ b/src/lib/ecore_evas/ecore_evas.c @@ -1876,6 +1876,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 -- 2.7.4