libX11 1.6.5
This commit is contained in:
parent
5257e43291
commit
c22400edc5
1
.gitignore
vendored
1
.gitignore
vendored
@ -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
|
||||
|
@ -1,87 +0,0 @@
|
||||
From 7f8f9a36ef901f31279c385caf960a22daeb33fe Mon Sep 17 00:00:00 2001
|
||||
From: "Owen W. Taylor" <otaylor@fishsoup.net>
|
||||
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 <otaylor@fishsoup.net>
|
||||
Reviewed-by: Uli Schlachter <psychon@znc.in>
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
---
|
||||
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
|
||||
|
@ -1,58 +0,0 @@
|
||||
From c74b070f2712c95f0db7c320a10232b0e5c83049 Mon Sep 17 00:00:00 2001
|
||||
From: Julien Cristau <jcristau@debian.org>
|
||||
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 <jcristau@debian.org>
|
||||
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
---
|
||||
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
|
||||
|
@ -1,36 +0,0 @@
|
||||
From 20a3f99eba5001925b8b313da3accb7900eb1927 Mon Sep 17 00:00:00 2001
|
||||
From: Emilio Pozuelo Monfort <pochu@debian.org>
|
||||
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 <jcristau@debian.org>
|
||||
Signed-off-by: Emilio Pozuelo Monfort <pochu@debian.org>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
---
|
||||
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
|
||||
|
13
libX11.spec
13
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 <ajax@redhat.com> - 1.6.5-1
|
||||
- libX11 1.6.5
|
||||
|
||||
* Thu Feb 16 2017 Rex Dieter <rdieter@fedoraproject.org> - 1.6.4-6
|
||||
- create/own /var/cache/libx11/compose (#962764)
|
||||
- %%build: --disable-silent-rules
|
||||
|
3
sources
3
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
|
||||
|
Loading…
Reference in New Issue
Block a user