--- /dev/null
+diff -ur xsw-2.5.5.orig/client/keymapwin.cpp xsw-2.5.5/client/keymapwin.cpp
+--- xsw-2.5.5.orig/client/keymapwin.cpp 2006-04-06 10:52:27.000000000 +0900
++++ xsw-2.5.5/client/keymapwin.cpp 2006-12-10 18:57:02.000000000 +0900
+@@ -683,7 +683,7 @@
+ */
+ static void KeymapWinDrawCB(void *widget, void *data)
+ {
+- const int amount = (int)data;
++ const int amount = (int)(size_t)data;
+ xsw_keymap_win_struct *kmw = XSW_KEYMAP_WIN(widget);
+ if(kmw == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/client/sound.cpp xsw-2.5.5/client/sound.cpp
+--- xsw-2.5.5.orig/client/sound.cpp 2006-02-11 19:18:06.000000000 +0900
++++ xsw-2.5.5/client/sound.cpp 2006-12-10 19:00:47.000000000 +0900
+@@ -90,7 +90,7 @@
+ #ifdef ESD_H
+ /* Connect to the sound server */
+ snd->con_data = (void *)esd_open_sound(NULL);
+- if((int)snd->con_data < 0)
++ if((int)(size_t)snd->con_data < 0)
+ {
+ snd->con_data = NULL;
+ return(-1);
+@@ -287,14 +287,14 @@
+ "xsw:%s",
+ path
+ );
+- id = esd_sample_getid((int)snd->con_data, esd_sndobj_path);
++ id = esd_sample_getid((int)(size_t)snd->con_data, esd_sndobj_path);
+ free(esd_sndobj_path);
+
+ if(id < 0)
+ {
+ fprintf(stderr,"(CACHING NOW)\n");
+ id = esd_file_cache(
+- (int)snd->con_data,
++ (int)(size_t)snd->con_data,
+ "xsw",
+ path
+ );
+@@ -309,11 +309,11 @@
+ if(id > -1)
+ {
+ /* Stop the existing play (if any) */
+- esd_sample_stop((int)snd->con_data, id);
++ esd_sample_stop((int)(size_t)snd->con_data, id);
+
+ /* Set the volume */
+ if(esd_set_default_sample_pan(
+- (int)snd->con_data,
++ (int)(size_t)snd->con_data,
+ id,
+ (int)(vol_left * ESD_VOLUME_BASE),
+ (int)(vol_right * ESD_VOLUME_BASE)
+@@ -322,7 +322,7 @@
+ fprintf(stderr, "esd_set_default_sample_pan() failed\n");
+
+ /* Start playing */
+- if(esd_sample_play((int)snd->con_data, id) < 0)
++ if(esd_sample_play((int)(size_t)snd->con_data, id) < 0)
+ {
+ fprintf(stderr, "esd_sample_play() failed\n");
+ }
+@@ -378,7 +378,7 @@
+
+ case SOUND_SERVER_TYPE_ESOUND:
+ #ifdef ESD_H
+- esd_sample_stop((int)snd->con_data, (int)playid);
++ esd_sample_stop((int)(size_t)snd->con_data, (int)(size_t)playid);
+ #endif /* ESD_H */
+ break;
+
+@@ -467,7 +467,7 @@
+
+ case SOUND_SERVER_TYPE_ESOUND:
+ #ifdef ESD_H
+- id = esd_file_cache((int)snd->con_data, "xsw", path);
++ id = esd_file_cache((int)(size_t)snd->con_data, "xsw", path);
+ if(id < 0)
+ {
+ fprintf(stderr, "esd_file_cache() failed\n");
+@@ -481,8 +481,8 @@
+ // (int)snd->bg_music_playid = id; // Dan S: forbidden in ansi c++. Cast rvalue not lvalue.
+ snd->bg_music_playid = (void *)(&id);
+ if(esd_sample_loop(
+- (int)snd->con_data,
+- (int)snd->bg_music_playid)
++ (int)(size_t)snd->con_data,
++ (int)(size_t)snd->bg_music_playid)
+ < 0
+ )
+ {
+@@ -540,14 +540,14 @@
+ if(snd->bg_music_playid != NULL)
+ {
+ if(esd_sample_stop(
+- (int)snd->con_data,
+- (int)snd->bg_music_playid)
++ (int)(size_t)snd->con_data,
++ (int)(size_t)snd->bg_music_playid)
+ < 0
+ )
+ fprintf(stderr, "esd_sample_stop() failed\n");
+ if(esd_sample_free(
+- (int)snd->con_data,
+- (int)snd->bg_music_playid)
++ (int)(size_t)snd->con_data,
++ (int)(size_t)snd->bg_music_playid)
+ < 0
+ )
+ fprintf(stderr, "esd_sample_stop() failed\n");
+@@ -688,7 +688,7 @@
+ if(snd->con_data != NULL)
+ {
+ SoundStopBackgroundMusic(snd);
+- esd_close((int)snd->con_data);
++ esd_close((int)(size_t)snd->con_data);
+ snd->con_data = NULL;
+ }
+ #endif /* ESD_H */
+diff -ur xsw-2.5.5.orig/client/vsmenuwin.cpp xsw-2.5.5/client/vsmenuwin.cpp
+--- xsw-2.5.5.orig/client/vsmenuwin.cpp 2006-04-06 10:52:27.000000000 +0900
++++ xsw-2.5.5/client/vsmenuwin.cpp 2006-12-10 19:02:05.000000000 +0900
+@@ -377,13 +377,13 @@
+ vsmw->freeze_count++;
+
+ pulist = &vsmw->type_pulist;
+- item->type = (int)PUListItemGetData(
++ item->type = (int)(size_t)PUListItemGetData(
+ pulist,
+ PUListGetSelItem(pulist)
+ );
+
+ pulist = &vsmw->action_pulist;
+- item->action = (int)PUListItemGetData(
++ item->action = (int)(size_t)PUListItemGetData(
+ pulist,
+ PUListGetSelItem(pulist)
+ );
+@@ -564,7 +564,7 @@
+ */
+ static void VSMWDrawCB(void *widget, void *data)
+ {
+- const int amount = (int)data;
++ const int amount = (int)(size_t)data;
+ xsw_vsmenu_win_struct *vsmw = XSW_VSMENU_WIN(widget);
+ if(vsmw == NULL)
+ return;
+@@ -592,7 +592,7 @@
+ if(vsmw->freeze_count > 0)
+ return;
+
+- action = (int)PUListItemGetData(pulist, item_num);
++ action = (int)(size_t)PUListItemGetData(pulist, item_num);
+ for(i = 0; i < n; i++)
+ {
+ v = &(vlist[i]);
+diff -ur xsw-2.5.5.orig/client/wcheckbutton.cpp xsw-2.5.5/client/wcheckbutton.cpp
+--- xsw-2.5.5.orig/client/wcheckbutton.cpp 2005-12-15 17:12:09.000000000 +0900
++++ xsw-2.5.5/client/wcheckbutton.cpp 2006-12-10 19:02:20.000000000 +0900
+@@ -63,7 +63,7 @@
+ */
+ static void CBtnDrawCB(void *widget, void *data)
+ {
+- int amount = (int)data;
++ int amount = (int)(size_t)data;
+ check_button_struct *cb = (check_button_struct *)widget;
+ if(cb == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/client/wclist.cpp xsw-2.5.5/client/wclist.cpp
+--- xsw-2.5.5.orig/client/wclist.cpp 2006-01-07 20:29:07.000000000 +0900
++++ xsw-2.5.5/client/wclist.cpp 2006-12-10 19:02:35.000000000 +0900
+@@ -180,7 +180,7 @@
+ */
+ static void CListDrawCB(void *widget, void *data)
+ {
+- int draw_amount = (int)data;
++ int draw_amount = (int)(size_t)data;
+ clist_struct *clist = (clist_struct *)widget;
+ if(clist == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/client/wfilebrowser.cpp xsw-2.5.5/client/wfilebrowser.cpp
+--- xsw-2.5.5.orig/client/wfilebrowser.cpp 2005-12-28 21:51:13.000000000 +0900
++++ xsw-2.5.5/client/wfilebrowser.cpp 2006-12-10 19:02:55.000000000 +0900
+@@ -590,7 +590,7 @@
+ */
+ static void FBrowserDrawCB(void *widget, void *data)
+ {
+- int draw_amount = (int)data;
++ int draw_amount = (int)(size_t)data;
+ fb_struct *fb = (fb_struct *)widget;
+ if(fb == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/client/wpopuplist.cpp xsw-2.5.5/client/wpopuplist.cpp
+--- xsw-2.5.5.orig/client/wpopuplist.cpp 2005-12-27 17:52:34.000000000 +0900
++++ xsw-2.5.5/client/wpopuplist.cpp 2006-12-10 19:03:28.000000000 +0900
+@@ -311,7 +311,7 @@
+ */
+ static void PUListDrawCB(void *widget, void *data)
+ {
+- int amount = (int)data;
++ int amount = (int)(size_t)data;
+ popup_list_struct *list = (popup_list_struct *)widget;
+ if(list == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/client/wprompt.cpp xsw-2.5.5/client/wprompt.cpp
+--- xsw-2.5.5.orig/client/wprompt.cpp 2006-01-08 20:03:19.000000000 +0900
++++ xsw-2.5.5/client/wprompt.cpp 2006-12-10 19:03:11.000000000 +0900
+@@ -157,7 +157,7 @@
+ */
+ static void PromptDrawCB(void *widget, void *data)
+ {
+- int amount = (int)data;
++ int amount = (int)(size_t)data;
+ prompt_struct *prompt = (prompt_struct *)widget;
+ if(prompt == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/client/wscrollbar.cpp xsw-2.5.5/client/wscrollbar.cpp
+--- xsw-2.5.5.orig/client/wscrollbar.cpp 2005-12-15 17:12:09.000000000 +0900
++++ xsw-2.5.5/client/wscrollbar.cpp 2006-12-10 19:03:43.000000000 +0900
+@@ -130,7 +130,7 @@
+ static void SBarScrollTimeoutCB(void *widget, void *data)
+ {
+ int prev_x_pos, prev_y_pos;
+- int op = (int)data;
++ int op = (int)(size_t)data;
+ scroll_bar_struct *sb = (scroll_bar_struct *)widget;
+ if(sb == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/monitor/wcheckbutton.cpp xsw-2.5.5/monitor/wcheckbutton.cpp
+--- xsw-2.5.5.orig/monitor/wcheckbutton.cpp 2005-12-15 17:12:09.000000000 +0900
++++ xsw-2.5.5/monitor/wcheckbutton.cpp 2006-12-10 19:02:20.000000000 +0900
+@@ -63,7 +63,7 @@
+ */
+ static void CBtnDrawCB(void *widget, void *data)
+ {
+- int amount = (int)data;
++ int amount = (int)(size_t)data;
+ check_button_struct *cb = (check_button_struct *)widget;
+ if(cb == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/monitor/wclist.cpp xsw-2.5.5/monitor/wclist.cpp
+--- xsw-2.5.5.orig/monitor/wclist.cpp 2006-01-07 20:29:07.000000000 +0900
++++ xsw-2.5.5/monitor/wclist.cpp 2006-12-10 19:02:35.000000000 +0900
+@@ -180,7 +180,7 @@
+ */
+ static void CListDrawCB(void *widget, void *data)
+ {
+- int draw_amount = (int)data;
++ int draw_amount = (int)(size_t)data;
+ clist_struct *clist = (clist_struct *)widget;
+ if(clist == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/monitor/wfilebrowser.cpp xsw-2.5.5/monitor/wfilebrowser.cpp
+--- xsw-2.5.5.orig/monitor/wfilebrowser.cpp 2005-12-28 21:51:13.000000000 +0900
++++ xsw-2.5.5/monitor/wfilebrowser.cpp 2006-12-10 19:02:55.000000000 +0900
+@@ -590,7 +590,7 @@
+ */
+ static void FBrowserDrawCB(void *widget, void *data)
+ {
+- int draw_amount = (int)data;
++ int draw_amount = (int)(size_t)data;
+ fb_struct *fb = (fb_struct *)widget;
+ if(fb == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/monitor/wpopuplist.cpp xsw-2.5.5/monitor/wpopuplist.cpp
+--- xsw-2.5.5.orig/monitor/wpopuplist.cpp 2005-12-27 17:52:34.000000000 +0900
++++ xsw-2.5.5/monitor/wpopuplist.cpp 2006-12-10 19:03:28.000000000 +0900
+@@ -311,7 +311,7 @@
+ */
+ static void PUListDrawCB(void *widget, void *data)
+ {
+- int amount = (int)data;
++ int amount = (int)(size_t)data;
+ popup_list_struct *list = (popup_list_struct *)widget;
+ if(list == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/monitor/wprompt.cpp xsw-2.5.5/monitor/wprompt.cpp
+--- xsw-2.5.5.orig/monitor/wprompt.cpp 2006-01-08 20:03:19.000000000 +0900
++++ xsw-2.5.5/monitor/wprompt.cpp 2006-12-10 19:03:11.000000000 +0900
+@@ -157,7 +157,7 @@
+ */
+ static void PromptDrawCB(void *widget, void *data)
+ {
+- int amount = (int)data;
++ int amount = (int)(size_t)data;
+ prompt_struct *prompt = (prompt_struct *)widget;
+ if(prompt == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/monitor/wscrollbar.cpp xsw-2.5.5/monitor/wscrollbar.cpp
+--- xsw-2.5.5.orig/monitor/wscrollbar.cpp 2005-12-15 17:12:09.000000000 +0900
++++ xsw-2.5.5/monitor/wscrollbar.cpp 2006-12-10 19:03:43.000000000 +0900
+@@ -130,7 +130,7 @@
+ static void SBarScrollTimeoutCB(void *widget, void *data)
+ {
+ int prev_x_pos, prev_y_pos;
+- int op = (int)data;
++ int op = (int)(size_t)data;
+ scroll_bar_struct *sb = (scroll_bar_struct *)widget;
+ if(sb == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/unvedit/wcheckbutton.cpp xsw-2.5.5/unvedit/wcheckbutton.cpp
+--- xsw-2.5.5.orig/unvedit/wcheckbutton.cpp 2005-12-15 17:12:09.000000000 +0900
++++ xsw-2.5.5/unvedit/wcheckbutton.cpp 2006-12-10 19:02:20.000000000 +0900
+@@ -63,7 +63,7 @@
+ */
+ static void CBtnDrawCB(void *widget, void *data)
+ {
+- int amount = (int)data;
++ int amount = (int)(size_t)data;
+ check_button_struct *cb = (check_button_struct *)widget;
+ if(cb == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/unvedit/wclist.cpp xsw-2.5.5/unvedit/wclist.cpp
+--- xsw-2.5.5.orig/unvedit/wclist.cpp 2006-01-07 20:29:07.000000000 +0900
++++ xsw-2.5.5/unvedit/wclist.cpp 2006-12-10 19:02:35.000000000 +0900
+@@ -180,7 +180,7 @@
+ */
+ static void CListDrawCB(void *widget, void *data)
+ {
+- int draw_amount = (int)data;
++ int draw_amount = (int)(size_t)data;
+ clist_struct *clist = (clist_struct *)widget;
+ if(clist == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/unvedit/wfilebrowser.cpp xsw-2.5.5/unvedit/wfilebrowser.cpp
+--- xsw-2.5.5.orig/unvedit/wfilebrowser.cpp 2005-12-28 21:51:13.000000000 +0900
++++ xsw-2.5.5/unvedit/wfilebrowser.cpp 2006-12-10 19:02:55.000000000 +0900
+@@ -590,7 +590,7 @@
+ */
+ static void FBrowserDrawCB(void *widget, void *data)
+ {
+- int draw_amount = (int)data;
++ int draw_amount = (int)(size_t)data;
+ fb_struct *fb = (fb_struct *)widget;
+ if(fb == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/unvedit/wpopuplist.cpp xsw-2.5.5/unvedit/wpopuplist.cpp
+--- xsw-2.5.5.orig/unvedit/wpopuplist.cpp 2005-12-27 17:52:34.000000000 +0900
++++ xsw-2.5.5/unvedit/wpopuplist.cpp 2006-12-10 19:03:28.000000000 +0900
+@@ -311,7 +311,7 @@
+ */
+ static void PUListDrawCB(void *widget, void *data)
+ {
+- int amount = (int)data;
++ int amount = (int)(size_t)data;
+ popup_list_struct *list = (popup_list_struct *)widget;
+ if(list == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/unvedit/wprompt.cpp xsw-2.5.5/unvedit/wprompt.cpp
+--- xsw-2.5.5.orig/unvedit/wprompt.cpp 2006-01-08 20:03:19.000000000 +0900
++++ xsw-2.5.5/unvedit/wprompt.cpp 2006-12-10 19:03:11.000000000 +0900
+@@ -157,7 +157,7 @@
+ */
+ static void PromptDrawCB(void *widget, void *data)
+ {
+- int amount = (int)data;
++ int amount = (int)(size_t)data;
+ prompt_struct *prompt = (prompt_struct *)widget;
+ if(prompt == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/unvedit/wscrollbar.cpp xsw-2.5.5/unvedit/wscrollbar.cpp
+--- xsw-2.5.5.orig/unvedit/wscrollbar.cpp 2005-12-15 17:12:09.000000000 +0900
++++ xsw-2.5.5/unvedit/wscrollbar.cpp 2006-12-10 19:03:43.000000000 +0900
+@@ -130,7 +130,7 @@
+ static void SBarScrollTimeoutCB(void *widget, void *data)
+ {
+ int prev_x_pos, prev_y_pos;
+- int op = (int)data;
++ int op = (int)(size_t)data;
+ scroll_bar_struct *sb = (scroll_bar_struct *)widget;
+ if(sb == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/widgetdemo/wclist.cpp xsw-2.5.5/widgetdemo/wclist.cpp
+--- xsw-2.5.5.orig/widgetdemo/wclist.cpp 2006-01-07 20:29:07.000000000 +0900
++++ xsw-2.5.5/widgetdemo/wclist.cpp 2006-12-10 19:02:35.000000000 +0900
+@@ -180,7 +180,7 @@
+ */
+ static void CListDrawCB(void *widget, void *data)
+ {
+- int draw_amount = (int)data;
++ int draw_amount = (int)(size_t)data;
+ clist_struct *clist = (clist_struct *)widget;
+ if(clist == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/widgetdemo/wprompt.cpp xsw-2.5.5/widgetdemo/wprompt.cpp
+--- xsw-2.5.5.orig/widgetdemo/wprompt.cpp 2006-01-08 20:03:19.000000000 +0900
++++ xsw-2.5.5/widgetdemo/wprompt.cpp 2006-12-10 19:03:11.000000000 +0900
+@@ -157,7 +157,7 @@
+ */
+ static void PromptDrawCB(void *widget, void *data)
+ {
+- int amount = (int)data;
++ int amount = (int)(size_t)data;
+ prompt_struct *prompt = (prompt_struct *)widget;
+ if(prompt == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/widgetdemo/wscrollbar.cpp xsw-2.5.5/widgetdemo/wscrollbar.cpp
+--- xsw-2.5.5.orig/widgetdemo/wscrollbar.cpp 2005-12-15 17:12:09.000000000 +0900
++++ xsw-2.5.5/widgetdemo/wscrollbar.cpp 2006-12-10 19:03:43.000000000 +0900
+@@ -130,7 +130,7 @@
+ static void SBarScrollTimeoutCB(void *widget, void *data)
+ {
+ int prev_x_pos, prev_y_pos;
+- int op = (int)data;
++ int op = (int)(size_t)data;
+ scroll_bar_struct *sb = (scroll_bar_struct *)widget;
+ if(sb == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/widgets/wcheckbutton.cpp xsw-2.5.5/widgets/wcheckbutton.cpp
+--- xsw-2.5.5.orig/widgets/wcheckbutton.cpp 2005-12-15 17:12:09.000000000 +0900
++++ xsw-2.5.5/widgets/wcheckbutton.cpp 2006-12-10 19:02:20.000000000 +0900
+@@ -63,7 +63,7 @@
+ */
+ static void CBtnDrawCB(void *widget, void *data)
+ {
+- int amount = (int)data;
++ int amount = (int)(size_t)data;
+ check_button_struct *cb = (check_button_struct *)widget;
+ if(cb == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/widgets/wclist.cpp xsw-2.5.5/widgets/wclist.cpp
+--- xsw-2.5.5.orig/widgets/wclist.cpp 2006-01-07 20:29:07.000000000 +0900
++++ xsw-2.5.5/widgets/wclist.cpp 2006-12-10 19:02:35.000000000 +0900
+@@ -180,7 +180,7 @@
+ */
+ static void CListDrawCB(void *widget, void *data)
+ {
+- int draw_amount = (int)data;
++ int draw_amount = (int)(size_t)data;
+ clist_struct *clist = (clist_struct *)widget;
+ if(clist == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/widgets/wfilebrowser.cpp xsw-2.5.5/widgets/wfilebrowser.cpp
+--- xsw-2.5.5.orig/widgets/wfilebrowser.cpp 2005-12-28 21:51:13.000000000 +0900
++++ xsw-2.5.5/widgets/wfilebrowser.cpp 2006-12-10 19:02:55.000000000 +0900
+@@ -590,7 +590,7 @@
+ */
+ static void FBrowserDrawCB(void *widget, void *data)
+ {
+- int draw_amount = (int)data;
++ int draw_amount = (int)(size_t)data;
+ fb_struct *fb = (fb_struct *)widget;
+ if(fb == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/widgets/wpopuplist.cpp xsw-2.5.5/widgets/wpopuplist.cpp
+--- xsw-2.5.5.orig/widgets/wpopuplist.cpp 2005-12-27 17:52:34.000000000 +0900
++++ xsw-2.5.5/widgets/wpopuplist.cpp 2006-12-10 19:03:28.000000000 +0900
+@@ -311,7 +311,7 @@
+ */
+ static void PUListDrawCB(void *widget, void *data)
+ {
+- int amount = (int)data;
++ int amount = (int)(size_t)data;
+ popup_list_struct *list = (popup_list_struct *)widget;
+ if(list == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/widgets/wprompt.cpp xsw-2.5.5/widgets/wprompt.cpp
+--- xsw-2.5.5.orig/widgets/wprompt.cpp 2006-01-08 20:03:19.000000000 +0900
++++ xsw-2.5.5/widgets/wprompt.cpp 2006-12-10 19:03:11.000000000 +0900
+@@ -157,7 +157,7 @@
+ */
+ static void PromptDrawCB(void *widget, void *data)
+ {
+- int amount = (int)data;
++ int amount = (int)(size_t)data;
+ prompt_struct *prompt = (prompt_struct *)widget;
+ if(prompt == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/widgets/wscrollbar.cpp xsw-2.5.5/widgets/wscrollbar.cpp
+--- xsw-2.5.5.orig/widgets/wscrollbar.cpp 2005-12-15 17:12:09.000000000 +0900
++++ xsw-2.5.5/widgets/wscrollbar.cpp 2006-12-10 19:03:43.000000000 +0900
+@@ -130,7 +130,7 @@
+ static void SBarScrollTimeoutCB(void *widget, void *data)
+ {
+ int prev_x_pos, prev_y_pos;
+- int op = (int)data;
++ int op = (int)(size_t)data;
+ scroll_bar_struct *sb = (scroll_bar_struct *)widget;
+ if(sb == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/monitor/mon.cpp xsw-2.5.5/monitor/mon.cpp
+--- xsw-2.5.5.orig/monitor/mon.cpp 2006-02-09 10:54:04.000000000 +0900
++++ xsw-2.5.5/monitor/mon.cpp 2006-12-10 19:20:09.000000000 +0900
+@@ -286,7 +286,7 @@
+
+ static void MonDrawCB(void *widget, void *data)
+ {
+- int amount = (int)data;
++ int amount = (int)(size_t)data;
+ monitor_struct *m = MONITOR(widget);
+ if(m == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/unvedit/ecow.cpp xsw-2.5.5/unvedit/ecow.cpp
+--- xsw-2.5.5.orig/unvedit/ecow.cpp 2006-02-04 10:12:00.000000000 +0900
++++ xsw-2.5.5/unvedit/ecow.cpp 2006-12-10 19:25:47.000000000 +0900
+@@ -428,7 +428,7 @@
+ strncpy(prod->name, s, sizeof(prod->name));
+ prod->name[sizeof(prod->name) - 1] = '\0';
+ }
+- prod->ocs_code = (int)PUListItemGetData(pulist, i);
++ prod->ocs_code = (int)(size_t)PUListItemGetData(pulist, i);
+ prod->sell_price = PromptGetF(&ecow->prod_sell_prompt);
+ prod->buy_price = PromptGetF(&ecow->prod_buy_prompt);
+ prod->amount = PromptGetF(&ecow->prod_amount_prompt);
+@@ -448,7 +448,7 @@
+ */
+ static void EcoWDrawCB(void *widget, void *data)
+ {
+- const int amount = (int)data;
++ const int amount = (int)(size_t)data;
+ ecow_struct *ecow = ECOW(widget);
+ if(ecow == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/unvedit/optwin.cpp xsw-2.5.5/unvedit/optwin.cpp
+--- xsw-2.5.5.orig/unvedit/optwin.cpp 2005-12-30 08:44:01.000000000 +0900
++++ xsw-2.5.5/unvedit/optwin.cpp 2006-12-10 19:27:20.000000000 +0900
+@@ -261,7 +261,7 @@
+ */
+ static void OptWinDrawCB(void *widget, void *data)
+ {
+- const int amount = (int)data;
++ const int amount = (int)(size_t)data;
+ optwin_struct *ow = OPTWIN(widget);
+ if(ow == NULL)
+ return;
+@@ -590,7 +590,7 @@
+ clist = &ow->keymaps_list;
+ n = MIN(clist->total_rows, UE_TOTAL_KEYMAPS);
+ for(i = 0; i < n; i++)
+- keymap[i].keycode = (keycode_t)CListRowGetData(clist, i);
++ keymap[i].keycode = (keycode_t)(size_t)CListRowGetData(clist, i);
+
+ /* Reset has changes mark */
+ ow->has_changes = False;
+diff -ur xsw-2.5.5.orig/unvedit/printdlg.cpp xsw-2.5.5/unvedit/printdlg.cpp
+--- xsw-2.5.5.orig/unvedit/printdlg.cpp 2006-03-30 17:45:53.000000000 +0900
++++ xsw-2.5.5/unvedit/printdlg.cpp 2006-12-10 19:27:39.000000000 +0900
+@@ -833,7 +833,7 @@
+ */
+ static void PrintDlgDrawCB(void *widget, void *data)
+ {
+- const int amount = (int)data;
++ const int amount = (int)(size_t)data;
+ print_dlg_struct *pw = PRINT_DLG(widget);
+ if(pw == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/unvedit/propdlg.cpp xsw-2.5.5/unvedit/propdlg.cpp
+--- xsw-2.5.5.orig/unvedit/propdlg.cpp 2006-02-04 10:12:00.000000000 +0900
++++ xsw-2.5.5/unvedit/propdlg.cpp 2006-12-10 19:29:50.000000000 +0900
+@@ -335,7 +335,7 @@
+ }
+ SET_STRING(obj->name, &d->name_prompt);
+ pulist = &d->type_pulist;
+- obj->type = (int)PUListItemGetData(
++ obj->type = (int)(size_t)PUListItemGetData(
+ pulist,
+ PUListGetSelItem(pulist)
+ );
+@@ -480,7 +480,7 @@
+ obj->scanner_range = MAX(PromptGetF(&d->scanner_range_prompt), 0.0f);
+
+ pulist = &d->engine_pulist;
+- obj->engine_state = (int)PUListItemGetData(
++ obj->engine_state = (int)(size_t)PUListItemGetData(
+ pulist,
+ PUListGetSelItem(pulist)
+ );
+@@ -502,12 +502,12 @@
+ );
+
+ pulist = &d->shields_pulist;
+- obj->shield_state = (int)PUListItemGetData(
++ obj->shield_state = (int)(size_t)PUListItemGetData(
+ pulist,
+ PUListGetSelItem(pulist)
+ );
+ pulist = &d->cloak_pulist;
+- obj->cloak_state = (int)PUListItemGetData(
++ obj->cloak_state = (int)(size_t)PUListItemGetData(
+ pulist,
+ PUListGetSelItem(pulist)
+ );
+@@ -543,7 +543,7 @@
+
+
+ pulist = &d->imgrefs_pulist;
+- obj->imgref = (int)PUListItemGetData(
++ obj->imgref = (int)(size_t)PUListItemGetData(
+ pulist,
+ PUListGetSelItem(pulist)
+ );
+@@ -651,7 +651,7 @@
+ */
+ static void PropDlgDrawCB(void *widget, void *data)
+ {
+- const int amount = (int)data;
++ const int amount = (int)(size_t)data;
+ prop_dlg_struct *d = PROP_DLG(widget);
+ if(d == NULL)
+ return;
+@@ -693,7 +693,7 @@
+ if(d->freeze_count > 0)
+ return;
+
+- imgref_num = (int)PUListItemGetData(
++ imgref_num = (int)(size_t)PUListItemGetData(
+ pulist, sel_item
+ );
+
+@@ -1637,7 +1637,7 @@
+ pixmap = d->object_display_buf;
+
+ /* Get the currently displayed imgref */
+- imgref_num = (int)PUListItemGetData(
++ imgref_num = (int)(size_t)PUListItemGetData(
+ pulist,
+ PUListGetSelItem(pulist)
+ );
+@@ -1858,7 +1858,7 @@
+ d->freeze_count++;
+
+ pulist = &d->type_pulist;
+- type = (int)PUListItemGetData(
++ type = (int)(size_t)PUListItemGetData(
+ pulist,
+ PUListGetSelItem(pulist)
+ );
+diff -ur xsw-2.5.5.orig/unvedit/uew.cpp xsw-2.5.5/unvedit/uew.cpp
+--- xsw-2.5.5.orig/unvedit/uew.cpp 2006-02-26 14:39:53.000000000 +0900
++++ xsw-2.5.5/unvedit/uew.cpp 2006-12-10 19:30:17.000000000 +0900
+@@ -142,7 +142,7 @@
+ */
+ static void UEWDrawCB(void *widget, void *data)
+ {
+- const int amount = (int)data;
++ const int amount = (int)(size_t)data;
+ uew_struct *uew = UEW(widget);
+ if(uew == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/unvedit/uewcb.cpp xsw-2.5.5/unvedit/uewcb.cpp
+--- xsw-2.5.5.orig/unvedit/uewcb.cpp 2006-02-26 14:39:53.000000000 +0900
++++ xsw-2.5.5/unvedit/uewcb.cpp 2006-12-10 19:30:33.000000000 +0900
+@@ -548,7 +548,7 @@
+ return;
+
+ /* Get the selected imgref */
+- imgref_num = (int)PUListItemGetData(pulist, sel_item);
++ imgref_num = (int)(size_t)PUListItemGetData(pulist, sel_item);
+
+ /* Set the object's current property values */
+ UEWPropsDoSetValues(uew, obj_num);
+diff -ur xsw-2.5.5.orig/unvedit/uhw.cpp xsw-2.5.5/unvedit/uhw.cpp
+--- xsw-2.5.5.orig/unvedit/uhw.cpp 2006-05-05 17:11:51.000000000 +0900
++++ xsw-2.5.5/unvedit/uhw.cpp 2006-12-10 19:30:52.000000000 +0900
+@@ -546,7 +546,7 @@
+ */
+ static void UHWDrawCB(void *widget, void *data)
+ {
+- const int amount = (int)data;
++ const int amount = (int)(size_t)data;
+ uhw_struct *uhw = UHW(widget);
+ if(uhw == NULL)
+ return;
+diff -ur xsw-2.5.5.orig/unvedit/wepw.cpp xsw-2.5.5/unvedit/wepw.cpp
+--- xsw-2.5.5.orig/unvedit/wepw.cpp 2006-02-04 10:12:00.000000000 +0900
++++ xsw-2.5.5/unvedit/wepw.cpp 2006-12-10 19:31:59.000000000 +0900
+@@ -486,7 +486,7 @@
+ {
+ const char *name = pulist_item->text;
+
+- wep->ocs_code = (int)PUListItemGetData(pulist, i);
++ wep->ocs_code = (int)(size_t)PUListItemGetData(pulist, i);
+
+ if(!STRISEMPTY(name))
+ {
+@@ -528,7 +528,7 @@
+ wep->create_power = PromptGetF(&wepw->create_power_prompt);
+ wep->delay = PromptGetL(&wepw->delay_prompt);
+ pulist = &wepw->fire_sndref_pulist;
+- wep->fire_sndref = (int)PUListItemGetData(
++ wep->fire_sndref = (int)(size_t)PUListItemGetData(
+ pulist,
+ PUListGetSelItem(pulist)
+ );
+@@ -561,7 +561,7 @@
+ */
+ static void WepWDrawCB(void *widget, void *data)
+ {
+- const int amount = (int)data;
++ const int amount = (int)(size_t)data;
+ wepw_struct *wepw = WEPW(widget);
+ if(wepw == NULL)
+ return;
+@@ -927,7 +927,7 @@
+ /* Weapons list */
+ clist = &wepw->list;
+ width = (unsigned int)MAX(
+- (int)wepw->width - WEPW_BUTTON_WIDTH -
++ (int)(size_t)wepw->width - WEPW_BUTTON_WIDTH -
+ (2 * WEPW_MARGIN) - 5,
+ 100
+ );