summaryrefslogtreecommitdiff
path: root/ism
diff options
context:
space:
mode:
authorSungmin Kwak <sungmin.kwak@samsung.com>2019-06-28 08:47:11 +0900
committerSungmin Kwak <sungmin.kwak@samsung.com>2019-06-28 08:47:11 +0900
commitf723923406310938346c6d486acced06b084cb6d (patch)
tree900aff99d918ea00f65a4a43ef33499f02c7d97f /ism
parent2b3501e2ef98b30c37f782eab5f3f89b4c4590d5 (diff)
downloadisf-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.h4
-rw-r--r--ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp6
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);
}