summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>2009-01-29 17:02:46 -0200
committerPaulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>2009-01-29 17:02:46 -0200
commit52cf9c06819d94e178285d75de6434e98358b63d (patch)
treee841080cbf6046037fa93bd3a62e1c8fba30f094
parenta2e8bc500dfad18ab161b3a7be44cf6fa15f140f (diff)
patch to avoid gcc warning in libXext
Original patch author is Peter Breitenlohner <peb@mppmu.mpg.de>. This closes bug #18038.
-rw-r--r--configure.ac2
-rw-r--r--src/extutil.c12
-rw-r--r--src/globals.c3
3 files changed, 8 insertions, 9 deletions
diff --git a/configure.ac b/configure.ac
index a308ddd..20751ec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,7 +35,7 @@ AC_PROG_CC
XORG_CWARNFLAGS
# Checks for pkg-config packages
-PKG_CHECK_MODULES(XEXT, [xproto >= 7.0.13] [x11 >= 1.1.99.1] [xextproto >= 7.0.3] xau)
+PKG_CHECK_MODULES(XEXT, [xproto >= 7.0.13] [x11 >= 1.1.99.1] [xextproto >= 7.0.5] xau)
XEXT_CFLAGS="$CWARNFLAGS $XEXT_CFLAGS"
AC_SUBST(XEXT_CFLAGS)
AC_SUBST(XEXT_LIBS)
diff --git a/src/extutil.c b/src/extutil.c
index 0f17aae..ac861ea 100644
--- a/src/extutil.c
+++ b/src/extutil.c
@@ -244,7 +244,7 @@ XExtDisplayInfo *XextFindDisplay (XExtensionInfo *extinfo, Display *dpy)
-static int _default_exterror (Display *dpy, char *ext_name, char *reason)
+static int _default_exterror (Display *dpy, _Xconst char *ext_name, _Xconst char *reason)
{
fprintf (stderr, "Xlib: extension \"%s\" %s on display \"%s\".\n",
ext_name, reason, DisplayString(dpy));
@@ -257,11 +257,11 @@ static int _default_exterror (Display *dpy, char *ext_name, char *reason)
* requested extension is referenced. This should eventually move into Xlib.
*/
-extern int (*_XExtensionErrorFunction)(Display*, char *, char * );
+extern XextErrorHandler _XExtensionErrorFunction;
-int (*XSetExtensionErrorHandler(int (*handler)(Display*, char *, char * )))(Display*, char *, char * )
+XextErrorHandler XSetExtensionErrorHandler (XextErrorHandler handler)
{
- int (*oldhandler)(Display*, char *, char * ) = _XExtensionErrorFunction;
+ XextErrorHandler oldhandler = _XExtensionErrorFunction;
_XExtensionErrorFunction = (handler ? handler :
_default_exterror);
@@ -274,8 +274,8 @@ int (*XSetExtensionErrorHandler(int (*handler)(Display*, char *, char * )))(Disp
*/
int XMissingExtension (Display *dpy, _Xconst char *ext_name)
{
- int (*func)(Display*, char *, char *) = (_XExtensionErrorFunction ?
- _XExtensionErrorFunction : _default_exterror);
+ XextErrorHandler func = (_XExtensionErrorFunction ?
+ _XExtensionErrorFunction : _default_exterror);
if (!ext_name) ext_name = X_EXTENSION_UNKNOWN;
return (*func) (dpy, ext_name, X_EXTENSION_MISSING);
diff --git a/src/globals.c b/src/globals.c
index 120909a..c20dbac 100644
--- a/src/globals.c
+++ b/src/globals.c
@@ -75,8 +75,7 @@ from The Open Group.
/*
* Error handlers; used to be in XlibInt.c
*/
-typedef int (*funcptr)(Display*, char *, char *);
-ZEROINIT (funcptr, _XExtensionErrorFunction, NULL);
+ZEROINIT (XextErrorHandler, _XExtensionErrorFunction, NULL);
/*
* NOTE: any additional external definition NEED