summaryrefslogtreecommitdiffstats
path: root/source/l/sdl
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/sdl')
-rw-r--r--source/l/sdl/libsdl-1.2.15-resizing.patch63
-rw-r--r--source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch23
-rwxr-xr-xsource/l/sdl/sdl.SlackBuild13
-rw-r--r--source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff38
4 files changed, 93 insertions, 44 deletions
diff --git a/source/l/sdl/libsdl-1.2.15-resizing.patch b/source/l/sdl/libsdl-1.2.15-resizing.patch
new file mode 100644
index 000000000..709881962
--- /dev/null
+++ b/source/l/sdl/libsdl-1.2.15-resizing.patch
@@ -0,0 +1,63 @@
+Description: Revert change that breaks window corner resizing
+ http://bugzilla.libsdl.org/show_bug.cgi?id=1430
+Author: Andrew Caudwell <acaudwell@gmail.com>
+Last-Update: 2012-04-10
+Bug-Debian: http://bugs.debian.org/665779
+
+diff -r c787fb1b5699 src/video/x11/SDL_x11events.c
+--- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300
+@@ -57,12 +57,6 @@
+ static SDLKey MISC_keymap[256];
+ SDLKey X11_TranslateKeycode(Display *display, KeyCode kc);
+
+-/*
+- Pending resize target for ConfigureNotify (so outdated events don't
+- cause inappropriate resize events)
+-*/
+-int X11_PendingConfigureNotifyWidth = -1;
+-int X11_PendingConfigureNotifyHeight = -1;
+
+ #ifdef X_HAVE_UTF8_STRING
+ Uint32 Utf8ToUcs4(const Uint8 *utf8)
+@@ -825,16 +819,6 @@
+ #ifdef DEBUG_XEVENTS
+ printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height);
+ #endif
+- if ((X11_PendingConfigureNotifyWidth != -1) &&
+- (X11_PendingConfigureNotifyHeight != -1)) {
+- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) &&
+- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) {
+- /* Event is from before the resize, so ignore. */
+- break;
+- }
+- X11_PendingConfigureNotifyWidth = -1;
+- X11_PendingConfigureNotifyHeight = -1;
+- }
+ if ( SDL_VideoSurface ) {
+ if ((xevent.xconfigure.width != SDL_VideoSurface->w) ||
+ (xevent.xconfigure.height != SDL_VideoSurface->h)) {
+diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h
+--- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300
+@@ -27,8 +27,3 @@
+ extern void X11_InitOSKeymap(_THIS);
+ extern void X11_PumpEvents(_THIS);
+ extern void X11_SetKeyboardState(Display *display, const char *key_vec);
+-
+-/* Variables to be exported */
+-extern int X11_PendingConfigureNotifyWidth;
+-extern int X11_PendingConfigureNotifyHeight;
+-
+diff -r c787fb1b5699 src/video/x11/SDL_x11video.c
+--- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300
+@@ -1182,8 +1182,6 @@
+ current = NULL;
+ goto done;
+ }
+- X11_PendingConfigureNotifyWidth = width;
+- X11_PendingConfigureNotifyHeight = height;
+ } else {
+ if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) {
+ current = NULL;
diff --git a/source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch b/source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch
new file mode 100644
index 000000000..7d3e5acfc
--- /dev/null
+++ b/source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch
@@ -0,0 +1,23 @@
+--- SDL-1.2.14/src/video/x11/SDL_x11events.c.orig 2010-04-08 11:57:05.003169834 -0700
++++ SDL-1.2.14/src/video/x11/SDL_x11events.c 2010-04-08 12:33:51.690926340 -0700
+@@ -423,12 +423,15 @@
+ if ( xevent.xcrossing.mode == NotifyUngrab )
+ printf("Mode: NotifyUngrab\n");
+ #endif
+- if ( this->input_grab == SDL_GRAB_OFF ) {
+- posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS);
++ if ( (xevent.xcrossing.mode != NotifyGrab) &&
++ (xevent.xcrossing.mode != NotifyUngrab) ) {
++ if ( this->input_grab == SDL_GRAB_OFF ) {
++ posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS);
++ }
++ posted = SDL_PrivateMouseMotion(0, 0,
++ xevent.xcrossing.x,
++ xevent.xcrossing.y);
+ }
+- posted = SDL_PrivateMouseMotion(0, 0,
+- xevent.xcrossing.x,
+- xevent.xcrossing.y);
+ }
+ break;
+
diff --git a/source/l/sdl/sdl.SlackBuild b/source/l/sdl/sdl.SlackBuild
index 3a0b61ae4..70c203a27 100755
--- a/source/l/sdl/sdl.SlackBuild
+++ b/source/l/sdl/sdl.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +26,7 @@ MIXER=${MIXER:-$(echo SDL_mixer-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d -
NET=${NET:-$(echo SDL_net-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
TTF=${TTF:-$(echo SDL_ttf-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -63,7 +63,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf sdl-$VERSION
tar xf $CWD/SDL-$VERSION.tar.?z* || exit 1
-cd SDL-$VERSION
+cd SDL-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -71,7 +71,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/sdl.linux-2.6.31.input_absinfo.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libsdl-1.2.15-resizing.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/sdl-1.2.14-fix-mouse-clicking.patch.gz | patch -p1 --verbose || exit 1
# We must use --disable-x11-shared or programs linked with SDL will
# crash on machines that use the closed source nVidia drivers.
@@ -140,8 +141,8 @@ rm -rf SDL_mixer-$MIXER
tar xf $CWD/SDL_mixer-$MIXER.tar.?z* || exit 1
cd SDL_mixer-$MIXER
-# Don't look for things in /usr/local, since this is an installed package:
-zcat $CWD/SDL_mixer.usrlocal.diff.gz | patch -p1 --verbose || exit 1
+# Fix default library path. Don't use /usr/local, and use lib64 where needed:
+sed -i "s,usr/local/lib,usr/lib${LIBDIRSUFFIX},g" timidity/config.h
# Install patched static libmikmod:
unzip libmikmod-3.1.12.zip
diff --git a/source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff b/source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff
deleted file mode 100644
index 685007ab7..000000000
--- a/source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff
+++ /dev/null
@@ -1,38 +0,0 @@
---- SDL-1.2.14/src/joystick/linux/SDL_sysjoystick.c 2011-01-23 23:23:31.865198998 +0100
-+++ SDL-1.2.14/src/joystick/linux/SDL_sysjoystick.c.org 2011-01-23 23:28:12.427198998 +0100
-@@ -700,26 +700,26 @@
- continue;
- }
- if ( test_bit(i, absbit) ) {
-- int values[5];
-+ struct input_absinfo absinfo;
-
-- if ( ioctl(fd, EVIOCGABS(i), values) < 0 )
-+ if ( ioctl(fd, EVIOCGABS(i), &absinfo) < 0 )
- continue;
- #ifdef DEBUG_INPUT_EVENTS
- printf("Joystick has absolute axis: %x\n", i);
- printf("Values = { %d, %d, %d, %d, %d }\n",
-- values[0], values[1],
-- values[2], values[3], values[4]);
-+ absinfo.value, absinfo.minimum,
-+ absinfo.maximum, absinfo.fuzz, absinfo.flat);
- #endif /* DEBUG_INPUT_EVENTS */
- joystick->hwdata->abs_map[i] = joystick->naxes;
-- if ( values[1] == values[2] ) {
-+ if ( absinfo.minimum == absinfo.maximum ) {
- joystick->hwdata->abs_correct[i].used = 0;
- } else {
- joystick->hwdata->abs_correct[i].used = 1;
- joystick->hwdata->abs_correct[i].coef[0] =
-- (values[2] + values[1]) / 2 - values[4];
-+ (absinfo.maximum + absinfo.minimum) / 2 - absinfo.flat;
- joystick->hwdata->abs_correct[i].coef[1] =
-- (values[2] + values[1]) / 2 + values[4];
-- t = ((values[2] - values[1]) / 2 - 2 * values[4]);
-+ (absinfo.maximum + absinfo.minimum) / 2 + absinfo.flat;
-+ t = ((absinfo.maximum - absinfo.minimum) / 2 - 2 * absinfo.flat);
- if ( t != 0 ) {
- joystick->hwdata->abs_correct[i].coef[2] = (1 << 29) / t;
- } else {
-