From b9679ba4253f967fd33ae4a627b4a32fc5cbf746 Mon Sep 17 00:00:00 2001 From: Ji-hoon Lee Date: Tue, 24 Sep 2013 23:58:00 +0900 Subject: [PATCH] Added state checking code before transition to WILL_* state Change-Id: Id6d28dec0a5cf16ca1440da1d7b0b059fa210fc3 --- ism/extras/efl_panel/isf_panel_efl.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ism/extras/efl_panel/isf_panel_efl.cpp b/ism/extras/efl_panel/isf_panel_efl.cpp index d2ac1a1..72b9e56 100644 --- a/ism/extras/efl_panel/isf_panel_efl.cpp +++ b/ism/extras/efl_panel/isf_panel_efl.cpp @@ -3759,15 +3759,22 @@ static void slot_show_ise (void) } efl_set_transient_for_app_window (_ise_window); - _ise_state = WINDOW_STATE_WILL_SHOW; + + /* If our ISE was already in SHOW state, skip state transition to WILL_SHOW */ + if (_ise_state != WINDOW_STATE_SHOW) { + _ise_state = WINDOW_STATE_WILL_SHOW; + } } static void slot_hide_ise (void) { SCIM_DEBUG_MAIN (3) << __FUNCTION__ << "...\n"; - // From this point, slot_get_input_panel_geometry should return hidden state geometry - _ise_state = WINDOW_STATE_WILL_HIDE; + /* Only if we are not already in HIDE state */ + if (_ise_state != WINDOW_STATE_HIDE) { + /* From this point, slot_get_input_panel_geometry should return hidden state geometry */ + _ise_state = WINDOW_STATE_WILL_HIDE; + } _window_angle = -1; } -- 2.7.4