aboutsummaryrefslogtreecommitdiffstats
path: root/x11-servers
diff options
context:
space:
mode:
authorzeising <zeising@FreeBSD.org>2012-12-14 19:02:48 +0800
committerzeising <zeising@FreeBSD.org>2012-12-14 19:02:48 +0800
commitf8679ef171f8eb8efbc6662799c53b41fb8e71be (patch)
tree2b50078136e2b59e7581d3b3e071a107e6922b9f /x11-servers
parent2a20906a858af06ccf61e1e1cd0dd98dee88d575 (diff)
downloadfreebsd-ports-gnome-f8679ef171f8eb8efbc6662799c53b41fb8e71be.tar.gz
freebsd-ports-gnome-f8679ef171f8eb8efbc6662799c53b41fb8e71be.tar.zst
freebsd-ports-gnome-f8679ef171f8eb8efbc6662799c53b41fb8e71be.zip
Add a patch to fix a couple of cases of use before initialized in the new
xorg-server. Without this patch, xorg-server compiled with clang segfaults. Bump portrevision since clang is default compiler on current. Reviewed by: kwm Approved by: kwm, miwi (mentors, implicit)
Diffstat (limited to 'x11-servers')
-rw-r--r--x11-servers/xorg-server/Makefile5
-rw-r--r--x11-servers/xorg-server/files/extra-clang53
2 files changed, 56 insertions, 2 deletions
diff --git a/x11-servers/xorg-server/Makefile b/x11-servers/xorg-server/Makefile
index 6a7d08f273b2..ac6e6fe5202e 100644
--- a/x11-servers/xorg-server/Makefile
+++ b/x11-servers/xorg-server/Makefile
@@ -26,10 +26,11 @@ SLAVE_PORT?= no
.if defined(WITH_NEW_XORG)
XORG_VERSION= 1.10.6
-XORG_REVISION= 1
+XORG_REVISION= 2
PLIST_SUB+= OLD="@comment " NEW=""
EXTRA_PATCHES+= ${FILESDIR}/extra-hw_dmx_glxProxy_compsize.h \
- ${FILESDIR}/extra-hw_dmx_glxProxy_glxcmds.h
+ ${FILESDIR}/extra-hw_dmx_glxProxy_glxcmds.h \
+ ${FILESDIR}/extra-clang
.else
XORG_VERSION= 1.7.7
XORG_REVISION= 6
diff --git a/x11-servers/xorg-server/files/extra-clang b/x11-servers/xorg-server/files/extra-clang
new file mode 100644
index 000000000000..82817592415a
--- /dev/null
+++ b/x11-servers/xorg-server/files/extra-clang
@@ -0,0 +1,53 @@
+--- hw/xfree86/common/xf86Xinput.c.orig 2012-12-13 23:58:55.673738569 +0100
++++ hw/xfree86/common/xf86Xinput.c 2012-12-13 23:59:52.528738525 +0100
+@@ -479,7 +479,7 @@
+ MatchAttrToken(const char *attr, struct list *patterns,
+ int (*compare)(const char *attr, const char *pattern))
+ {
+- const xf86MatchGroup *group;
++ const xf86MatchGroup *group = NULL;
+
+ /* If there are no patterns, accept the match */
+ if (list_is_empty(patterns))
+--- hw/xfree86/parser/InputClass.c.orig 2012-12-14 00:03:07.149734651 +0100
++++ hw/xfree86/parser/InputClass.c 2012-12-14 00:04:09.522735172 +0100
+@@ -338,7 +338,8 @@
+ XF86ConfInputClassPtr prev;
+
+ while (ptr) {
+- xf86MatchGroup *group, *next;
++ xf86MatchGroup *group = NULL;
++ xf86MatchGroup *next;
+ char **list;
+
+ TestFree(ptr->identifier);
+--- hw/xfree86/dri2/dri2.c.orig 2012-12-14 00:06:39.680738243 +0100
++++ hw/xfree86/dri2/dri2.c 2012-12-14 00:08:14.310729622 +0100
+@@ -201,7 +201,7 @@
+ static DRI2DrawableRefPtr
+ DRI2LookupDrawableRef(DRI2DrawablePtr pPriv, XID id)
+ {
+- DRI2DrawableRefPtr ref;
++ DRI2DrawableRefPtr ref = NULL;
+
+ list_for_each_entry(ref, &pPriv->reference_list, link) {
+ if (ref->id == id)
+@@ -267,7 +267,8 @@
+ {
+ DRI2DrawablePtr pPriv = p;
+ DRI2ScreenPtr ds = pPriv->dri2_screen;
+- DRI2DrawableRefPtr ref, next;
++ DRI2DrawableRefPtr ref = NULL;
++ DRI2DrawableRefPtr next;
+ WindowPtr pWin;
+ PixmapPtr pPixmap;
+ DrawablePtr pDraw;
+@@ -534,7 +535,7 @@
+ DRI2InvalidateDrawable(DrawablePtr pDraw)
+ {
+ DRI2DrawablePtr pPriv = DRI2GetDrawable(pDraw);
+- DRI2DrawableRefPtr ref;
++ DRI2DrawableRefPtr ref = NULL;
+
+ if (!pPriv)
+ return;