ecore_wl: replace last_device_name_kbd only when device has a keyboard class 23/76023/1
authorDuna Oh <duna.oh@samsung.com>
Wed, 22 Jun 2016 10:55:16 +0000 (19:55 +0900)
committerDuna Oh <duna.oh@samsung.com>
Wed, 22 Jun 2016 10:55:16 +0000 (19:55 +0900)
Change-Id: I759b3a0ea45e2a1ed97c04802c9f063349383196
Signed-off-by: Duna Oh <duna.oh@samsung.com>
src/lib/ecore_wayland/ecore_wl_input.c

index 38fd50b..1917b7a 100644 (file)
@@ -1113,13 +1113,10 @@ _ecore_wl_input_cb_keyboard_key(void *data, struct wl_keyboard *keyboard, unsign
    e->timestamp = timestamp;
    e->modifiers = input->modifiers;
    e->keycode = code;
-   if (keyboard == NULL) // called by keyboard repeat timer
-     e->dev = _ecore_wl_input_get_ecore_device(input->last_device_name_kbd, ECORE_DEVICE_CLASS_KEYBOARD);
-   else
-     {
-        eina_stringshare_replace(&input->last_device_name_kbd, input->last_device_name);
-        e->dev = _ecore_wl_input_get_ecore_device(input->last_device_name_kbd, ECORE_DEVICE_CLASS_KEYBOARD);
-     }
+   if (keyboard && (input->last_device_class == ECORE_DEVICE_CLASS_KEYBOARD))
+     eina_stringshare_replace(&input->last_device_name_kbd, input->last_device_name);
+
+   e->dev = _ecore_wl_input_get_ecore_device(input->last_device_name_kbd, ECORE_DEVICE_CLASS_KEYBOARD);
 
    if (state)
      ecore_event_add(ECORE_EVENT_KEY_DOWN, e, NULL, NULL);