From 6087c90964b4c678db60432671c327f8e3dd8bc3 Mon Sep 17 00:00:00 2001 From: MyungJoo Ham Date: Thu, 5 Jan 2017 20:44:23 +0900 Subject: [PATCH] Improve Portability: Support 64bit Systems You cannot directly cast from 64b pointer to 32b int or 32b int to 64b pointer. Change-Id: I6fa7eb50c5760b599071eded65f328d5a89022f0 Signed-off-by: MyungJoo Ham --- src/w-input-emoticon.cpp | 31 ++++++++++++++++--------------- src/w-input-stt-tos.cpp | 3 ++- src/w-input-stt-voice.cpp | 13 +++++++------ 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/src/w-input-emoticon.cpp b/src/w-input-emoticon.cpp index f0c64f2..42bd53b 100755 --- a/src/w-input-emoticon.cpp +++ b/src/w-input-emoticon.cpp @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -363,7 +364,7 @@ void set_recent_emoticons(vector &emoticon_list, int val) static void _emoticon_item_clicked_cb(void *data, Evas_Object * obj, void *event_info) { - int index = (int)data; + int index = (uintptr_t)data; PRINTFUNC(DLOG_DEBUG, "index = %d", index); @@ -402,7 +403,7 @@ Evas_Object* get_emoticon_button(Evas_Object* parent, int index){ evas_object_layer_set(btn, 32000); - evas_object_smart_callback_add(btn, "clicked", _emoticon_item_clicked_cb, (void *)index); + evas_object_smart_callback_add(btn, "clicked", _emoticon_item_clicked_cb, (void *)(uintptr_t)index); return btn; } @@ -421,13 +422,13 @@ Evas_Object* get_recent_emoticon_button(Evas_Object* parent, int index){ char* utf_8 = eina_unicode_unicode_to_utf8(unicode_event, &length); elm_object_part_text_set(btn, "elm.text", utf_8); - evas_object_data_set(btn, "index", (void*) recent_emoji_list.at(index)); + evas_object_data_set(btn, "index", (void*)(uintptr_t) recent_emoji_list.at(index)); if (utf_8) free(utf_8); evas_object_layer_set(btn, 32000); - evas_object_smart_callback_add(btn, "clicked", _emoticon_item_clicked_cb, (void*) recent_emoji_list.at(index)); + evas_object_smart_callback_add(btn, "clicked", _emoticon_item_clicked_cb, (void*)(uintptr_t) recent_emoji_list.at(index)); return btn; } @@ -460,7 +461,7 @@ static void _emoticon_gl_content_unswallowed_cb(void *data, Evas_Object *obj, vo // PRINTFUNC(DLOG_DEBUG,"%s - stype[%s]", __func__, itc->item_style); if (!strcmp(itc->item_style, "3button_flat")) { - int index = (int)elm_object_item_data_get(it); + int index = (uintptr_t)elm_object_item_data_get(it); //PRINTFUNC(DLOG_DEBUG,"it = %p", it); PRINTFUNC(DLOG_DEBUG, "index = %d %d %d", index, index+1, index+2); @@ -474,7 +475,7 @@ static void _emoticon_gl_content_unswallowed_cb(void *data, Evas_Object *obj, vo emoticon_contents_pool[index+2].used = 0; } } else if (!strcmp(itc->item_style, "3button_flat_recent")) { - unsigned int index = (int)elm_object_item_data_get(it); + unsigned int index = (uintptr_t)elm_object_item_data_get(it); //PRINTFUNC(DLOG_DEBUG,"index = %d",index); if (index < recent_emoji_list.size()) { @@ -492,7 +493,7 @@ static void _emoticon_gl_content_unswallowed_cb(void *data, Evas_Object *obj, vo static Evas_Object * __emoticon_gl_recent_content_get(void *data, Evas_Object *obj, const char *part) { if (is_content_reuse_on) { - unsigned int index = (unsigned int)data; + unsigned int index = (uintptr_t)data; int new_index = 0; //PRINTFUNC(DLOG_DEBUG,"%s %d", part, index); @@ -518,7 +519,7 @@ static Evas_Object * __emoticon_gl_recent_content_get(void *data, Evas_Object *o return btn; } } else { - unsigned int index = (unsigned int)data; + unsigned int index = (uintptr_t)data; int new_index = 0; // PRINTFUNC(DLOG_DEBUG,"%s %d", part, index); @@ -548,7 +549,7 @@ static Evas_Object * __emoticon_gl_emoticon_content_get(void *data, Evas_Object //PRINTFUNC(DLOG_DEBUG,"%s", __func__); if (is_content_reuse_on) { - int index = (int)data; + int index = (uintptr_t)data; int new_index = 0; if (!strcmp(part, "elm.icon.1") || (!strcmp(part, "elm.icon.2")) || (!strcmp(part, "elm.icon.3"))) { @@ -575,7 +576,7 @@ static Evas_Object * __emoticon_gl_emoticon_content_get(void *data, Evas_Object const Eina_Unicode unicode_event[2] = { (Eina_Unicode)emoticon_info[new_index].code, 0 }; char* utf_8 = eina_unicode_unicode_to_utf8(unicode_event, &length); elm_object_part_text_set(btn, "elm.text", utf_8); - evas_object_data_set(btn, "index", (void*)new_index); + evas_object_data_set(btn, "index", (void*)(uintptr_t)new_index); if (utf_8) free(utf_8); @@ -588,7 +589,7 @@ static Evas_Object * __emoticon_gl_emoticon_content_get(void *data, Evas_Object return btn; } } else { - int index = (int)data; + int index = (uintptr_t)data; int new_index = 0; if (!strcmp(part, "elm.icon.1") || (!strcmp(part, "elm.icon.2")) || (!strcmp(part, "elm.icon.3"))) { @@ -722,7 +723,7 @@ static Eina_Bool _lazy_loader_cb_for_items(void *data) int i; for (i = loading_done_for_item; i < loading_top; i++ ) { if (i%3 == 0) - elm_genlist_item_append(gl, itc_emoticon, (void*)i, NULL, ELM_GENLIST_ITEM_NONE, NULL, (void *)i); + elm_genlist_item_append(gl, itc_emoticon, (void*)(uintptr_t)i, NULL, ELM_GENLIST_ITEM_NONE, NULL, (void *)(uintptr_t)i); } loading_done_for_item = loading_top; @@ -739,7 +740,7 @@ void _create_reusable_contents(Evas_Object *gl){ for (i = 0; i < INITAL_ITEM_UNIT; i++ ) { if (i%3 == 0) - elm_genlist_item_append(gl, itc_emoticon, (void*)i, NULL, ELM_GENLIST_ITEM_NONE, NULL, (void *)i); + elm_genlist_item_append(gl, itc_emoticon, (void*)(uintptr_t)i, NULL, ELM_GENLIST_ITEM_NONE, NULL, (void *)(uintptr_t)i); } lazy_loading_timer_for_items = ecore_timer_add(0.1, _lazy_loader_cb_for_items, (void *)gl); @@ -842,7 +843,7 @@ void _update_emoticon_items(void *data) for (i=0;i < recent_emoji_list.size();i=i+3) { - it = elm_genlist_item_append(gl, itc_recent, (void*)i, NULL, ELM_GENLIST_ITEM_NONE, NULL, (void *)i); + it = elm_genlist_item_append(gl, itc_recent, (void*)(uintptr_t)i, NULL, ELM_GENLIST_ITEM_NONE, NULL, (void *)(uintptr_t)i); } } @@ -857,7 +858,7 @@ void _update_emoticon_items(void *data) } else { // Emoticons for (i=0;i< EMOTICON_CNT;i=i+3) { - it = elm_genlist_item_append(gl, itc_emoticon, (void*)i, NULL, ELM_GENLIST_ITEM_NONE, NULL, (void *)i); + it = elm_genlist_item_append(gl, itc_emoticon, (void*)(uintptr_t)i, NULL, ELM_GENLIST_ITEM_NONE, NULL, (void *)(uintptr_t)i); it_last = it; } elm_genlist_item_class_free(itc_emoticon); diff --git a/src/w-input-stt-tos.cpp b/src/w-input-stt-tos.cpp index 2084348..8f0a283 100755 --- a/src/w-input-stt-tos.cpp +++ b/src/w-input-stt-tos.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include @@ -375,7 +376,7 @@ static void _language_changed_cb(void *_data, Evas_Object *_obj, void *_event_in if (!_obj) return ; if (!_data) return ; - int index = (int)_data; + int index = (uintptr_t)_data; std::string terms = ""; char body_str[40000]; diff --git a/src/w-input-stt-voice.cpp b/src/w-input-stt-voice.cpp index 56514f7..7305ddb 100755 --- a/src/w-input-stt-voice.cpp +++ b/src/w-input-stt-voice.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include "Debug.h" #include "w-input-selector.h" @@ -40,7 +41,7 @@ using namespace std; #define GRP_PORTRAIT "mic_control" #define item_append(obj, style, index, cb, udata) \ - elm_genlist_item_append(obj, &(style), (void *)index, NULL, ELM_GENLIST_ITEM_NONE, cb, udata) + elm_genlist_item_append(obj, &(style), (void *)(uintptr_t)index, NULL, ELM_GENLIST_ITEM_NONE, cb, udata) #define VIRTUAL_TEXT_AREA_FONT_STYLE \ "DEFAULT='font=Tizen:style=Regular font_size=32 color=#FFFFFF color_class=AT013 text_class=tizen wrap=mixed align=center' \ @@ -906,11 +907,11 @@ char *__get_genlist_item_label(void *data, Evas_Object *obj, const char *part) if(!strcmp(part, "elm.text")) { - if((int)data == 0) { + if((uintptr_t)data == 0) { return strdup(_("IDS_VC_BODY_AUTOMATIC")); } else { char *s = NULL; - s = (char *)disp_lang_array[(int)data]; + s = (char *)disp_lang_array[(uintptr_t)data]; if(s) { char *p = strchr(s, '('); @@ -925,7 +926,7 @@ char *__get_genlist_item_label(void *data, Evas_Object *obj, const char *part) } return strdup(text); } else if (!strcmp(part, "elm.text.1")) { - if ((int)data == 0) { + if ((uintptr_t)data == 0) { char* value = NULL; value = vconf_get_str(VCONFKEY_LANGSET); if (NULL == value) { @@ -945,7 +946,7 @@ char *__get_genlist_item_label(void *data, Evas_Object *obj, const char *part) } else { char *s = NULL; - s = (char *)disp_lang_array[(int)data]; + s = (char *)disp_lang_array[(uintptr_t)data]; if(s) { char *p = strchr(s, '('); @@ -1103,7 +1104,7 @@ static void language_set_genlist_radio_cb(void *data, Evas_Object *obj, void *ev Elm_Object_Item * item = (Elm_Object_Item *) event_info; if (item) { elm_genlist_item_selected_set(item, 0); - index = (int)elm_object_item_data_get(item); + index = (uintptr_t)elm_object_item_data_get(item); elm_genlist_item_update(item); } set_language_value(index); -- 2.7.4