From 7c08188e4b1640aa3126bb0512563fd66a80f741 Mon Sep 17 00:00:00 2001 From: JengHyun Kang Date: Thu, 19 Apr 2018 13:55:24 +0900 Subject: [PATCH] allocate memory for keyrouter data to key events Change-Id: I65ee1284900bfbb83ad2d84591f4aa9a532b4960 --- src/e_mod_gesture_events.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/e_mod_gesture_events.c b/src/e_mod_gesture_events.c index 0768404..e622ac9 100644 --- a/src/e_mod_gesture_events.c +++ b/src/e_mod_gesture_events.c @@ -270,11 +270,14 @@ _e_gesture_send_back_key(Eina_Bool pressed) { Ecore_Event_Key *ev; E_Gesture_Conf_Edd *conf = gesture->config->conf; + E_Keyrouter_Event_Data *key_data; EINA_SAFETY_ON_NULL_RETURN(e_comp_wl->xkb.keymap); ev = E_NEW(Ecore_Event_Key, 1); EINA_SAFETY_ON_NULL_RETURN(ev); + key_data = E_NEW(E_Keyrouter_Event_Data, 1); + EINA_SAFETY_ON_NULL_GOTO(key_data, failed); ev->key = (char *)eina_stringshare_add("XF86Back"); ev->keyname = (char *)eina_stringshare_add(ev->key); @@ -284,11 +287,17 @@ _e_gesture_send_back_key(Eina_Bool pressed) ev->keycode = conf->edge_swipe.back_key; ev->dev = ecore_device_ref(gesture->device.kbd_device); ev->window = e_comp->ee_win; + ev->data = key_data; if (pressed) ecore_event_add(ECORE_EVENT_KEY_DOWN, ev, _e_gesture_keyevent_free, NULL); else ecore_event_add(ECORE_EVENT_KEY_UP, ev, _e_gesture_keyevent_free, NULL); + + return; + +failed: + if (ev) E_FREE(ev); } static void -- 2.7.4