Set using_ic in _event_callback_call
authorLi Zhang <li2012.zhang@samsung.com>
Fri, 30 Nov 2012 08:40:40 +0000 (16:40 +0800)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 4 Dec 2012 07:06:41 +0000 (16:06 +0900)
Change-Id: I99887208dc74a293c79c61d58582140681dd3230

configure.ac
debian/changelog
ism/extras/efl_immodule/isf_imf_control_ui.cpp
packaging/isf.spec
releasenote.txt

index e65be59..c6d06c7 100755 (executable)
@@ -1,6 +1,6 @@
 # Process this file with autoconf to produce a configure script
 #AC_INIT(scim, 1.4.7, suzhe@tsinghua.org.cn)
-AC_INIT(isf, 2.3.5929, isf@samsung.com)
+AC_INIT(isf, 2.3.5930, isf@samsung.com)
 AC_CONFIG_SRCDIR([ism/src/scim.h])
 m4_pattern_allow([^AS_])
 
index ce62119..f48015c 100755 (executable)
@@ -1,3 +1,11 @@
+isf (2.3.5930-1slp2+1) unstable; urgency=low
+
+  * [immodule] Set using_ic in _event_callback_call
+  * Git: framework/uifw/isf
+  * Tag: isf_2.3.5930-1slp2+1
+
+ -- Li Zhang <li2012.zhang@samsung.com>  Fri, 30 Nov 2012 16:49:00 +0900
+
 isf (2.3.5929-1slp2+1) unstable; urgency=low
 
   * Add set_imdata () for keyboard ISE
index 1f2279f..7abf33f 100644 (file)
@@ -127,13 +127,18 @@ static void _event_callback_call (Ecore_IMF_Input_Panel_Event type, int value)
     void *list_data = NULL;
     EventCallbackNode *fn = NULL;
     Eina_List *l = NULL;
-    Ecore_IMF_Context *using_ic = get_focused_ic() == NULL?show_req_ic:get_focused_ic()->ctx;
+    Ecore_IMF_Context *using_ic = NULL;
+
+    if (show_req_ic)
+        using_ic = show_req_ic;
+    else
+        using_ic = get_focused_ic()->ctx;
 
     if (type == ECORE_IMF_INPUT_PANEL_STATE_EVENT &&
         value == ECORE_IMF_INPUT_PANEL_STATE_HIDE) {
         if (hide_req_ic) {
             using_ic = hide_req_ic;
-            hide_req_ic = NULL;
+            //hide_req_ic = NULL;
         }
     }
 
@@ -142,11 +147,13 @@ static void _event_callback_call (Ecore_IMF_Input_Panel_Event type, int value)
 
         if ((fn) && (fn->imf_context == using_ic) &&
             (fn->type == type) && (fn->func)) {
+            fn->func (fn->data, fn->imf_context, value);
             if (type == ECORE_IMF_INPUT_PANEL_STATE_EVENT) {
                 switch (value)
                 {
                     case ECORE_IMF_INPUT_PANEL_STATE_HIDE:
                         LOGD ("[input panel has been hidden] ctx : %p\n", fn->imf_context);
+                        hide_req_ic = NULL;
                         break;
                     case ECORE_IMF_INPUT_PANEL_STATE_SHOW:
                         LOGD ("[input panel has been shown] ctx : %p\n", fn->imf_context);
@@ -156,7 +163,6 @@ static void _event_callback_call (Ecore_IMF_Input_Panel_Event type, int value)
                         break;
                 }
             }
-            fn->func (fn->data, fn->imf_context, value);
         }
 
         IMFCONTROLUIDBG("\tFunc : %p\tType : %d\n", fn->func, fn->type);
index d339fc9..f628236 100755 (executable)
@@ -4,7 +4,7 @@
 
 Name:       isf
 Summary:    Input Service Framework
-Version:    2.3.5929
+Version:    2.3.5930
 Release:    1
 Group:      TO_BE/FILLED_IN
 License:    LGPL
index ad7831d..44547cc 100755 (executable)
@@ -1,3 +1,7 @@
+ISF 2.3.5930 :
+  1. [immodule] Set using_ic in _event_callback_call
+
+
 ISF 2.3.5929 :
   1. Add set_imdata () for keyboard ISE
   2. Add update_displayed_candidate_number, candidate_more_window_show, candidate_more_window_hide for keyboard ISE