aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2017-07-10 12:49:18 +0000
committerJan Beich <jbeich@FreeBSD.org>2017-07-10 12:49:18 +0000
commit0ad6a1d39e4c16d8fd37bfa3a66eedb06cd4c585 (patch)
treeb2a66eb76ed3b135a746af138a34f5c65a36018d
parent6960a69781c3c4fe540527805832964f95fa4681 (diff)
downloadports-0ad6a1d39e4c16d8fd37bfa3a66eedb06cd4c585.tar.gz
ports-0ad6a1d39e4c16d8fd37bfa3a66eedb06cd4c585.zip
MFH: r445140
devel/sdl12: backport crashfix for sparc64 Obtained from: upstream (via PkgSrc and OpenBSD Ports) Approved by: ports-secteam (junovitch)
Notes
Notes: svn path=/branches/2017Q3/; revision=445435
-rw-r--r--devel/sdl12/Makefile2
-rw-r--r--devel/sdl12/files/patch-src_video_x11_SDL__x11video.c30
2 files changed, 31 insertions, 1 deletions
diff --git a/devel/sdl12/Makefile b/devel/sdl12/Makefile
index a321839adc30..561da3d16cd5 100644
--- a/devel/sdl12/Makefile
+++ b/devel/sdl12/Makefile
@@ -3,7 +3,7 @@
PORTNAME= sdl
PORTVERSION= 1.2.15
-PORTREVISION= 9
+PORTREVISION= 10
PORTEPOCH= 2
CATEGORIES= devel
MASTER_SITES= http://www.libsdl.org/release/
diff --git a/devel/sdl12/files/patch-src_video_x11_SDL__x11video.c b/devel/sdl12/files/patch-src_video_x11_SDL__x11video.c
new file mode 100644
index 000000000000..dbc0a7eefe85
--- /dev/null
+++ b/devel/sdl12/files/patch-src_video_x11_SDL__x11video.c
@@ -0,0 +1,30 @@
+https://bugzilla.libsdl.org/show_bug.cgi?id=1427
+https://hg.libsdl.org/SDL/rev/57a55e457ef6
+
+--- src/video/x11/SDL_x11video.c.orig 2012-01-19 06:30:06 UTC
++++ src/video/x11/SDL_x11video.c
+@@ -418,16 +418,21 @@ static void create_aux_windows(_THIS)
+ }
+
+ {
+- pid_t pid = getpid();
++ union align_pid {
++ pid_t pid;
++ long dummy;
++ } a_pid;
+ char hostname[256];
++
++ a_pid.pid = getpid();
+
+- if (pid > 0 && gethostname(hostname, sizeof(hostname)) > -1) {
++ if (a_pid.pid > 0 && gethostname(hostname, sizeof(hostname)) > -1) {
+ Atom _NET_WM_PID = XInternAtom(SDL_Display, "_NET_WM_PID", False);
+ Atom WM_CLIENT_MACHINE = XInternAtom(SDL_Display, "WM_CLIENT_MACHINE", False);
+
+ hostname[sizeof(hostname)-1] = '\0';
+ XChangeProperty(SDL_Display, WMwindow, _NET_WM_PID, XA_CARDINAL, 32,
+- PropModeReplace, (unsigned char *)&pid, 1);
++ PropModeReplace, (unsigned char *)&(a_pid.pid), 1);
+ XChangeProperty(SDL_Display, WMwindow, WM_CLIENT_MACHINE, XA_STRING, 8,
+ PropModeReplace, (unsigned char *)hostname, SDL_strlen(hostname));
+ }