summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2019-06-20 12:54:02 +0200
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2019-06-20 17:14:56 +0200
commit8127f29c466e2e028b2067d438b77e119e410b41 (patch)
treef97c404b99ea1676fe92a1589cfc86f00e9ac3cb
parentf7bab94928e13b41910cb90c0cfd6437d4add093 (diff)
evas: emit the corrent event here,
it seems we have done here something wrong, EFL_EVENT_FOCUS_IN is meant to be emitted on objects that RECEIVE focus. This function here however is called each time the window gets focus, which then might lead to a object getting focus. However, those are two different things. Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D9137
-rw-r--r--src/lib/evas/canvas/evas_main.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c
index 27f6a4af4f..20c93874b6 100644
--- a/src/lib/evas/canvas/evas_main.c
+++ b/src/lib/evas/canvas/evas_main.c
@@ -854,21 +854,12 @@ _evas_canvas_data_attach_get(const Eo *eo_e EINA_UNUSED, Evas_Public_Data *e)
854} 854}
855 855
856static void 856static void
857_evas_canvas_focus_inout_dispatch(Eo *eo_e, Evas_Device *seat, 857_evas_canvas_focus_inout_dispatch(Eo *eo_e, Evas_Device *seat EINA_UNUSED,
858 Eina_Bool in) 858 Eina_Bool in)
859{ 859{
860 Efl_Input_Focus_Data *ev_data;
861 Efl_Input_Focus *evt;
862
863 evt = efl_input_focus_instance_get(eo_e, (void **) &ev_data);
864 if (!evt) return;
865
866 ev_data->device = efl_ref(seat);
867 ev_data->timestamp = time(NULL);
868 efl_event_callback_call(eo_e, 860 efl_event_callback_call(eo_e,
869 in ? EFL_EVENT_FOCUS_IN : EFL_EVENT_FOCUS_OUT, 861 in ? EFL_CANVAS_SCENE_EVENT_SCENE_FOCUS_IN : EFL_CANVAS_SCENE_EVENT_SCENE_FOCUS_OUT,
870 evt); 862 NULL);
871 efl_unref(evt);
872} 863}
873 864
874EOLIAN static void 865EOLIAN static void