main/sdl: fix from fedora

http://bugzilla.libsdl.org/show_bug.cgi?id=1155
This commit is contained in:
Natanael Copa 2012-05-16 06:39:11 +00:00
parent 281727c1ad
commit 18c4e00db7
2 changed files with 45 additions and 5 deletions

View File

@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=sdl
pkgver=1.2.15
pkgrel=0
pkgrel=1
pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard"
url="http://www.libsdl.org"
arch="all"
@ -9,16 +9,33 @@ license="LGPL"
subpackages="$pkgname-dev $pkgname-doc"
depends=
depends_dev="libx11-dev libiconv-dev"
makedepends="libxext-dev libxrender-dev libx11-dev libice-dev libsm-dev
makedepends="
$depends_dev
libxext-dev libxrender-dev libx11-dev libice-dev libsm-dev
libxrandr-dev mesa-dev alsa-lib-dev libiconv-dev"
source="http://www.libsdl.org/release/SDL-$pkgver.tar.gz"
source="http://www.libsdl.org/release/SDL-$pkgver.tar.gz
SDL-1.2.10-GrabNotViewable.patch"
_builddir="$srcdir"/SDL-$pkgver
prepare() {
cd "$_builddir"
for i in $source; do
case $i in
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
esac
done
}
build() {
cd "$srcdir"/SDL-$pkgver
cd "$_builddir"
./configure --prefix=/usr \
--disable-nasm \
--disable-esd \
--disable-video-svga \
--disable-video-ggi \
--disable-video-aalib \
--enable-alsa \
--enable-sdl-dlopen \
--with-x \
--disable-rpath \
--disable-nls
@ -31,4 +48,5 @@ package() {
rm "$pkgdir"/usr/lib/*.la
}
md5sums="9d96df8417572a2afb781a7c4c811a85 SDL-1.2.15.tar.gz"
md5sums="9d96df8417572a2afb781a7c4c811a85 SDL-1.2.15.tar.gz
37ad001a4d2ff924a5fab356b49f8a78 SDL-1.2.10-GrabNotViewable.patch"

View File

@ -0,0 +1,22 @@
Makes SDL-1.2 SDL_WM_GrabInput() non-blocking in case of SDL window is not
viewable. Patch provided by <pbonzini@redhat.com>.
See <http://bugzilla.libsdl.org/show_bug.cgi?id=1155>.
--- ./src/video/x11/SDL_x11wm.c 2007-12-31 04:48:13.000000000 +0000
+++ ./src/video/x11/SDL_x11wm.c 2009-01-15 10:27:14.000000000 +0000
@@ -351,13 +351,14 @@ SDL_GrabMode X11_GrabInputNoLock(_THIS,
result = XGrabPointer(SDL_Display, SDL_Window, True, 0,
GrabModeAsync, GrabModeAsync,
SDL_Window, None, CurrentTime);
- if ( result == GrabSuccess ) {
+ if ( result == GrabSuccess || result == GrabNotViewable ) {
break;
}
SDL_Delay(100);
}
if ( result != GrabSuccess ) {
/* Uh, oh, what do we do here? */ ;
+ return(SDL_GRAB_OFF);
}
/* Now grab the keyboard */
XGrabKeyboard(SDL_Display, WMwindow, True,