Fixed linux 64 gcc 4.6.1 compilation problems

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9373 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Fabien Costantini 2012-04-22 02:45:09 +00:00
parent 4f7f902a00
commit 822bc272fc
7 changed files with 41 additions and 19 deletions

View File

@ -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)) {

View File

@ -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

View File

@ -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);

View File

@ -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;
}
}
}

View File

@ -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;
}

View File

@ -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;

View File

@ -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;