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
+Date: Thu Jan 29 20:38:22 2009 -0200
+
+ Xorg libXext Version 1.0.5.
+
+commit 52cf9c06819d94e178285d75de6434e98358b63d
+Author: Paulo Cesar Pereira de Andrade
+Date: Thu Jan 29 17:02:46 2009 -0200
+
+ patch to avoid gcc warning in libXext
+
+ Original patch author is Peter Breitenlohner .
+ This closes bug #18038.
+
+commit a2e8bc500dfad18ab161b3a7be44cf6fa15f140f
+Author: Paulo Cesar Pereira de Andrade
+Date: Thu Jan 29 16:33:40 2009 -0200
+
+ Janitor: Correct make distcheck and compiler warnings.
+
+commit f467d17ae5a89aa1a2b8c7260334f41e8ee2d08c
+Author: Kim Woelders
+Date: Fri Oct 17 16:53:29 2008 -0400
+
+ Bug #17774: Allocate the right size in XSyncListSystemCounters.
+
+commit 49563f5d76637e2ca28fe0b91ce3114271c0955d
+Author: Peter Hutterer
+Date: Thu May 29 10:55:49 2008 +0930
+
+ Bump to 1.0.99.1
+
+commit 64edd246587adb59ac71031f72955fa5a73ac467
+Author: Peter Hutterer
+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
+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
+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
+Date: Mon May 12 18:04:09 2008 +0930
+
+ Merge branch 'master' into xge
+
commit 9884a41dd0282ca3dd19db5bf3a11554ee7eee57
Author: Alan Coopersmith
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
+Date: Thu Dec 6 14:23:02 2007 +1030
+
+ Merge branch 'master' into xge
+
commit 249daf0d8a044a97d053c957ab45445c159d31e4
Author: Alan Coopersmith
Date: Wed Nov 28 17:29:28 2007 -0800
@@ -72,6 +140,38 @@
Fix typos in source comments
+commit d1c93500e2f56b8aefda7133848c21f62572f5d5
+Author: Peter Hutterer
+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
+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
+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
+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
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 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
#include
#include
+#include
+/* 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
+#endif
+
+#define NEED_EVENTS
+#define NEED_REPLIES
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+/***********************************************************************/
+/* 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