allocate memory for keyrouter data to key events 95/176395/1
authorJengHyun Kang <jhyuni.kang@samsung.com>
Thu, 19 Apr 2018 04:55:24 +0000 (13:55 +0900)
committerJengHyun Kang <jhyuni.kang@samsung.com>
Thu, 19 Apr 2018 04:55:38 +0000 (13:55 +0900)
Change-Id: I65ee1284900bfbb83ad2d84591f4aa9a532b4960

src/e_mod_gesture_events.c

index 0768404..e622ac9 100644 (file)
@@ -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