From b9764fa318e1c7984ca999b17102761c51f5674a Mon Sep 17 00:00:00 2001 From: Thiep Ha Date: Sat, 4 May 2013 11:45:16 +0900 Subject: [PATCH] [Magnifier] Fix region issue (convert scale factor from edc) Change-Id: I9709820ddb3eb92c3b43ed0c2ecf83886fcb1bfb --- src/lib/elm_entry.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/lib/elm_entry.c b/src/lib/elm_entry.c index 6d66d82..3d3342f 100644 --- a/src/lib/elm_entry.c +++ b/src/lib/elm_entry.c @@ -373,7 +373,34 @@ _magnifier_create(void *data) key_data = edje_object_data_get(sd->mgf_bg, "height"); if (key_data) sd->mgf_height = atoi(key_data); key_data = edje_object_data_get(sd->mgf_bg, "scale"); - if (key_data) sd->mgf_scale = atof(key_data); + if (key_data) + { + struct lconv *lc; + lc = localeconv(); + if (lc && lc->decimal_point && strcmp(lc->decimal_point, ".")) + { + char local[128]; + strncpy(local, key_data, 128); + local[127] = '\0'; + /* change '.' to local decimal point (ex: ',') */ + int j = 0; + while(local[j] != 0) + { + if (local[j] == '.') + { + local[j] = lc->decimal_point[0]; + break; + } + j++; + } + sd->mgf_scale = atof(local); + } + else + sd->mgf_scale = atof(key_data); + } + else + sd->mgf_scale = 1.0; + key_data = edje_object_data_get(sd->mgf_bg, "arrow"); if (key_data) sd->mgf_arrow_height = atoi(key_data); -- 2.7.4