e_input_backend: add e_input_backend_destroy 89/314289/3
authorSooChan Lim <sc1.lim@samsung.com>
Tue, 9 Jul 2024 02:58:12 +0000 (11:58 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Wed, 10 Jul 2024 04:30:16 +0000 (04:30 +0000)
and use it

Change-Id: Id3b357bd38b8057b7fb087cac527d6241ab10910

src/bin/inputmgr/e_input_backend.c
src/bin/inputmgr/e_input_backend_intern.h
src/bin/inputmgr/e_input_device.c

index 7d71079ad5c5273d5ee34ce7b27d79fe0c5c4a45..c47b367d6ea5d153820b541b0afa165fa48f4be9 100644 (file)
@@ -1743,6 +1743,20 @@ err:
    return NULL;
 }
 
+EINTERN void
+e_input_backend_destroy(E_Input_Backend *input)
+{
+   if (!input) return;
+
+   if (input->hdlr)
+     ecore_main_fd_handler_del(input->hdlr);
+
+   if (input->libinput)
+     libinput_unref(input->libinput);
+
+   E_FREE(input);
+}
+
 EINTERN Eina_Bool
 e_input_backend_libinput_context_create(E_Input_Backend *input)
 {
index a5965a48d5b0c81a1bf72388b1370b343b866f95..4159b78e33270706ae26c65cfaf90dee7de76a46 100644 (file)
@@ -47,6 +47,8 @@ EINTERN void      e_input_backend_key_event_list_add(Ecore_Event_Key *key);
 
 EINTERN E_Input_Backend *e_input_backend_create_libinput_udev(void);
 EINTERN E_Input_Backend *e_input_backend_create_libinput_path(int ndevices);
+EINTERN void             e_input_backend_destroy(E_Input_Backend *input);
+
 EINTERN Eina_Bool        e_input_backend_libinput_context_create(E_Input_Backend *input);
 EINTERN void             e_input_backend_log_level_set(E_Input_Backend *input, unsigned int level);
 
index 21346c3673b5588177895e7caad1ee036ee14ecc..64809b7c35b999863788359641e42ddcac1918c6 100644 (file)
@@ -130,11 +130,7 @@ e_input_device_destroy(E_Input_Device *dev)
 
    EINA_LIST_FREE(dev->inputs, input)
      {
-        if (input->hdlr)
-          ecore_main_fd_handler_del(input->hdlr);
-        if (input->libinput)
-          libinput_unref(input->libinput);
-        free(input);
+        e_input_backend_destroy(input);
      }
 
    eina_stringshare_del(dev->seat);