From: Inhong Han Date: Tue, 28 May 2024 02:03:48 +0000 (+0900) Subject: Fix issue IME does not show when ready_set_cb is called late X-Git-Tag: accepted/tizen/8.0/unified/20240528.160811~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=29cfeb41e92b1d3e29d99f51c703ce4235ea19ba;p=platform%2Fcore%2Fuifw%2Fe-mod-tizen-wl-textinput.git Fix issue IME does not show when ready_set_cb is called late Change-Id: I438d19aca7d23c99225eeb104dc8862ee425cc11 --- diff --git a/src/e_mod_input_panel.c b/src/e_mod_input_panel.c index 5062130..bc8692e 100644 --- a/src/e_mod_input_panel.c +++ b/src/e_mod_input_panel.c @@ -938,7 +938,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 7770237..f05179b 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -2433,6 +2433,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 87f71ce..869262b 100644 --- a/src/e_mod_main.h +++ b/src/e_mod_main.h @@ -32,6 +32,7 @@ Eina_Bool e_text_input_activation_state_get(void); void e_input_panel_pending_position_reset(void); void e_input_panel_floating_position_align_set(int x, int y, int align); void e_input_panel_floating_panel_move_resize(int x, int y, int w, int h); +Eina_Bool e_input_panel_show_request_flag_get(void); typedef enum { TIZEN_PROFILE_UNKNOWN = 0,