summaryrefslogtreecommitdiff
path: root/src/lib/ecore_imf
diff options
context:
space:
mode:
authorJihoon Kim <jihoon48.kim@samsung.com>2014-01-23 11:19:54 +0900
committerJihoon Kim <jihoon48.kim@samsung.com>2014-01-23 11:19:54 +0900
commit4fb04c3cd0f4c8f678666d8b92368d66798aed5d (patch)
treec2a063dc1e774822dc9015e33f13d161568ec660 /src/lib/ecore_imf
parent7b30c414432019a602c6c0ea4c76e4ad14ad19d7 (diff)
ecore_imf: fix to call function of immodule when the input method property is changed
Diffstat (limited to 'src/lib/ecore_imf')
-rw-r--r--src/lib/ecore_imf/ecore_imf_context.c43
1 files changed, 31 insertions, 12 deletions
diff --git a/src/lib/ecore_imf/ecore_imf_context.c b/src/lib/ecore_imf/ecore_imf_context.c
index 7b554e6b53..3dbe5274e5 100644
--- a/src/lib/ecore_imf/ecore_imf_context.c
+++ b/src/lib/ecore_imf/ecore_imf_context.c
@@ -858,10 +858,13 @@ ecore_imf_context_input_panel_layout_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input
858 return; 858 return;
859 } 859 }
860 860
861 if (ctx->klass->input_panel_layout_set) 861 if (ctx->input_panel_layout != layout)
862 ctx->klass->input_panel_layout_set(ctx, layout); 862 {
863 if (ctx->klass->input_panel_layout_set)
864 ctx->klass->input_panel_layout_set(ctx, layout);
863 865
864 ctx->input_panel_layout = layout; 866 ctx->input_panel_layout = layout;
867 }
865} 868}
866 869
867EAPI Ecore_IMF_Input_Panel_Layout 870EAPI Ecore_IMF_Input_Panel_Layout
@@ -916,8 +919,13 @@ ecore_imf_context_input_panel_language_set(Ecore_IMF_Context *ctx, Ecore_IMF_Inp
916 return; 919 return;
917 } 920 }
918 921
919 if (ctx->klass->input_panel_language_set) ctx->klass->input_panel_language_set(ctx, lang); 922 if (ctx->input_panel_lang != lang)
920 ctx->input_panel_lang = lang; 923 {
924 if (ctx->klass->input_panel_language_set)
925 ctx->klass->input_panel_language_set(ctx, lang);
926
927 ctx->input_panel_lang = lang;
928 }
921} 929}
922 930
923EAPI Ecore_IMF_Input_Panel_Lang 931EAPI Ecore_IMF_Input_Panel_Lang
@@ -1002,8 +1010,12 @@ ecore_imf_context_input_panel_return_key_type_set(Ecore_IMF_Context *ctx, Ecore_
1002 return; 1010 return;
1003 } 1011 }
1004 1012
1005 ctx->input_panel_return_key_type = return_key_type; 1013 if (ctx->input_panel_return_key_type != return_key_type)
1006 if (ctx->klass->input_panel_return_key_type_set) ctx->klass->input_panel_return_key_type_set(ctx, return_key_type); 1014 {
1015 ctx->input_panel_return_key_type = return_key_type;
1016 if (ctx->klass->input_panel_return_key_type_set)
1017 ctx->klass->input_panel_return_key_type_set(ctx, return_key_type);
1018 }
1007} 1019}
1008 1020
1009EAPI Ecore_IMF_Input_Panel_Return_Key_Type 1021EAPI Ecore_IMF_Input_Panel_Return_Key_Type
@@ -1029,8 +1041,12 @@ ecore_imf_context_input_panel_return_key_disabled_set(Ecore_IMF_Context *ctx, Ei
1029 return; 1041 return;
1030 } 1042 }
1031 1043
1032 ctx->input_panel_return_key_disabled = disabled; 1044 if (ctx->input_panel_return_key_disabled != disabled)
1033 if (ctx->klass->input_panel_return_key_disabled_set) ctx->klass->input_panel_return_key_disabled_set(ctx, disabled); 1045 {
1046 ctx->input_panel_return_key_disabled = disabled;
1047 if (ctx->klass->input_panel_return_key_disabled_set)
1048 ctx->klass->input_panel_return_key_disabled_set(ctx, disabled);
1049 }
1034} 1050}
1035 1051
1036EAPI Eina_Bool 1052EAPI Eina_Bool
@@ -1056,10 +1072,13 @@ ecore_imf_context_input_panel_caps_lock_mode_set(Ecore_IMF_Context *ctx, Eina_Bo
1056 return; 1072 return;
1057 } 1073 }
1058 1074
1059 if (ctx->klass->input_panel_caps_lock_mode_set) 1075 if (ctx->input_panel_caps_lock_mode != mode)
1060 ctx->klass->input_panel_caps_lock_mode_set(ctx, mode); 1076 {
1077 if (ctx->klass->input_panel_caps_lock_mode_set)
1078 ctx->klass->input_panel_caps_lock_mode_set(ctx, mode);
1061 1079
1062 ctx->input_panel_caps_lock_mode = mode; 1080 ctx->input_panel_caps_lock_mode = mode;
1081 }
1063} 1082}
1064 1083
1065EAPI Eina_Bool 1084EAPI Eina_Bool