Hi,
whilst looking at my gif problem, I was getting complaints from the
jpeg library about mismatching structure sizes (which seems not
uncommon, judging by various comments in the sources). The problem
appears to be that jpeglib is compiled with
boolean == int
and XEmacs is using
boolean == unsigned char
(because of the windows api headers)
This results in XEmacs' and jpeglibs ideas about structure layout
disagreeing. I guess previously 'boolean' was not used in jpeglib's
structures, so the difference didn't matter.
I currently have a hack in place that avoids including the windows api
headers from glyphs-eimage.c, but was wondering if someone could
suggest a cleaner solution. For reference, here's what I'm doing:
diff --git a/src/glyphs-eimage.c b/src/glyphs-eimage.c
--- a/src/glyphs-eimage.c
+++ b/src/glyphs-eimage.c
@@ -52,6 +52,7 @@
#include "opaque.h"
#include "window.h"
+#define NO_SYSWINDOWS_H
#include "sysfile.h"
#ifdef HAVE_PNG
@@ -118,9 +119,9 @@
/* And another one... jmorecfg.h defines the 'boolean' type as int,
which conflicts with the standard Windows 'boolean' definition as
unsigned char. Ref:
http://www.asmail.be/msg0054688232.html */
-#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */
-typedef unsigned char boolean;
-#endif
+ //#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already re
+typedef int boolean;
+//#endif
#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */
#endif
diff --git a/src/sysfile.h b/src/sysfile.h
--- a/src/sysfile.h
+++ b/src/sysfile.h
@@ -91,7 +91,7 @@
/* Needed for ITEXT_TO_TSTR, MAX_XETCHAR_SIZE below; but syswindows.h
depends on lisp.h being previously included. */
-#if defined (WIN32_ANY) && defined (emacs)
+#if defined (WIN32_ANY) && defined (emacs) && !defined (NO_SYSWINDOWS_H)
# include "syswindows.h"
#endif
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta