commit xorg-x11-libXext for openSUSE:Factory
Hello community, here is the log from the commit of package xorg-x11-libXext for openSUSE:Factory checked in at Mon Mar 2 01:17:22 CET 2009. -------- --- xorg-x11-libXext/xorg-x11-libXext.changes 2008-09-11 14:21:33.000000000 +0200 +++ /mounts/work_src_done/STABLE/xorg-x11-libXext/xorg-x11-libXext.changes 2009-03-01 20:56:15.972859736 +0100 @@ -1,0 +2,5 @@ +Sun Mar 1 20:55:57 CET 2009 - sndirsch@suse.de + +- libXext 1.0.5 + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- libXext-1.0.4.tar.bz2 New: ---- libXext-1.0.5.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xorg-x11-libXext.spec ++++++ --- /var/tmp/diff_new_pack.W16259/_old 2009-03-02 01:17:13.000000000 +0100 +++ /var/tmp/diff_new_pack.W16259/_new 2009-03-02 01:17:13.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package xorg-x11-libXext (Version 7.4) # -# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,11 +19,11 @@ Name: xorg-x11-libXext -%define dirsuffix 1.0.4 +%define dirsuffix 1.0.5 BuildRequires: pkgconfig xorg-x11-libX11-devel xorg-x11-libXau-devel xorg-x11-libXdmcp-devel xorg-x11-proto-devel xorg-x11-xtrans-devel Url: http://xorg.freedesktop.org/ Version: 7.4 -Release: 1 +Release: 4 License: X11/MIT BuildRoot: %{_tmppath}/%{name}-%{version}-build Group: System/Libraries @@ -138,6 +138,8 @@ %{_mandir}/man3/* %changelog +* Sun Mar 01 2009 sndirsch@suse.de +- libXext 1.0.5 * Thu Sep 11 2008 sndirsch@suse.de - bumped release number to 7.4 * Thu Apr 10 2008 ro@suse.de ++++++ libXext-1.0.4.tar.bz2 -> libXext-1.0.5.tar.bz2 ++++++ ++++ 62730 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libXext-1.0.4/autogen.sh new/libXext-1.0.5/autogen.sh --- old/libXext-1.0.4/autogen.sh 2006-07-11 20:05:14.000000000 +0200 +++ new/libXext-1.0.5/autogen.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -#! /bin/sh - -srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. - -ORIGDIR=`pwd` -cd $srcdir - -autoreconf -v --install || exit 1 -cd $ORIGDIR || exit $? - -$srcdir/configure --enable-maintainer-mode "$@" diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libXext-1.0.4/ChangeLog new/libXext-1.0.5/ChangeLog --- old/libXext-1.0.4/ChangeLog 2008-02-29 04:03:40.000000000 +0100 +++ new/libXext-1.0.5/ChangeLog 2009-01-29 23:40:02.000000000 +0100 @@ -1,3 +1,64 @@ +commit f7b69edc21b90a5b343115de55d6f1a98aeda5e2 +Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br> +Date: Thu Jan 29 20:38:22 2009 -0200 + + Xorg libXext Version 1.0.5. + +commit 52cf9c06819d94e178285d75de6434e98358b63d +Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br> +Date: Thu Jan 29 17:02:46 2009 -0200 + + patch to avoid gcc warning in libXext + + Original patch author is Peter Breitenlohner <peb@mppmu.mpg.de>. + This closes bug #18038. + +commit a2e8bc500dfad18ab161b3a7be44cf6fa15f140f +Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br> +Date: Thu Jan 29 16:33:40 2009 -0200 + + Janitor: Correct make distcheck and compiler warnings. + +commit f467d17ae5a89aa1a2b8c7260334f41e8ee2d08c +Author: Kim Woelders <kim@woelders.dk> +Date: Fri Oct 17 16:53:29 2008 -0400 + + Bug #17774: Allocate the right size in XSyncListSystemCounters. + +commit 49563f5d76637e2ca28fe0b91ce3114271c0955d +Author: Peter Hutterer <peter@cs.unisa.edu.au> +Date: Thu May 29 10:55:49 2008 +0930 + + Bump to 1.0.99.1 + +commit 64edd246587adb59ac71031f72955fa5a73ac467 +Author: Peter Hutterer <peter@cs.unisa.edu.au> +Date: Thu May 29 10:40:59 2008 +0930 + + Require xproto 7.0.13, xextproto 7.0.3 and xlib 1.1.99.1. + +commit 0721b2d71c40e877944aa22a3c57ed70225f508d +Author: Peter Hutterer <peter@cs.unisa.edu.au> +Date: Mon May 26 23:16:29 2008 +0930 + + Xge: Replace XExtensionVersion with XGEVersionRec. + + XExtensionVersion is defined in XInput.h, leading to a circular dependency. + Thanks to Jens Stroebel for pointing this out. + +commit 44d3a4d4016c58f8ac46843d0b2dd4ddb26e2fc9 +Author: Peter Hutterer <peter@cs.unisa.edu.au> +Date: Tue May 13 11:23:59 2008 +0930 + + Xge: replace copyright with standard template from xserver, whitespace fixes. + +commit 7e0b3b9029d3d12c9edf961c1d9db4cdbf021f1d +Merge: c4b0ae9... 9884a41... +Author: Peter Hutterer <peter@cs.unisa.edu.au> +Date: Mon May 12 18:04:09 2008 +0930 + + Merge branch 'master' into xge + commit 9884a41dd0282ca3dd19db5bf3a11554ee7eee57 Author: Alan Coopersmith <alan.coopersmith@sun.com> Date: Thu Feb 28 19:02:58 2008 -0800 @@ -25,6 +86,13 @@ Add missing PHONY line for automatic ChangeLog generation +commit c4b0ae960d63f461d6e9efd64f70084f06a674b3 +Merge: d1c9350... 249daf0... +Author: Peter Hutterer <peter@cs.unisa.edu.au> +Date: Thu Dec 6 14:23:02 2007 +1030 + + Merge branch 'master' into xge + commit 249daf0d8a044a97d053c957ab45445c159d31e4 Author: Alan Coopersmith <alan.coopersmith@sun.com> Date: Wed Nov 28 17:29:28 2007 -0800 @@ -72,6 +140,38 @@ Fix typos in source comments +commit d1c93500e2f56b8aefda7133848c21f62572f5d5 +Author: Peter Hutterer <peter@cs.unisa.edu.au> +Date: Tue Jun 26 11:46:10 2007 +0930 + + Don't call _xgeCheckExtInit() from _xgeWireToEvent(). It will cause a SIGABRT + when trying to get the display lock. + +commit 40d1cbaaf0fd12883c048288a62b0088286463f4 +Author: Peter Hutterer <peter@cs.unisa.edu.au> +Date: Wed Jun 13 16:26:03 2007 +0930 + + Lock/Unlock in _xgeCheckExtInit(), and not in xgeGetExtensionVersion(). + Otherwise we get a SIGABRT for displays that don't have XGE when we try to get + the disply lock. + +commit b125890386d5ebbc3811bc67e0a1ad469b0a10ed +Author: Peter Hutterer <peter@cs.unisa.edu.au> +Date: Wed May 30 11:07:25 2007 +0930 + + Remove useless line in XGE that didn't do anything except segfaulting. + + Thanks to Paulo Zanoni for spotting it. + +commit 850263ac9f772ab80f3e0680997f00e0c566f7d4 +Author: Peter Hutterer <peter@cs.unisa.edu.au> +Date: Tue May 15 17:00:07 2007 +0930 + + Add GenericEvent extension (XGE). + + Automatically register any extension at XGE and relay events to + the extension's event handlers. + commit 8d8a6ac4012c2bd5bfd037e42f69f5b2b111433d Author: Alan Coopersmith <alan.coopersmith@sun.com> Date: Thu Jan 25 18:28:21 2007 -0800 diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libXext-1.0.4/config.h.in new/libXext-1.0.5/config.h.in --- old/libXext-1.0.4/config.h.in 2008-02-29 04:03:16.000000000 +0100 +++ new/libXext-1.0.5/config.h.in 2009-01-29 23:40:02.000000000 +0100 @@ -30,6 +30,10 @@ /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LT_OBJDIR + /* Name of package */ #undef PACKAGE diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libXext-1.0.4/configure.ac new/libXext-1.0.5/configure.ac --- old/libXext-1.0.4/configure.ac 2008-02-29 04:02:40.000000000 +0100 +++ new/libXext-1.0.5/configure.ac 2009-01-29 23:37:37.000000000 +0100 @@ -3,7 +3,7 @@ AC_PREREQ(2.57) AC_INIT([libXext], - 1.0.4, + 1.0.5, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], libXext) @@ -12,12 +12,11 @@ AM_MAINTAINER_MODE +# Require xorg-macros: XORG_CWARNFLAGS, XORG_CHANGELOG, XORG_WITH_LINT +m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.2) AM_CONFIG_HEADER([config.h]) -# Require xorg-macros version 1.1.0 or newer for XORG_WITH_LINT macro -m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1 or later before running autoconf/autogen])]) -XORG_MACROS_VERSION(1.1) - # Determine .so library version per platform # based on SharedXextRev in monolith xc/config/cf/*Lib.tmpl AC_CANONICAL_HOST @@ -33,9 +32,11 @@ # Checks for programs. AC_PROG_LIBTOOL AC_PROG_CC +XORG_CWARNFLAGS # Checks for pkg-config packages -PKG_CHECK_MODULES(XEXT, xproto x11 xextproto 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) @@ -46,6 +47,7 @@ XORG_CHECK_MALLOC_ZERO XORG_RELEASE_VERSION +XORG_CHANGELOG # Man page processing requirements XORG_PROG_RAWCPP diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libXext-1.0.4/Makefile.am new/libXext-1.0.5/Makefile.am --- old/libXext-1.0.4/Makefile.am 2007-12-08 00:42:48.000000000 +0100 +++ new/libXext-1.0.5/Makefile.am 2009-01-29 18:59:34.000000000 +0100 @@ -3,13 +3,13 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = xext.pc -EXTRA_DIST=xext.pc.in ChangeLog autogen.sh +EXTRA_DIST=xext.pc.in ChangeLog MAINTAINERCLEANFILES=ChangeLog .PHONY: ChangeLog ChangeLog: - (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2) + $(CHANGELOG_CMD) dist-hook: ChangeLog diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libXext-1.0.4/src/extutil.c new/libXext-1.0.5/src/extutil.c --- old/libXext-1.0.4/src/extutil.c 2007-11-28 01:46:14.000000000 +0100 +++ new/libXext-1.0.5/src/extutil.c 2009-01-29 19:47:55.000000000 +0100 @@ -54,7 +54,11 @@ #include <X11/Xlibint.h> #include <X11/extensions/Xext.h> #include <X11/extensions/extutil.h> +#include <X11/extensions/ge.h> +/* defined in Xge.c */ +extern Bool +xgeExtRegister(Display* dpy, int extension, XExtensionHooks* callbacks); /* * XextCreateExtension - return an extension descriptor containing context @@ -118,6 +122,11 @@ XESetWireToEvent (dpy, j, hooks->wire_to_event); XESetEventToWire (dpy, j, hooks->event_to_wire); } + + /* register extension for XGE */ + if (strcmp(ext_name, GE_NAME)) + xgeExtRegister(dpy, dpyinfo->codes->major_opcode, hooks); + if (hooks->create_gc) XESetCreateGC (dpy, dpyinfo->codes->extension, hooks->create_gc); if (hooks->copy_gc) @@ -235,7 +244,7 @@ -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)); @@ -248,11 +257,11 @@ * 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); @@ -265,8 +274,8 @@ */ 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 -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libXext-1.0.4/src/globals.c new/libXext-1.0.5/src/globals.c --- old/libXext-1.0.4/src/globals.c 2007-11-28 01:47:48.000000000 +0100 +++ new/libXext-1.0.5/src/globals.c 2009-01-29 19:48:19.000000000 +0100 @@ -75,8 +75,7 @@ /* * 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 diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libXext-1.0.4/src/Makefile.am new/libXext-1.0.5/src/Makefile.am --- old/libXext-1.0.4/src/Makefile.am 2007-11-28 02:31:56.000000000 +0100 +++ new/libXext-1.0.5/src/Makefile.am 2008-12-03 20:02:05.000000000 +0100 @@ -20,6 +20,7 @@ XTestExt1.c \ Xcup.c \ Xdbe.c \ + Xge.c \ extutil.c \ globals.c diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libXext-1.0.4/src/Xge.c new/libXext-1.0.5/src/Xge.c --- old/libXext-1.0.4/src/Xge.c 1970-01-01 01:00:00.000000000 +0100 +++ new/libXext-1.0.5/src/Xge.c 2008-12-03 20:02:05.000000000 +0100 @@ -0,0 +1,369 @@ +/* + * Copyright � 2007-2008 Peter Hutterer + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: Peter Hutterer, University of South Australia, NICTA + */ + +/* + * XGE is an extension to re-use a single opcode for multiple events, + * depending on the extension. XGE allows events >32 bytes. + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#define NEED_EVENTS +#define NEED_REPLIES + +#include <stdio.h> +#include <X11/extensions/geproto.h> +#include <X11/extensions/ge.h> +#include <X11/Xlibint.h> +#include <X11/extensions/extutil.h> +#include <X11/extensions/Xge.h> + +/***********************************************************************/ +/* internal data structures */ +/***********************************************************************/ + +typedef struct { + int present; + short major_version; + short minor_version; +} XGEVersionRec; + +/* NULL terminated list of registered extensions. */ +typedef struct _XGEExtNode { + int extension; + XExtensionHooks* hooks; + struct _XGEExtNode* next; +} XGEExtNode, *XGEExtList; + +/* Internal data for GE extension */ +typedef struct _XGEData { + XEvent data; + XGEVersionRec *vers; + XGEExtList extensions; +} XGEData; + + +/* forward declarations */ +extern XExtDisplayInfo* _xgeFindDisplay(Display*); +static Bool _xgeWireToEvent(Display*, XEvent*, xEvent*); +Status _xgeEventToWire(Display*, XEvent*, xEvent*); +static int _xgeDpyClose(Display*, XExtCodes*); +static XGEVersionRec* _xgeGetExtensionVersion(Display*, + _Xconst char*, + XExtDisplayInfo*); +static Bool _xgeCheckExtension(Display* dpy, XExtDisplayInfo* info); + +/* main extension information data */ +static XExtensionInfo *xge_info; +static char xge_extension_name[] = GE_NAME; +static XExtensionHooks xge_extension_hooks = { + NULL, /* create_gc */ + NULL, /* copy_gc */ + NULL, /* flush_gc */ + NULL, /* free_gc */ + NULL, /* create_font */ + NULL, /* free_font */ + _xgeDpyClose, /* close_display */ + _xgeWireToEvent, /* wire_to_event */ + _xgeEventToWire, /* event_to_wire */ + NULL, /* error */ + NULL, /* error_string */ +}; + + +XExtDisplayInfo *_xgeFindDisplay(Display *dpy) +{ + XExtDisplayInfo *dpyinfo; + if (!xge_info) + { + if (!(xge_info = XextCreateExtension())) + return NULL; + } + if (!(dpyinfo = XextFindDisplay (xge_info, dpy))) + { + dpyinfo = XextAddDisplay (xge_info, + dpy, + xge_extension_name, + &xge_extension_hooks, + 0 /* no events, see below */, + NULL); + /* We don't use an extension opcode, so we have to set the handlers + * directly. If GenericEvent would be > 64, the job would be done by + * XExtAddDisplay */ + XESetWireToEvent (dpy, + GenericEvent, + xge_extension_hooks.wire_to_event); + XESetEventToWire (dpy, + GenericEvent, + xge_extension_hooks.event_to_wire); + } + return dpyinfo; +} + +/* + * Check extension is set up and internal data fields are filled. + */ +Bool +_xgeCheckExtInit(Display* dpy, XExtDisplayInfo* info) +{ + LockDisplay(dpy); + if(!_xgeCheckExtension(dpy, info)) + { + goto cleanup; + } + + if (!info->data) + { + XGEData* data = (XGEData*)Xmalloc(sizeof(XGEData)); + if (!data) { + goto cleanup; + } + /* get version from server */ + data->vers = + _xgeGetExtensionVersion(dpy, "Generic Event Extension", info); + data->extensions = NULL; + info->data = (XPointer)data; + } + + UnlockDisplay(dpy); + return True; + +cleanup: + UnlockDisplay(dpy); + return False; +} + +/* Return 1 if XGE extension exists, 0 otherwise. */ +static Bool +_xgeCheckExtension(Display* dpy, XExtDisplayInfo* info) +{ + XextCheckExtension(dpy, info, xge_extension_name, False); + return True; +} + + +/* Retrieve XGE version number from server. */ +static XGEVersionRec* +_xgeGetExtensionVersion(Display* dpy, + _Xconst char* name, + XExtDisplayInfo*info) +{ + xGEQueryVersionReply rep; + xGEQueryVersionReq *req; + XGEVersionRec *vers; + + GetReq(GEQueryVersion, req); + req->reqType = info->codes->major_opcode; + req->ReqType = X_GEQueryVersion; + req->majorVersion = GE_MAJOR; + req->minorVersion = GE_MINOR; + + if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) + { + Xfree(info); + return NULL; + } + + vers = (XGEVersionRec*)Xmalloc(sizeof(XGEVersionRec)); + vers->major_version = rep.majorVersion; + vers->minor_version = rep.minorVersion; + return vers; +} + +/* + * Display closing routine. + */ + +static int +_xgeDpyClose(Display* dpy, XExtCodes* codes) +{ + XExtDisplayInfo *info = _xgeFindDisplay(dpy); + + if (info->data != NULL) { + XGEData* xge_data = (XGEData*)info->data; + + if (xge_data->extensions) + { + XGEExtList current, next; + current = xge_data->extensions; + while(current) + { + next = current->next; + Xfree(current); + current = next; + } + } + + XFree(xge_data->vers); + XFree(xge_data); + } + + return XextRemoveDisplay(xge_info, dpy); +} + +/* + * protocol to Xlib event conversion routine. + */ +static Bool +_xgeWireToEvent(Display* dpy, XEvent* re, xEvent *event) +{ + int extension; + XGEExtList it; + XExtDisplayInfo* info = _xgeFindDisplay(dpy); + if (!info) + return False; + /* + _xgeCheckExtInit() calls LockDisplay, leading to a SIGABRT. + Well, I guess we don't need the data we get in CheckExtInit anyway + if (!_xgeCheckExtInit(dpy, info)) + return False; + */ + + extension = ((xGenericEvent*)event)->extension; + + it = ((XGEData*)info->data)->extensions; + while(it) + { + if (it->extension == extension) + { + return (it->hooks->wire_to_event(dpy, re, event)); + } + it = it->next; + } + + fprintf(stderr, + "_xgeWireToEvent: Unknown extension %d, this should never happen.\n", + extension); + return False; +} + +/* + * xlib event to protocol conversion routine. + */ +Status +_xgeEventToWire(Display* dpy, XEvent* re, xEvent* event) +{ + int extension; + XGEExtList it; + XExtDisplayInfo* info = _xgeFindDisplay(dpy); + if (!info) + return 1; /* error! */ + + extension = ((XGenericEvent*)re)->extension; + + it = ((XGEData*)info->data)->extensions; + while(it) + { + if (it->extension == extension) + { + return (it->hooks->event_to_wire(dpy, re, event)); + } + it = it->next; + } + + fprintf(stderr, + "_xgeEventToWire: Unknown extension %d, this should never happen.\n", + extension); + + return Success; +} + +/* + * Extensions need to register callbacks for their events. + */ +Bool +xgeExtRegister(Display* dpy, int offset, XExtensionHooks* callbacks) +{ + XGEExtNode* newExt; + XGEData* xge_data; + + XExtDisplayInfo* info = _xgeFindDisplay(dpy); + if (!info) + return False; /* error! */ + + if (!_xgeCheckExtInit(dpy, info)) + return False; + + xge_data = (XGEData*)info->data; + + newExt = (XGEExtNode*)Xmalloc(sizeof(XGEExtNode)); + if (!newExt) + { + fprintf(stderr, "xgeExtRegister: Failed to alloc memory.\n"); + return False; + } + + newExt->extension = offset; + newExt->hooks = callbacks; + newExt->next = xge_data->extensions; + xge_data->extensions = newExt; + + return True; +} + +/***********************************************************************/ +/* Client interfaces */ +/***********************************************************************/ + +/* Set event_base and error_base to the matching values for XGE. + * Note that since XGE doesn't use any errors and events, the actual return + * value is of limited use. + */ +Bool +XGEQueryExtension(Display* dpy, int* event_base, int* error_base) +{ + XExtDisplayInfo* info = _xgeFindDisplay(dpy); + if (!_xgeCheckExtInit(dpy, info)) + return False; + + *event_base = info->codes->first_event; + *error_base = info->codes->first_error; + return True; +} + +/* Get XGE version number. + * Doesn't actually get it from server, that should have been done beforehand + * already + */ +Bool +XGEQueryVersion(Display* dpy, + int *major_version, + int *minor_version) +{ + XExtDisplayInfo* info = _xgeFindDisplay(dpy); + if (!info) + return False; + + if (!_xgeCheckExtInit(dpy, info)) + return False; + + *major_version = ((XGEData*)info->data)->vers->major_version; + *minor_version = ((XGEData*)info->data)->vers->minor_version; + + return True; +} + diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libXext-1.0.4/src/XMultibuf.c new/libXext-1.0.5/src/XMultibuf.c --- old/libXext-1.0.4/src/XMultibuf.c 2007-11-28 00:48:11.000000000 +0100 +++ new/libXext-1.0.5/src/XMultibuf.c 2009-01-29 19:03:40.000000000 +0100 @@ -634,7 +634,7 @@ req->borderWidth = border_width; req->depth = depth; req->class = class; - if (visual == CopyFromParent) + if (visual == (Visual *)CopyFromParent) req->visual = CopyFromParent; else req->visual = visual->visualid; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libXext-1.0.4/src/XSync.c new/libXext-1.0.5/src/XSync.c --- old/libXext-1.0.4/src/XSync.c 2006-07-11 20:05:14.000000000 +0200 +++ new/libXext-1.0.5/src/XSync.c 2008-12-03 20:02:05.000000000 +0100 @@ -1,4 +1,3 @@ -/* $Xorg: XSync.c,v 1.5 2001/02/09 02:03:49 xorgcvs Exp $ */ /* Copyright 1991, 1993, 1998 The Open Group @@ -287,11 +286,10 @@ int replylen; int i; - list = (XSyncSystemCounter *)Xmalloc( - rep.nCounters * sizeof(XSyncSystemCounter)); + list = Xmalloc(rep.nCounters * sizeof(XSyncSystemCounter)); replylen = rep.length << 2; - pWireSysCounter = (xSyncSystemCounter *) Xmalloc ((unsigned) replylen + 1); - /* +1 to leave room for last null-terminator */ + pWireSysCounter = Xmalloc ((unsigned) replylen + sizeof(XSyncCounter)); + /* +1 to leave room for last counter read-ahead */ if ((!list) || (!pWireSysCounter)) { ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de