diff --git a/FL/glut.H b/FL/glut.H index 4fe9b4f50..12efc19a5 100644 --- a/FL/glut.H +++ b/FL/glut.H @@ -233,7 +233,11 @@ FL_EXPORT void glutIdleFunc(void (*f)()); // Warning: this cast may not work on all machines: inline void glutTimerFunc(unsigned int msec, void (*f)(int), int value) { +#if defined(__LP64__) + Fl::add_timeout(msec*.001, (void (*)(void *))f, (void *) (long long) value); +#else Fl::add_timeout(msec*.001, (void (*)(void *))f, (void *)value); +#endif } inline void glutMenuStateFunc(void (*f)(int state)) { diff --git a/configure.in b/configure.in index 703660c9b..63bb7dcf1 100644 --- a/configure.in +++ b/configure.in @@ -487,7 +487,7 @@ AC_CACHE_CHECK([whether we have the POSIX compatible scandir() prototype], dnl Define both HAVE_SCANDIR... macros, if the POSIX compatible function is dnl available. Otherwise: check, whether any scandir prototype is available, -dnl but don't use it on SunOS and QNX because of an incompatibility in pre-Y2K +dnl but dont use it on SunOS and QNX because of an incompatibility in pre-Y2K dnl SunOS scandir versions. We assume, though, that the POSIX compatible dnl version on newer SunOS/Solaris versions works as expected. if test "$ac_cv_cxx_scandir_posix" = yes; then diff --git a/src/fl_ask.cxx b/src/fl_ask.cxx index 22b8f90e0..3d23f74cd 100644 --- a/src/fl_ask.cxx +++ b/src/fl_ask.cxx @@ -99,7 +99,11 @@ static Fl_Window *makeform() { else button[b] = new Fl_Button(x, 70, 90, 23); button[b]->align(FL_ALIGN_INSIDE|FL_ALIGN_WRAP); +#if defined (__LP64__) + button[b]->callback(button_cb,(void *)(long long) b); +#else button[b]->callback(button_cb,(void *)b); +#endif } } button[0]->shortcut(FL_Escape); diff --git a/src/fl_draw_pixmap.cxx b/src/fl_draw_pixmap.cxx index 3c55559df..759d2cefc 100644 --- a/src/fl_draw_pixmap.cxx +++ b/src/fl_draw_pixmap.cxx @@ -209,7 +209,7 @@ int fl_draw_pixmap(const char*const* cdata, int x, int y, Fl_Color bg) { if (!fl_measure_pixmap(cdata, d.w, d.h)) return 0; const uchar*const* data = (const uchar*const*)(cdata+1); int transparent_index = -1; - uchar *transparent_c = (uchar *)0; // such that transparent_c[0,1,2] are the RGB of the transparent color +// uchar *transparent_c = (uchar *)0; // such that transparent_c[0,1,2] are the RGB of the transparent color #ifdef WIN32 color_count = 0; used_colors = (uchar *)malloc(abs(ncolors)*3*sizeof(uchar)); @@ -230,7 +230,7 @@ int fl_draw_pixmap(const char*const* cdata, int x, int y, Fl_Color bg) { #endif transparent_index = ' '; Fl::get_color(bg, c[0], c[1], c[2]); c[3] = 0; - transparent_c = c; + // transparent_c = c; p += 4; ncolors--; } @@ -316,7 +316,7 @@ int fl_draw_pixmap(const char*const* cdata, int x, int y, Fl_Color bg) { c[3] = 0; #endif transparent_index = ind; - transparent_c = c; + //transparent_c = c; } } } diff --git a/src/glut_compatability.cxx b/src/glut_compatability.cxx index 856286ba8..37c2a833f 100644 --- a/src/glut_compatability.cxx +++ b/src/glut_compatability.cxx @@ -333,7 +333,12 @@ void glutAddMenuEntry(char *label, int value) { Fl_Menu_Item* i = additem(m); i->text = label; i->callback_ = (Fl_Callback*)(m->cb); + +#if defined(__LP64__) + i->user_data_ = (void *) (long long) value; +#else i->user_data_ = (void *)value; +#endif } void glutAddSubMenu(char *label, int submenu) { @@ -350,7 +355,11 @@ void glutChangeToMenuEntry(int item, char *label, int value) { Fl_Menu_Item* i = &m->m[item-1]; i->text = label; i->callback_ = (Fl_Callback*)(m->cb); +#if defined(__LP64__) + i->user_data_ = (void *) (long long) value; +#else i->user_data_ = (void *)value; +#endif i->flags = 0; } diff --git a/src/xutf8/utf8Input.c b/src/xutf8/utf8Input.c index 6d17604a9..1809e3052 100644 --- a/src/xutf8/utf8Input.c +++ b/src/xutf8/utf8Input.c @@ -62,10 +62,10 @@ XConvertEucTwToUtf8(char* buffer_return, int len) { int i = 0; #endif int l = 0; - char *buf, *b; + char *buf; // , *b; if (len < 1) return 0; - b = buf = (char*) malloc((unsigned)len); + /*b = */ buf = (char*) malloc((unsigned)len); memcpy(buf, buffer_return, (unsigned) len); #if HAVE_LIBC_ICONV @@ -83,17 +83,22 @@ XConvertEucTwToUtf8(char* buffer_return, int len) { ucs = c; i++; } else if (c >= 0xa1 && c < 0xff && len - i > 1 ) { + +#if 0 unsigned char b[2]; b[0] = (unsigned char) c - 0x80; b[1] = (unsigned char) buf[i + 1] - 0x80; +#endif ucs = ' '; i += 2; } else if (c == 0x8e && len - i > 3) { - unsigned char b[2]; unsigned char c1 = buf[i + 1]; unsigned char c2 = buf[i + 2]; unsigned char c3 = buf[i + 3]; +#if 0 + unsigned char b[2]; b[0] = (unsigned char) buf[i + 2] - 0x80; b[1] = (unsigned char) buf[i + 3] - 0x80; +#endif if (c1 >= 0xa1 && c1 <= 0xb0) { if (c2 >= 0xa1 && c2 < 0xff && c3 >= 0xa1 && c3 < 0xff) { ucs = ' '; i += 4; diff --git a/src/xutf8/utf8Wrap.c b/src/xutf8/utf8Wrap.c index 1ca187cf5..662f218c8 100644 --- a/src/xutf8/utf8Wrap.c +++ b/src/xutf8/utf8Wrap.c @@ -230,10 +230,10 @@ load_fonts(Display *dpy, XUtf8FontStruct *font_set) { int i; - char **list; + //char **list; i = 0; - list = NULL; + //list = NULL; font_set->fonts = (XFontStruct**) malloc(sizeof(XFontStruct*) * font_set->nb_font); @@ -820,19 +820,19 @@ XGetUtf8FontAndGlyph(XUtf8FontStruct *font_set, XFontStruct **fnt, unsigned short *id) { - int x; + //int x; int *encodings; /* encodings array */ XFontStruct **fonts; /* fonts array */ int fnum; /* index of the current font in the fonts array*/ - int i; /* current byte in the XChar2b buffer */ + //int i; /* current byte in the XChar2b buffer */ int first; /* first valid font index */ - int last_fnum; /* font index of the previous char */ + //int last_fnum; /* font index of the previous char */ int nb_font; /* quantity of fonts in the font array */ char glyph[2]; /* byte1 and byte2 value of the UTF-8 char */ int *ranges; /* sub range of iso10646 */ nb_font = font_set->nb_font; - x = 0; + //x = 0; if (nb_font < 1) { /* there is no font in the font_set :-( */ @@ -842,7 +842,7 @@ XGetUtf8FontAndGlyph(XUtf8FontStruct *font_set, ranges = font_set->ranges; fonts = font_set->fonts; encodings = font_set->encodings; - i = 0; + //i = 0; fnum = 0; while(fnum < nb_font && !fonts[fnum]) fnum++; @@ -852,7 +852,7 @@ XGetUtf8FontAndGlyph(XUtf8FontStruct *font_set, } first = fnum; - last_fnum = fnum; + //last_fnum = fnum; /* * find the first encoding which can be used to @@ -894,9 +894,9 @@ XUtf8UcsWidth(XUtf8FontStruct *font_set, XFontStruct **fonts; /* fonts array */ Fl_XChar2b buf[8]; /* drawing buffer */ int fnum; /* index of the current font in the fonts array*/ - int i; /* current byte in the XChar2b buffer */ + //int i; /* current byte in the XChar2b buffer */ int first; /* first valid font index */ - int last_fnum; /* font index of the previous char */ + //int last_fnum; /* font index of the previous char */ int nb_font; /* quantity of fonts in the font array */ char glyph[2]; /* byte1 and byte2 value of the UTF-8 char */ int *ranges; /* sub range of iso10646 */ @@ -913,7 +913,7 @@ XUtf8UcsWidth(XUtf8FontStruct *font_set, ranges = font_set->ranges; fonts = font_set->fonts; encodings = font_set->encodings; - i = 0; + //i = 0; fnum = 0; while(fnum < nb_font && !fonts[fnum]) fnum++; @@ -923,7 +923,7 @@ XUtf8UcsWidth(XUtf8FontStruct *font_set, } first = fnum; - last_fnum = fnum; + //last_fnum = fnum; no_spc = XUtf8IsNonSpacing(ucs); if (no_spc) ucs = no_spc;