diff --git a/.gitignore b/.gitignore index 05290f6..cd38e32 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ libX11-1.3.99.901.tar.bz2 /libX11-1.6.2.tar.bz2 /libX11-1.6.3.tar.bz2 /libX11-1.6.4.tar.bz2 +/libX11-1.6.5.tar.bz2 diff --git a/0001-Fix-XNextRequest-after-direct-usage-of-XCB.patch b/0001-Fix-XNextRequest-after-direct-usage-of-XCB.patch deleted file mode 100644 index 16355f1..0000000 --- a/0001-Fix-XNextRequest-after-direct-usage-of-XCB.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 7f8f9a36ef901f31279c385caf960a22daeb33fe Mon Sep 17 00:00:00 2001 -From: "Owen W. Taylor" -Date: Fri, 9 May 2014 18:21:05 -0400 -Subject: [PATCH] Fix XNextRequest() after direct usage of XCB - -When XCB owns the X socket, dpy->request is not updated, so -NextRequest() and XNextRequest() return the wrong value. There's -nothing we can do to fix NextRequest() while retaining ABI compat, -but change XNextRequest() to grab the socket back from XCB, -updating dpy->request. - -Signed-off-by: Owen W. Taylor -Reviewed-by: Uli Schlachter -Signed-off-by: Alan Coopersmith ---- - src/Macros.c | 14 +++++++++++++- - src/Xxcbint.h | 2 ++ - src/xcb_io.c | 11 +++++++++++ - 3 files changed, 26 insertions(+), 1 deletion(-) - -diff --git a/src/Macros.c b/src/Macros.c -index cfc083a..394a764 100644 ---- a/src/Macros.c -+++ b/src/Macros.c -@@ -30,6 +30,7 @@ in this Software without prior written authorization from The Open Group. - #include "Xlibint.h" - #define XUTIL_DEFINE_FUNCTIONS - #include "Xutil.h" -+#include "Xxcbint.h" - - /* - * This file makes full definitions of routines for each macro. -@@ -135,9 +136,20 @@ int XBitmapPad(Display *dpy) { return (BitmapPad(dpy)); } - - int XImageByteOrder(Display *dpy) { return (ImageByteOrder(dpy)); } - -+/* XNextRequest() differs from the rest of the functions here because it is -+ * no longer a macro wrapper - when libX11 is being used mixed together -+ * with direct use of xcb, the next request field of the Display structure will -+ * not be updated. We can't fix the NextRequest() macro in any easy way, -+ * but we can at least make XNextRequest() do the right thing. -+ */ - unsigned long XNextRequest(Display *dpy) - { -- return (NextRequest(dpy)); -+ unsigned long next_request; -+ LockDisplay(dpy); -+ next_request = _XNextRequest(dpy); -+ UnlockDisplay(dpy); -+ -+ return next_request; - } - - unsigned long XLastKnownRequestProcessed(Display *dpy) -diff --git a/src/Xxcbint.h b/src/Xxcbint.h -index a8c9a67..bf41c23 100644 ---- a/src/Xxcbint.h -+++ b/src/Xxcbint.h -@@ -46,4 +46,6 @@ typedef struct _X11XCBPrivate { - int _XConnectXCB(Display *dpy, _Xconst char *display, int *screenp); - void _XFreeX11XCBStructure(Display *dpy); - -+unsigned long _XNextRequest(Display *dpy); -+ - #endif /* XXCBINT_H */ -diff --git a/src/xcb_io.c b/src/xcb_io.c -index 727c6c7..5987329 100644 ---- a/src/xcb_io.c -+++ b/src/xcb_io.c -@@ -774,3 +774,14 @@ void _XEatDataWords(Display *dpy, unsigned long n) - dpy->xcb->reply_consumed = dpy->xcb->reply_length; - _XFreeReplyData(dpy, False); - } -+ -+unsigned long -+_XNextRequest(Display *dpy) -+{ -+ /* This will update dpy->request. The assumption is that the next thing -+ * that the application will do is make a request so there's little -+ * overhead. -+ */ -+ require_socket(dpy); -+ return NextRequest(dpy); -+} --- -2.0.0 - diff --git a/0001-Fix-wrong-Xfree-in-XListFonts-failure-path.patch b/0001-Fix-wrong-Xfree-in-XListFonts-failure-path.patch deleted file mode 100644 index 947a861..0000000 --- a/0001-Fix-wrong-Xfree-in-XListFonts-failure-path.patch +++ /dev/null @@ -1,58 +0,0 @@ -From c74b070f2712c95f0db7c320a10232b0e5c83049 Mon Sep 17 00:00:00 2001 -From: Julien Cristau -Date: Sat, 7 Jan 2017 16:20:31 +0100 -Subject: [PATCH libX11] Fix wrong Xfree in XListFonts failure path - -'ch' gets moved inside the allocated buffer as we're looping through -fonts, so keep a reference to the start of the buffer so we can pass -that to Xfree in the failure case. - -Fixes: commit 20a3f99eba5001925b8b313da3accb7900eb1927 "Plug a memory leak" - -Signed-off-by: Julien Cristau -Reviewed-by: Alan Coopersmith -Signed-off-by: Peter Hutterer ---- - src/FontNames.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/FontNames.c b/src/FontNames.c -index 3e23b5f..9ffdfd2 100644 ---- a/src/FontNames.c -+++ b/src/FontNames.c -@@ -43,6 +43,7 @@ int *actualCount) /* RETURN */ - register int length; - char **flist = NULL; - char *ch = NULL; -+ char *chstart; - char *chend; - int count = 0; - xListFontsReply rep; -@@ -86,6 +87,7 @@ int *actualCount) /* RETURN */ - /* - * unpack into null terminated strings. - */ -+ chstart = ch; - chend = ch + (rlen + 1); - length = *(unsigned char *)ch; - *ch = 1; /* make sure it is non-zero for XFreeFontNames */ -@@ -98,14 +100,14 @@ int *actualCount) /* RETURN */ - *ch = '\0'; /* and replace with null-termination */ - count++; - } else { -- Xfree(ch); -+ Xfree(chstart); - Xfree(flist); - flist = NULL; - count = 0; - break; - } - } else { -- Xfree(ch); -+ Xfree(chstart); - Xfree(flist); - flist = NULL; - count = 0; --- -2.9.3 - diff --git a/0001-Plug-a-memory-leak.patch b/0001-Plug-a-memory-leak.patch deleted file mode 100644 index 61f9174..0000000 --- a/0001-Plug-a-memory-leak.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 20a3f99eba5001925b8b313da3accb7900eb1927 Mon Sep 17 00:00:00 2001 -From: Emilio Pozuelo Monfort -Date: Tue, 25 Oct 2016 21:30:15 +0200 -Subject: [PATCH libX11] Plug a memory leak - -This was introduced in 8ea762f. - -Reported-by: Julien Cristau -Signed-off-by: Emilio Pozuelo Monfort -Signed-off-by: Peter Hutterer ---- - src/FontNames.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/FontNames.c b/src/FontNames.c -index e55f338..3e23b5f 100644 ---- a/src/FontNames.c -+++ b/src/FontNames.c -@@ -98,12 +98,14 @@ int *actualCount) /* RETURN */ - *ch = '\0'; /* and replace with null-termination */ - count++; - } else { -+ Xfree(ch); - Xfree(flist); - flist = NULL; - count = 0; - break; - } - } else { -+ Xfree(ch); - Xfree(flist); - flist = NULL; - count = 0; --- -2.9.3 - diff --git a/libX11.spec b/libX11.spec index d95f4fb..acd9460 100644 --- a/libX11.spec +++ b/libX11.spec @@ -4,8 +4,8 @@ Summary: Core X11 protocol client library Name: libX11 -Version: 1.6.4 -Release: 6%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist} +Version: 1.6.5 +Release: 1%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist} License: MIT Group: System Environment/Libraries URL: http://www.x.org @@ -15,12 +15,10 @@ Source0: %{tarball}-%{gitdate}.tar.bz2 Source1: make-git-snapshot.sh Source2: commitid %else -Source0: http://xorg.freedesktop.org/archive/individual/lib/%{name}-%{version}.tar.bz2 +Source0: https://xorg.freedesktop.org/archive/individual/lib/%{name}-%{version}.tar.bz2 %endif Patch2: dont-forward-keycode-0.patch -Patch3: 0001-Plug-a-memory-leak.patch -Patch4: 0001-Fix-wrong-Xfree-in-XListFonts-failure-path.patch BuildRequires: xorg-x11-util-macros >= 1.11 BuildRequires: pkgconfig(xproto) >= 7.0.15 @@ -53,8 +51,6 @@ X.Org X11 libX11 development package %prep %setup -q -n %{tarball}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}} %patch2 -p1 -b .dont-forward-keycode-0 -%patch3 -p1 -%patch4 -p1 %build autoreconf -v --install --force @@ -119,6 +115,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man5/*.5* %changelog +* Wed Apr 26 2017 Adam Jackson - 1.6.5-1 +- libX11 1.6.5 + * Thu Feb 16 2017 Rex Dieter - 1.6.4-6 - create/own /var/cache/libx11/compose (#962764) - %%build: --disable-silent-rules diff --git a/sources b/sources index 079292a..95cf6e1 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -2e36b73f8a42143142dda8129f02e4e0 libX11-1.6.3.tar.bz2 -6d54227082f3aa2c596f0b3a3fbb9175 libX11-1.6.4.tar.bz2 +SHA512 (libX11-1.6.5.tar.bz2) = 63c40d37c92b8d1ac78541830b0c624c4e936924b26bce769936e0e2523fa8997be364647705057065f803f804897ea8173d1c41ef69a92832f20cc7c0fd40a0