diff options
author | Donnie Berkholz <dberkholz@gentoo.org> | 2006-10-12 19:26:58 +0000 |
---|---|---|
committer | Donnie Berkholz <dberkholz@gentoo.org> | 2006-10-12 19:26:58 +0000 |
commit | f26de0cfa313314687508177b451577032f13fc1 (patch) | |
tree | 1885b5c5eaafb95cc81671c4c047088674713cae /x11-libs/libX11 | |
parent | Version bump (diff) | |
download | gentoo-2-f26de0cfa313314687508177b451577032f13fc1.tar.gz gentoo-2-f26de0cfa313314687508177b451577032f13fc1.tar.bz2 gentoo-2-f26de0cfa313314687508177b451577032f13fc1.zip |
Bump to fix some crashes associated with XKB, when XCB is active (Magnus Kessler, Jamey Sharp).
(Portage version: 2.1.2_pre2-r9)
Diffstat (limited to 'x11-libs/libX11')
-rw-r--r-- | x11-libs/libX11/ChangeLog | 9 | ||||
-rw-r--r-- | x11-libs/libX11/files/1.0.99.1-xcb-xkb-fixes.patch | 106 | ||||
-rw-r--r-- | x11-libs/libX11/files/digest-libX11-1.0.99.1-r1 | 3 | ||||
-rw-r--r-- | x11-libs/libX11/libX11-1.0.99.1-r1.ebuild | 33 |
4 files changed, 150 insertions, 1 deletions
diff --git a/x11-libs/libX11/ChangeLog b/x11-libs/libX11/ChangeLog index 5f6778350303..ab4b066a111e 100644 --- a/x11-libs/libX11/ChangeLog +++ b/x11-libs/libX11/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for x11-libs/libX11 # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/libX11/ChangeLog,v 1.54 2006/10/09 01:58:51 dberkholz Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/libX11/ChangeLog,v 1.55 2006/10/12 19:26:58 dberkholz Exp $ + +*libX11-1.0.99.1-r1 (12 Oct 2006) + + 12 Oct 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/1.0.99.1-xcb-xkb-fixes.patch, +libX11-1.0.99.1-r1.ebuild: + Bump to fix some crashes associated with XKB, when XCB is active (Magnus + Kessler, Jamey Sharp). *libX11-1.0.99.1 (09 Oct 2006) diff --git a/x11-libs/libX11/files/1.0.99.1-xcb-xkb-fixes.patch b/x11-libs/libX11/files/1.0.99.1-xcb-xkb-fixes.patch new file mode 100644 index 000000000000..5bf095cc5738 --- /dev/null +++ b/x11-libs/libX11/files/1.0.99.1-xcb-xkb-fixes.patch @@ -0,0 +1,106 @@ +diff --git a/src/xkb/XKBGeom.c b/src/xkb/XKBGeom.c +index 02b03ba..fa652b2 100644 +--- a/src/xkb/XKBGeom.c ++++ b/src/xkb/XKBGeom.c +@@ -632,21 +632,27 @@ XkbGetGeometry(Display *dpy,XkbDescPtr x + { + xkbGetGeometryReq *req; + xkbGetGeometryReply rep; ++Status status; + + if ( (!xkb) || (dpy->flags & XlibDisplayNoXkb) || + (!dpy->xkb_info && !XkbUseExtension(dpy,NULL,NULL))) + return BadAccess; + ++ LockDisplay(dpy); + GetReq(kbGetGeometry, req); + req->reqType = dpy->xkb_info->codes->major_opcode; + req->xkbReqType = X_kbGetGeometry; + req->deviceSpec = xkb->device_spec; + req->name= None; + if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) +- return BadImplementation; +- if (!rep.found) +- return BadName; +- return _XkbReadGetGeometryReply(dpy,&rep,xkb,NULL); ++ status = BadImplementation; ++ else if (!rep.found) ++ status = BadName; ++ else ++ status = _XkbReadGetGeometryReply(dpy,&rep,xkb,NULL); ++ UnlockDisplay(dpy); ++ SyncHandle(); ++ return status; + } + + Status +@@ -654,20 +660,26 @@ XkbGetNamedGeometry(Display *dpy,XkbDesc + { + xkbGetGeometryReq *req; + xkbGetGeometryReply rep; ++Status status; + + if ( (name==None) || (dpy->flags & XlibDisplayNoXkb) || + (!dpy->xkb_info && !XkbUseExtension(dpy,NULL,NULL)) ) + return BadAccess; + ++ LockDisplay(dpy); + GetReq(kbGetGeometry, req); + req->reqType = dpy->xkb_info->codes->major_opcode; + req->xkbReqType = X_kbGetGeometry; + req->deviceSpec = xkb->device_spec; + req->name= (CARD32)name; + if ((!_XReply(dpy, (xReply *)&rep, 0, xFalse))||(!rep.found)) +- return BadImplementation; +- if (!rep.found) +- return BadName; +- return _XkbReadGetGeometryReply(dpy,&rep,xkb,NULL); ++ status = BadImplementation; ++ else if (!rep.found) ++ status = BadName; ++ else ++ status = _XkbReadGetGeometryReply(dpy,&rep,xkb,NULL); ++ UnlockDisplay(dpy); ++ SyncHandle(); ++ return status; + } + +diff --git a/src/xkb/XKBGetMap.c b/src/xkb/XKBGetMap.c +index 777f7cc..59e9962 100644 +--- a/src/xkb/XKBGetMap.c ++++ b/src/xkb/XKBGetMap.c +@@ -823,8 +823,8 @@ XkbGetMapChanges(Display *dpy,XkbDescPtr + req->firstVModMapKey = changes->first_vmodmap_key; + req->nVModMapKeys = changes->num_vmodmap_keys; + status= _XkbHandleGetMapReply(dpy, xkb); +- SyncHandle(); + UnlockDisplay(dpy); ++ SyncHandle(); + return status; + } + UnlockDisplay(dpy); +diff --git a/src/xkb/XKBSetGeom.c b/src/xkb/XKBSetGeom.c +index e070623..8e4d8b1 100644 +--- a/src/xkb/XKBSetGeom.c ++++ b/src/xkb/XKBSetGeom.c +@@ -446,6 +446,7 @@ Status ret; + (!dpy->xkb_info && !XkbUseExtension(dpy,NULL,NULL))) + return BadAccess; + ++ LockDisplay(dpy); + GetReq(kbSetGeometry, req); + req->reqType = dpy->xkb_info->codes->major_opcode; + req->xkbReqType = X_kbSetGeometry; +diff --git a/src/xkb/XKBleds.c b/src/xkb/XKBleds.c +index 89ab2e9..865342c 100644 +--- a/src/xkb/XKBleds.c ++++ b/src/xkb/XKBleds.c +@@ -228,6 +228,8 @@ XkbGetNamedDeviceIndicator( Display * d + SyncHandle(); + return False; + } ++ UnlockDisplay(dpy); ++ SyncHandle(); + if ((!rep.found)||(!rep.supported)) + return False; + if (pNdxRtrn!=NULL) diff --git a/x11-libs/libX11/files/digest-libX11-1.0.99.1-r1 b/x11-libs/libX11/files/digest-libX11-1.0.99.1-r1 new file mode 100644 index 000000000000..c0fdfac85db2 --- /dev/null +++ b/x11-libs/libX11/files/digest-libX11-1.0.99.1-r1 @@ -0,0 +1,3 @@ +MD5 c7478cff2fe70f56a4f0ac503a0900df libX11-1.0.99.1.tar.bz2 1422144 +RMD160 ae7a4ba107efdc9acb573ffff025312100af366e libX11-1.0.99.1.tar.bz2 1422144 +SHA256 66fc9b1f59100ca9cc7fa4dd8840fb28b1e968ef3e5ad34e178fca1de373fdcf libX11-1.0.99.1.tar.bz2 1422144 diff --git a/x11-libs/libX11/libX11-1.0.99.1-r1.ebuild b/x11-libs/libX11/libX11-1.0.99.1-r1.ebuild new file mode 100644 index 000000000000..128d49b01940 --- /dev/null +++ b/x11-libs/libX11/libX11-1.0.99.1-r1.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/libX11/libX11-1.0.99.1-r1.ebuild,v 1.1 2006/10/12 19:26:58 dberkholz Exp $ + +# Must be before x-modular eclass is inherited +#SNAPSHOT="yes" + +inherit x-modular + +DESCRIPTION="X.Org X11 library" + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="ipv6 xcb" +RDEPEND=">=x11-libs/xtrans-1.0.1 + x11-libs/libXau + x11-libs/libXdmcp + x11-proto/kbproto + x11-proto/inputproto + >=x11-proto/xproto-7.0.6 + xcb? ( >=x11-libs/libxcb-0.9.92 )" +DEPEND="${RDEPEND} + x11-proto/xf86bigfontproto + x11-proto/bigreqsproto + x11-proto/xextproto + x11-proto/xcmiscproto + >=x11-misc/util-macros-0.99.0_p20051007" + +CONFIGURE_OPTIONS="$(use_enable ipv6) + $(use_with xcb)" +# xorg really doesn't like xlocale disabled. +# $(use_enable nls xlocale) + +PATCHES="${FILESDIR}/${PV}-xcb-xkb-fixes.patch" |