From 50ed70ff8deb8408be76da713a68f066b51de083 Mon Sep 17 00:00:00 2001 From: Inhong Han Date: Tue, 28 May 2024 11:27:07 +0900 Subject: [PATCH] Fix issue IME does not show when ready_set_cb is called late Change-Id: If71693121b75ccafa5419e82b5c6ce2d23882682 --- src/e_mod_input_panel.c | 2 +- src/e_mod_main.c | 9 +++++++++ src/e_mod_main.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/e_mod_input_panel.c b/src/e_mod_input_panel.c index 82dc505..119addb 100644 --- a/src/e_mod_input_panel.c +++ b/src/e_mod_input_panel.c @@ -811,7 +811,7 @@ _e_input_panel_client_cb_visibility_change(void *data, int type, void *event) if (ips->resizing) goto end; - if (ec->visibility.obscured == E_VISIBILITY_FULLY_OBSCURED) + if (ec->visibility.obscured == E_VISIBILITY_FULLY_OBSCURED && !e_input_panel_show_request_flag_get()) e_input_panel_visibility_change(EINA_FALSE); end: diff --git a/src/e_mod_main.c b/src/e_mod_main.c index 8fd02c8..2684705 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -2259,6 +2259,15 @@ e_text_input_activation_state_get() return g_text_input ? EINA_TRUE : EINA_FALSE; } +Eina_Bool +e_input_panel_show_request_flag_get() +{ + if (!g_text_input) + return EINA_FALSE; + + return g_text_input->input_panel_show_requested; +} + E_API void * e_modapi_init(E_Module *m) { diff --git a/src/e_mod_main.h b/src/e_mod_main.h index 2bc59c3..e038fe8 100644 --- a/src/e_mod_main.h +++ b/src/e_mod_main.h @@ -29,6 +29,7 @@ void e_input_panel_floating_panel_set(Eina_Bool state); void e_input_panel_floating_drag_enabled(Eina_Bool enabled); Eina_Bool e_input_panel_floating_mode_get(void); Eina_Bool e_text_input_activation_state_get(void); +Eina_Bool e_input_panel_show_request_flag_get(void); typedef enum { TIZEN_PROFILE_UNKNOWN = 0, -- 2.34.1