device: set/unset last devices when devices are added or removed 92/141392/1
authorJengHyun Kang <jhyuni.kang@samsung.com>
Mon, 31 Jul 2017 08:34:00 +0000 (17:34 +0900)
committerJengHyun Kang <jhyuni.kang@samsung.com>
Mon, 31 Jul 2017 08:34:00 +0000 (17:34 +0900)
Change-Id: I1e115209f8cd05530745a861504f4597ee69aa73

src/e_devicemgr_device.c

index 5b63a9c02aac352dac08b04e92290c9b2eff73b4..e745f212db802fc840ff1facb7d0fd5a02decbd1 100644 (file)
@@ -170,6 +170,12 @@ _e_devicemgr_del_device(const char *name, const char *identifier, const char *se
    if (e_comp_wl->input_device_manager.last_device_ptr == dev)
      e_comp_wl->input_device_manager.last_device_ptr = NULL;
 
+   if (e_comp_wl->input_device_manager.last_device_touch == dev)
+     e_comp_wl->input_device_manager.last_device_touch = NULL;
+
+   if (e_comp_wl->input_device_manager.last_device_kbd == dev)
+     e_comp_wl->input_device_manager.last_device_kbd = NULL;
+
    free(dev);
    TRACE_INPUT_END();
 }
@@ -337,6 +343,14 @@ _e_devicemgr_add_device(const char *name, const char *identifier, const char *se
    if (dev->clas == ECORE_DEVICE_CLASS_MOUSE)
      e_comp_wl->input_device_manager.last_device_ptr = dev;
 
+   if (!e_comp_wl->input_device_manager.last_device_touch &&
+       dev->clas == ECORE_DEVICE_CLASS_TOUCH)
+     e_comp_wl->input_device_manager.last_device_touch = dev;
+
+   if (!e_comp_wl->input_device_manager.last_device_kbd &&
+       dev->clas == ECORE_DEVICE_CLASS_KEYBOARD)
+     e_comp_wl->input_device_manager.last_device_kbd = dev;
+
    TRACE_INPUT_END();
 }