e_config: Add input thread data cloning mode 79/317679/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Fri, 13 Sep 2024 04:19:38 +0000 (13:19 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Fri, 13 Sep 2024 04:28:39 +0000 (13:28 +0900)
Change-Id: If5a581de7d102d14080a5d2f4e2255c07b2101fa
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/bin/core/e_config.c
src/bin/inputmgr/e_input_thread_client.c
src/include/e_config.h

index 048656e7b3b147c7dcfe5478e344220f7791f2c4..14b3a9e6b1060cbb0262314e6ecc62c426023d07 100644 (file)
@@ -315,6 +315,7 @@ _e_config_edd_init(Eina_Bool old)
    E_CONFIG_VAL(D, T, input_thread_mode, UCHAR);
    E_CONFIG_VAL(D, T, key_input_time_limit, UINT);
    E_CONFIG_VAL(D, T, key_input_ttrace_enable, UCHAR);
+   E_CONFIG_VAL(D, T, input_thread_data_clone, UCHAR);
 }
 
 static Eina_Bool
@@ -577,6 +578,7 @@ e_config_load(void)
    E_CONFIG_LIMIT(e_config->input_thread_mode, 0, 1);
    E_CONFIG_LIMIT(e_config->key_input_time_limit, 0, 500);
    E_CONFIG_LIMIT(e_config->key_input_ttrace_enable, 0, 1);
+   E_CONFIG_LIMIT(e_config->input_thread_data_clone, 0, 1);
 }
 
 EINTERN int
index d5f4a9f69fe4c58f5f1b5d48b8e17514c8ffb8dc..50413620697c0ce37ad9c2bcfd49d3744a51e11e 100644 (file)
@@ -387,7 +387,10 @@ EINTERN Eina_Inlist * e_input_thread_client_Inlist_get(E_Client *ec)
 
 EINTERN Eina_Bool e_input_thread_check_client_cloning_needed()
 {
-   return EINA_TRUE;
+   if (e_config)
+     return e_config->input_thread_data_clone;
+   else
+     return EINA_TRUE;
 }
 
 E_API E_Input_Thread_Client *e_input_thread_client_above_get(E_Input_Thread_Client *iec)
@@ -681,4 +684,4 @@ e_input_thread_client_pointer_enter_sent_get(E_Input_Thread_Client *iec)
    EINA_SAFETY_ON_NULL_RETURN_VAL(iec, EINA_FALSE);
 
    return iec->pointer_enter_sent;
-}
\ No newline at end of file
+}
index d6e5cb061cc39f0768785a91b00624bf476b0488..1090edd7a01ff276b2af69f9188c2c8e650d20ff 100644 (file)
@@ -311,6 +311,7 @@ struct _E_Config
    Eina_Bool input_thread_mode; // 0: process key input event in main thread, 1: process key input event in input thread
    unsigned int key_input_time_limit;
    Eina_Bool key_input_ttrace_enable; // 0: disable the performance measurement of key inputs , 1: enable the performance measurement of key inputs
+   Eina_Bool input_thread_data_clone; // 0: disable to clone data into input thread, 1: enable to clone data into input thread
 };
 
 struct _E_Config_Desklock_Background