summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--NEWS1
-rw-r--r--src/modules/conf_intl/e_int_config_imc.c24
3 files changed, 13 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index 6254f41c1..05487d8b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,9 @@
12013-02-18 Mike Blumenkrantz
2
3 * fixed disable of input methods in input method config dialog
4
12013-02-13 Deon Thomas 52013-02-13 Deon Thomas
6
2 * Fixed Menu->Applications now only lists valid .desktop files, if the exec is missing it will not be added to the menu list. 7 * Fixed Menu->Applications now only lists valid .desktop files, if the exec is missing it will not be added to the menu list.
3 8
42013-02-11 Mike Blumenkrantz 92013-02-11 Mike Blumenkrantz
diff --git a/NEWS b/NEWS
index 088932853..9f9514cdf 100644
--- a/NEWS
+++ b/NEWS
@@ -172,3 +172,4 @@ Fixes:
172 * fixed bug where pointer warping to new clients would start at a random location 172 * fixed bug where pointer warping to new clients would start at a random location
173 * fix crash when locking screen from Start gadget and then activating gadget again 173 * fix crash when locking screen from Start gadget and then activating gadget again
174 * fixed bug where e_layout would ignore frozen state and crash 174 * fixed bug where e_layout would ignore frozen state and crash
175 * fixed disable of input methods in input method config dialog
diff --git a/src/modules/conf_intl/e_int_config_imc.c b/src/modules/conf_intl/e_int_config_imc.c
index def3e4582..734cebe1e 100644
--- a/src/modules/conf_intl/e_int_config_imc.c
+++ b/src/modules/conf_intl/e_int_config_imc.c
@@ -109,8 +109,7 @@ e_int_config_imc(E_Container *con, const char *params __UNUSED__)
109static void 109static void
110_fill_data(E_Config_Dialog_Data *cfdata) 110_fill_data(E_Config_Dialog_Data *cfdata)
111{ 111{
112 if (e_config->input_method) 112 cfdata->imc_current = eina_stringshare_ref(e_config->input_method);
113 cfdata->imc_current = eina_stringshare_add(e_config->input_method);
114 113
115 if (cfdata->imc_current) 114 if (cfdata->imc_current)
116 { 115 {
@@ -119,10 +118,8 @@ _fill_data(E_Config_Dialog_Data *cfdata)
119 path = e_intl_imc_system_path_get(); 118 path = e_intl_imc_system_path_get();
120 if (!strncmp(cfdata->imc_current, path, strlen(path))) 119 if (!strncmp(cfdata->imc_current, path, strlen(path)))
121 cfdata->fmdir = 1; 120 cfdata->fmdir = 1;
122 cfdata->imc_disable = 0;
123 } 121 }
124 else 122 cfdata->imc_disable = !cfdata->imc_current;
125 cfdata->imc_disable = 1;
126} 123}
127 124
128static void * 125static void *
@@ -179,19 +176,11 @@ _free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
179static int 176static int
180_basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) 177_basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
181{ 178{
182 if (cfdata->imc_current) 179 eina_stringshare_replace(&e_config->input_method, NULL);
183 { 180 if (!cfdata->imc_disable)
184 if (e_config->input_method) 181 e_config->input_method = eina_stringshare_ref(cfdata->imc_current);
185 {
186 eina_stringshare_del(e_config->input_method);
187 e_config->input_method = NULL;
188 }
189
190 if (!cfdata->imc_disable)
191 e_config->input_method = eina_stringshare_ref(cfdata->imc_current);
192 182
193 e_intl_input_method_set(e_config->input_method); 183 e_intl_input_method_set(e_config->input_method);
194 }
195 184
196 e_config_save_queue(); 185 e_config_save_queue();
197 return 1; 186 return 1;
@@ -307,6 +296,7 @@ _basic_create_widgets(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dia
307 e_widget_on_change_hook_set(ob, _e_imc_list_change_cb, cfdata); 296 e_widget_on_change_hook_set(ob, _e_imc_list_change_cb, cfdata);
308 e_widget_size_min_set(ob, 175, 175); 297 e_widget_size_min_set(ob, 175, 175);
309 cfdata->gui.imc_basic_list = ob; 298 cfdata->gui.imc_basic_list = ob;
299 _e_imc_imc_toggle(cfdata, NULL);
310 300
311 evas_event_freeze(evas_object_evas_get(ob)); 301 evas_event_freeze(evas_object_evas_get(ob));
312 edje_freeze(); 302 edje_freeze();