diff options
author | Sungmin Kwak <sungmin.kwak@samsung.com> | 2019-06-28 08:47:11 +0900 |
---|---|---|
committer | Sungmin Kwak <sungmin.kwak@samsung.com> | 2019-06-28 08:47:11 +0900 |
commit | f723923406310938346c6d486acced06b084cb6d (patch) | |
tree | 900aff99d918ea00f65a4a43ef33499f02c7d97f /ism | |
parent | 2b3501e2ef98b30c37f782eab5f3f89b4c4590d5 (diff) | |
download | isf-f723923406310938346c6d486acced06b084cb6d.tar.gz isf-f723923406310938346c6d486acced06b084cb6d.tar.bz2 isf-f723923406310938346c6d486acced06b084cb6d.zip |
Move input_panel_shown_once flag into deactivate event
Change-Id: I8cab50f8b57cab7445da89ede9d8639d70a47f41
Diffstat (limited to 'ism')
-rw-r--r-- | ism/modules/panelagent/wayland/isf_wsc_context.h | 4 | ||||
-rw-r--r-- | ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/ism/modules/panelagent/wayland/isf_wsc_context.h b/ism/modules/panelagent/wayland/isf_wsc_context.h index 04df1d31..c6106f9f 100644 --- a/ism/modules/panelagent/wayland/isf_wsc_context.h +++ b/ism/modules/panelagent/wayland/isf_wsc_context.h @@ -113,7 +113,7 @@ struct _WSCContextISF { Eina_Bool language_initialized; Eina_Bool return_key_disabled; - Eina_Bool input_panel_shown; + Eina_Bool input_panel_shown_once; WSCContextISFImpl *impl; @@ -142,7 +142,7 @@ struct _WSCContextISF { autocapital_type_initialized(EINA_FALSE), language_initialized(EINA_FALSE), return_key_disabled(EINA_FALSE), - input_panel_shown(EINA_FALSE), + input_panel_shown_once(EINA_FALSE), impl(NULL), id(0), next(NULL) diff --git a/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp b/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp index a0fc1a17..8e7ccf44 100644 --- a/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp +++ b/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp @@ -874,6 +874,7 @@ _wsc_im_deactivate (void *data, struct wl_input_method *input_method, struct wl_ isf_wsc_context_focus_out (wsc->wsc_ctx); _wl_im_ctx->need_focus_event = EINA_FALSE; } + wsc->wsc_ctx->input_panel_shown_once = EINA_FALSE; if (_launch_ise_on_request) wl_im_destroy (); @@ -886,7 +887,7 @@ _wsc_im_show_input_panel (void *data, struct wl_input_method *input_method, stru if (!wsc || !wsc->wsc_ctx) return; isf_wsc_context_input_panel_show (wsc->wsc_ctx); - wsc->wsc_ctx->input_panel_shown = true; + wsc->wsc_ctx->input_panel_shown_once = EINA_TRUE; if (_TV) remote_surrounding_get (wsc->wsc_ctx); @@ -899,7 +900,6 @@ _wsc_im_hide_input_panel (void *data, struct wl_input_method *input_method, stru if (!wsc || !wsc->wsc_ctx) return; isf_wsc_context_input_panel_hide (wsc->wsc_ctx); - wsc->wsc_ctx->input_panel_shown = false; } static const struct wl_input_method_listener wsc_im_listener = { @@ -1566,7 +1566,7 @@ isf_wsc_context_send_surrounding_text (WSCContextISF* wsc_ctx, const char *text, context_scim->impl->cursor_pos = cursor; if (_TV) { - if (context_scim->input_panel_shown && context_scim->impl->input_resource != INPUT_RESOURCE_REMOTE) { + if (context_scim->input_panel_shown_once && context_scim->impl->input_resource != INPUT_RESOURCE_REMOTE) { if (context_scim->impl->panel_layout == ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD) { g_info_manager->remoteinput_callback_surrounding_text (String (""), 0); } |