static void
input_thread_start(void *data, Ecore_Thread *th)
{
- E_Input_Device *dev;
E_Input_Backend *input;
GMainContext *context = NULL;
InputEventSource *input_event_source = NULL;
TSM("[WM] Skip sending start-up completion. (no systemd)");
#endif
- /* enable this input */
- if (!e_input_backend_enable_input(input))
- {
- ERR("Failed to enable input");
- return;
- }
-
- /* append this input */
- dev = input->dev;
- dev->inputs = eina_list_append(dev->inputs, input);
-
//create a context
context = g_main_context_new();
g_main_context_push_thread_default(context);
if (input->hdlr)
ecore_main_fd_handler_del(input->hdlr);
+ if (e_input_thread_mode_get())
+ {
+ if (input->input_thread_loop)
+ g_main_loop_quit(input->input_thread_loop);
+
+ if (input->input_thread)
+ ecore_thread_wait(input->input_thread, 1.0);
+ }
+
if (input->libinput)
libinput_unref(input->libinput);