e_devicemgr: modify the order of DEVICE_DEL event handler 41/280341/1
authorduna.oh <duna.oh@samsung.com>
Fri, 26 Aug 2022 06:41:41 +0000 (15:41 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Mon, 29 Aug 2022 01:15:54 +0000 (10:15 +0900)
e_devicemgr and e_comp_screen, both handles the DEVICE_DEL event.
When e_devicemgr's handler is called, it removes the device
from the device list and set last_device_ptr NULL.
Since e_comp_screen is called afterward, the device is already
removed.
This patch reorders the event handler.

Change-Id: I479657db2600a6fd490cc6c7ff386914990baf49

src/bin/e_comp_screen.c
src/bin/e_devicemgr_input.c

index cff04e2..8607475 100644 (file)
@@ -1292,7 +1292,7 @@ e_comp_screen_init()
    tzsr_client_hook_del = e_client_hook_add(E_CLIENT_HOOK_DEL, _tz_screen_rotation_cb_client_del, NULL);
 
    E_LIST_HANDLER_APPEND(event_handlers, ECORE_EVENT_DEVICE_ADD, _e_comp_screen_cb_input_device_add, comp);
-   E_LIST_HANDLER_APPEND(event_handlers, ECORE_EVENT_DEVICE_DEL, _e_comp_screen_cb_input_device_del, comp);
+   E_LIST_HANDLER_PREPEND(event_handlers, ECORE_EVENT_DEVICE_DEL, _e_comp_screen_cb_input_device_del, comp);
 
    E_OUTPUT_HOOK_APPEND(output_hooks, E_OUTPUT_HOOK_CONNECT_STATUS_CHANGE, _e_comp_screen_cb_output_connect_status_change, comp);
    E_OUTPUT_HOOK_APPEND(output_hooks, E_OUTPUT_HOOK_MODE_CHANGE, _e_comp_screen_cb_output_mode_change, comp);
index ccc0c8a..316f243 100644 (file)
@@ -453,7 +453,7 @@ e_devicemgr_input_init(void)
    E_LIST_HANDLER_PREPEND(e_devicemgr->handlers, ECORE_EVENT_MOUSE_BUTTON_UP, _e_devicemgr_input_cb_mouse_button_up, NULL);
    E_LIST_HANDLER_PREPEND(e_devicemgr->handlers, ECORE_EVENT_MOUSE_WHEEL, _e_devicemgr_input_cb_mouse_wheel, NULL);
    E_LIST_HANDLER_PREPEND(e_devicemgr->handlers, ECORE_EVENT_DEVICE_ADD, _e_devicemgr_input_cb_device_add, NULL);
-   E_LIST_HANDLER_PREPEND(e_devicemgr->handlers, ECORE_EVENT_DEVICE_DEL, _e_devicemgr_input_cb_device_del, NULL);
+   E_LIST_HANDLER_APPEND(e_devicemgr->handlers, ECORE_EVENT_DEVICE_DEL, _e_devicemgr_input_cb_device_del, NULL);
    E_LIST_HANDLER_PREPEND(e_devicemgr->handlers, ECORE_EVENT_DEVICE_SUBCLASS_UPDATE, _e_devicemgr_input_cb_device_update, NULL);
 
    if (e_devicemgr->dconfig->conf->input.virtual_key_device_enable)