diff options
Diffstat (limited to 'source/l/sdl')
-rw-r--r-- | source/l/sdl/libsdl-1.2.15-resizing.patch | 63 | ||||
-rw-r--r-- | source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch | 23 | ||||
-rwxr-xr-x | source/l/sdl/sdl.SlackBuild | 13 | ||||
-rw-r--r-- | source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff | 38 |
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 00000000..70988196 --- /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 00000000..7d3e5acf --- /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 3a0b61ae..70c203a2 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 685007ab..00000000 --- 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 { - |