From: Mike Blumenkrantz Date: Wed, 11 May 2016 17:29:51 +0000 (-0400) Subject: ecore-evas: call application-set focus functions if no engine functions exist X-Git-Tag: accepted/tizen/common/20160908.134636~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=03da599655c3fc46284ee16dc8d1cc42c6c58696;p=platform%2Fupstream%2Fefl.git 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 --- 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