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.2.tar.bz2
|
||||||
/libX11-1.6.3.tar.bz2
|
/libX11-1.6.3.tar.bz2
|
||||||
/libX11-1.6.4.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
|
Summary: Core X11 protocol client library
|
||||||
Name: libX11
|
Name: libX11
|
||||||
Version: 1.6.4
|
Version: 1.6.5
|
||||||
Release: 6%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
|
Release: 1%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
URL: http://www.x.org
|
URL: http://www.x.org
|
||||||
@ -15,12 +15,10 @@ Source0: %{tarball}-%{gitdate}.tar.bz2
|
|||||||
Source1: make-git-snapshot.sh
|
Source1: make-git-snapshot.sh
|
||||||
Source2: commitid
|
Source2: commitid
|
||||||
%else
|
%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
|
%endif
|
||||||
|
|
||||||
Patch2: dont-forward-keycode-0.patch
|
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: xorg-x11-util-macros >= 1.11
|
||||||
BuildRequires: pkgconfig(xproto) >= 7.0.15
|
BuildRequires: pkgconfig(xproto) >= 7.0.15
|
||||||
@ -53,8 +51,6 @@ X.Org X11 libX11 development package
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n %{tarball}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}}
|
%setup -q -n %{tarball}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}}
|
||||||
%patch2 -p1 -b .dont-forward-keycode-0
|
%patch2 -p1 -b .dont-forward-keycode-0
|
||||||
%patch3 -p1
|
|
||||||
%patch4 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -v --install --force
|
autoreconf -v --install --force
|
||||||
@ -119,6 +115,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_mandir}/man5/*.5*
|
%{_mandir}/man5/*.5*
|
||||||
|
|
||||||
%changelog
|
%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
|
* Thu Feb 16 2017 Rex Dieter <rdieter@fedoraproject.org> - 1.6.4-6
|
||||||
- create/own /var/cache/libx11/compose (#962764)
|
- create/own /var/cache/libx11/compose (#962764)
|
||||||
- %%build: --disable-silent-rules
|
- %%build: --disable-silent-rules
|
||||||
|
3
sources
3
sources
@ -1,2 +1 @@
|
|||||||
2e36b73f8a42143142dda8129f02e4e0 libX11-1.6.3.tar.bz2
|
SHA512 (libX11-1.6.5.tar.bz2) = 63c40d37c92b8d1ac78541830b0c624c4e936924b26bce769936e0e2523fa8997be364647705057065f803f804897ea8173d1c41ef69a92832f20cc7c0fd40a0
|
||||||
6d54227082f3aa2c596f0b3a3fbb9175 libX11-1.6.4.tar.bz2
|
|
||||||
|
Loading…
Reference in New Issue
Block a user