diff options
author | Andrew Sun | 2018-07-30 14:50:33 -0400 |
---|---|---|
committer | Andrew Sun | 2018-07-30 14:50:33 -0400 |
commit | 581c3644ce39b3a03f267cb930d6bc177a3b59c6 (patch) | |
tree | c23b23d3deb703c02c40e453dcce8821ba69df1c | |
parent | e7bfdf687bf1ed80aa72270c949aa5bf9fc4aea5 (diff) | |
download | aur-mingw-w64-sdl.tar.gz |
mingw-w64-sdl: update url and add patches from regular sdl
-rw-r--r-- | .SRCINFO | 29 | ||||
-rw-r--r-- | PKGBUILD | 63 | ||||
-rw-r--r-- | SDL-1.2.10-GrabNotViewable.patch | 22 | ||||
-rw-r--r-- | SDL-1.2.15-SDL_EnableUNICODE_drops_keyboard_events.patch | 73 | ||||
-rw-r--r-- | SDL-1.2.15-const_XData32.patch | 16 | ||||
-rw-r--r-- | SDL-1.2.15-ignore_insane_joystick_axis.patch | 20 | ||||
-rw-r--r-- | SDL-1.2.15-no-default-backing-store.patch | 24 | ||||
-rw-r--r-- | SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch | 44 | ||||
-rw-r--r-- | X11_KeyToUnicode.patch | 52 | ||||
-rw-r--r-- | libsdl-1.2.15-resizing.patch | 63 | ||||
-rw-r--r-- | sdl-1.2.14-disable-mmx.patch | 13 | ||||
-rw-r--r-- | sdl-1.2.14-fix-mouse-clicking.patch | 23 |
12 files changed, 428 insertions, 14 deletions
@@ -1,17 +1,38 @@ pkgbase = mingw-w64-sdl pkgdesc = A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (mingw-w64) pkgver = 1.2.15 - pkgrel = 6 - url = http://libsdl.org + pkgrel = 7 + url = https://www.libsdl.org arch = any license = LGPL makedepends = mingw-w64-configure depends = mingw-w64-crt + depends = mingw-w64-libiconv options = staticlibs options = !strip options = !buildflags - source = http://libsdl.org/release/SDL-1.2.15.tar.gz - md5sums = 9d96df8417572a2afb781a7c4c811a85 + source = https://www.libsdl.org/release/SDL-1.2.15.tar.gz + source = SDL-1.2.10-GrabNotViewable.patch + source = SDL-1.2.15-SDL_EnableUNICODE_drops_keyboard_events.patch + source = SDL-1.2.15-const_XData32.patch + source = SDL-1.2.15-ignore_insane_joystick_axis.patch + source = SDL-1.2.15-no-default-backing-store.patch + source = SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch + source = sdl-1.2.14-fix-mouse-clicking.patch + source = sdl-1.2.14-disable-mmx.patch + source = libsdl-1.2.15-resizing.patch + source = X11_KeyToUnicode.patch + sha256sums = d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00 + sha256sums = ea2042b8a45a083b1447d5c56e52b23b79f2ddb0d717ec7b287b34ef71bd2d1a + sha256sums = 292046466d52a2ebe995a0121404864e4ee0de2b6024203acb95bbd600844da0 + sha256sums = bab60b515a74b71650ee71d5a0075c77046a7bad48b061673c3798dbdd35446d + sha256sums = 7586d6124d5452ad721ca6aa10eae09946d94854748e22f9c9c6fdca3d0aeb12 + sha256sums = 3941c44a5580df95c6868936cfc57ba3e7b6952fb8a3eb14f963d54d9d8ca8a4 + sha256sums = d296af5bb0d9856d049b4e5adb9dd995d2a1e51d76a6adf63457e65101a50620 + sha256sums = 8d178f13eb707e81f5f9d86bf7b609ae8f0bac937fb4a37ebcbf4bbc9b89e21b + sha256sums = 17bb880dd2cb4922d4e3771d146660b9da8be8f1629a5cdaae7523d4a9d2bd7c + sha256sums = 5160fb1c07b04480d98d45b89a0aa6e577f2ac4c3bace0c80b251e6aca1fb4a1 + sha256sums = b1ad9c60829b166e6b647006d6549ea657155e755cf574fcfc4b91b658654769 pkgname = mingw-w64-sdl @@ -1,23 +1,65 @@ +# Maintainer: Andrew Sun <adsun701@gmail.com> + pkgname=mingw-w64-sdl pkgver=1.2.15 -pkgrel=6 +pkgrel=7 pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (mingw-w64)" arch=(any) -url="http://libsdl.org" +url="https://www.libsdl.org" license=("LGPL") -depends=(mingw-w64-crt) -makedepends=(mingw-w64-configure) -options=(staticlibs !strip !buildflags) -source=("$url/release/SDL-$pkgver.tar.gz") -md5sums=('9d96df8417572a2afb781a7c4c811a85') +depends=('mingw-w64-crt' 'mingw-w64-libiconv') +makedepends=('mingw-w64-configure') +options=('staticlibs' '!strip' '!buildflags') +source=("${url}/release/SDL-${pkgver}.tar.gz" + "SDL-1.2.10-GrabNotViewable.patch" + "SDL-1.2.15-SDL_EnableUNICODE_drops_keyboard_events.patch" + "SDL-1.2.15-const_XData32.patch" + "SDL-1.2.15-ignore_insane_joystick_axis.patch" + "SDL-1.2.15-no-default-backing-store.patch" + "SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch" + "sdl-1.2.14-fix-mouse-clicking.patch" + "sdl-1.2.14-disable-mmx.patch" + "libsdl-1.2.15-resizing.patch" + "X11_KeyToUnicode.patch") +sha256sums=('d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00' + 'ea2042b8a45a083b1447d5c56e52b23b79f2ddb0d717ec7b287b34ef71bd2d1a' + '292046466d52a2ebe995a0121404864e4ee0de2b6024203acb95bbd600844da0' + 'bab60b515a74b71650ee71d5a0075c77046a7bad48b061673c3798dbdd35446d' + '7586d6124d5452ad721ca6aa10eae09946d94854748e22f9c9c6fdca3d0aeb12' + '3941c44a5580df95c6868936cfc57ba3e7b6952fb8a3eb14f963d54d9d8ca8a4' + 'd296af5bb0d9856d049b4e5adb9dd995d2a1e51d76a6adf63457e65101a50620' + '8d178f13eb707e81f5f9d86bf7b609ae8f0bac937fb4a37ebcbf4bbc9b89e21b' + '17bb880dd2cb4922d4e3771d146660b9da8be8f1629a5cdaae7523d4a9d2bd7c' + '5160fb1c07b04480d98d45b89a0aa6e577f2ac4c3bace0c80b251e6aca1fb4a1' + 'b1ad9c60829b166e6b647006d6549ea657155e755cf574fcfc4b91b658654769') _architectures="i686-w64-mingw32 x86_64-w64-mingw32" +prepare() { + cd "${srcdir}/SDL-${pkgver}" + # patches from regular package + patch -Np1 -i ../SDL-1.2.10-GrabNotViewable.patch + patch -Np1 -i ../SDL-1.2.15-SDL_EnableUNICODE_drops_keyboard_events.patch + patch -Np1 -i ../SDL-1.2.15-const_XData32.patch + patch -Np1 -i ../SDL-1.2.15-ignore_insane_joystick_axis.patch + patch -Np1 -i ../SDL-1.2.15-no-default-backing-store.patch + + # https://bugs.freedesktop.org/show_bug.cgi?id=27222 + patch -Np1 -i ../SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch + + patch -Np1 -i ../sdl-1.2.14-fix-mouse-clicking.patch + patch -Np1 -i ../sdl-1.2.14-disable-mmx.patch + patch -Np1 -i ../libsdl-1.2.15-resizing.patch + patch -Np1 -i ../X11_KeyToUnicode.patch +} + build() { cd "${srcdir}/SDL-${pkgver}" for _arch in ${_architectures}; do mkdir -p build-${_arch} && pushd build-${_arch} - ${_arch}-configure + ${_arch}-configure \ + --disable-assembly \ + .. make popd done @@ -28,10 +70,11 @@ package() { for _arch in ${_architectures}; do cd "${srcdir}/SDL-${pkgver}/build-${_arch}" make DESTDIR="$pkgdir" install + sed -e "s|-mwindows||g" -i ${pkgdir}/usr/${_arch}/lib/pkgconfig/sdl.pc chmod a-x "$pkgdir"/usr/${_arch}/lib/*.dll.a - rm -r "$pkgdir/usr/${_arch}/share" + rm -rf "$pkgdir/usr/${_arch}/share" ${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll ${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a - ln -s "/usr/${_arch}/bin/sdl-config" "$pkgdir/usr/bin/${_arch}-sdl-config" + ln -s "/usr/${_arch}/bin/sdl-config" "${pkgdir}/usr/bin/${_arch}-sdl-config" done } diff --git a/SDL-1.2.10-GrabNotViewable.patch b/SDL-1.2.10-GrabNotViewable.patch new file mode 100644 index 000000000000..128cf3510d90 --- /dev/null +++ b/SDL-1.2.10-GrabNotViewable.patch @@ -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, diff --git a/SDL-1.2.15-SDL_EnableUNICODE_drops_keyboard_events.patch b/SDL-1.2.15-SDL_EnableUNICODE_drops_keyboard_events.patch new file mode 100644 index 000000000000..fdf910e03d65 --- /dev/null +++ b/SDL-1.2.15-SDL_EnableUNICODE_drops_keyboard_events.patch @@ -0,0 +1,73 @@ +# HG changeset patch +# User Sam Lantinga <slouken@libsdl.org> +# Date 1397799374 25200 +# Thu Apr 17 22:36:14 2014 -0700 +# Branch SDL-1.2 +# Node ID 0aade9c0203f717fe4b823a176c3c040f1a709f8 +# Parent 22a7f096bb9d4d596f35a93e33608825693462b0 +Fixed bug 2325 - SDL_EnableUNICODE sometimes drops keyboard events completely + +Rafał Mużyło + +The most annoying part of this bug is that though I've found it in two separate apps, I don't have a trivial testcase for it. + +The problem seems to be a condition race, as it's triggered quite randomly (therefore it will be hard to tell whether it really gets fixed, if a probable fix is found). + +While it's specific to SDL 1.2, it seems quite similar to the problem described and fixed in http://forums.libsdl.org/viewtopic.php?p=40503. + +Now, I should start describing the problem. + +A game uses Escape to open menu (the exact key might not be important). Upon opening, it calls SDL_EnableUNICODE(1). Upon closing it calls SDL_EnableUNICODE(0). + +I have an IME running. + +Game uses SDL_PollEvent to get the events. + +If Escape is pressed repeatedly, menu is opened and closed, till it eventually freezes in open state. +"freezes" in this context means "app itself still runs, but no keyboard events are getting delivered (though - for example - mouse events still are)". "getting delivered" should mean "SDL_PollEvent is not receiving any". +If it matters, the last delivered keyboard event is a keypress, the release never arrives. + +It seems (no guarantees, due to random nature of the freeze) that unsetting XMODIFIERS (which - AFAIU - will disable IME as far as SDL is concerned) prevents the freeze, therefore the reference to that SDL2 thread. + +diff -r 22a7f096bb9d -r 0aade9c0203f src/video/x11/SDL_x11events.c +--- a/src/video/x11/SDL_x11events.c Sun Dec 01 00:00:17 2013 -0500 ++++ b/src/video/x11/SDL_x11events.c Thu Apr 17 22:36:14 2014 -0700 +@@ -395,6 +395,8 @@ + { + int posted; + XEvent xevent; ++ int orig_event_type; ++ KeyCode orig_keycode; + + SDL_memset(&xevent, '\0', sizeof (XEvent)); /* valgrind fix. --ryan. */ + XNextEvent(SDL_Display, &xevent); +@@ -410,9 +412,29 @@ + #ifdef X_HAVE_UTF8_STRING + /* If we are translating with IM, we need to pass all events + to XFilterEvent, and discard those filtered events immediately. */ ++ orig_event_type = xevent.type; ++ if (orig_event_type == KeyPress || orig_event_type == KeyRelease) { ++ orig_keycode = xevent.xkey.keycode; ++ } else { ++ orig_keycode = 0; ++ } + if ( SDL_TranslateUNICODE + && SDL_IM != NULL + && XFilterEvent(&xevent, None) ) { ++ if (orig_keycode) { ++ SDL_keysym keysym; ++ static XComposeStatus state; ++ char keybuf[32]; ++ ++ keysym.scancode = xevent.xkey.keycode; ++ keysym.sym = X11_TranslateKeycode(SDL_Display, xevent.xkey.keycode); ++ keysym.mod = KMOD_NONE; ++ keysym.unicode = 0; ++ if (orig_event_type == KeyPress && XLookupString(&xevent.xkey, keybuf, sizeof(keybuf), NULL, &state)) ++ keysym.unicode = (Uint8)keybuf[0]; ++ ++ SDL_PrivateKeyboard(orig_event_type == KeyPress ? SDL_PRESSED : SDL_RELEASED, &keysym); ++ } + return 0; + } + #endif diff --git a/SDL-1.2.15-const_XData32.patch b/SDL-1.2.15-const_XData32.patch new file mode 100644 index 000000000000..0f1c07cfb113 --- /dev/null +++ b/SDL-1.2.15-const_XData32.patch @@ -0,0 +1,16 @@ +libX11-1.5.99.901 has changed prototype of _XData32 + +<http://bugzilla.libsdl.org/show_bug.cgi?id=1769> + +diff -r b6b2829cd7ef src/video/x11/SDL_x11sym.h +--- a/src/video/x11/SDL_x11sym.h Wed Feb 27 15:20:31 2013 -0800 ++++ b/src/video/x11/SDL_x11sym.h Wed Mar 27 16:07:23 2013 +0100 +@@ -165,7 +165,7 @@ + */ + #ifdef LONG64 + SDL_X11_MODULE(IO_32BIT) +-SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return) ++SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return) + SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),) + #endif + diff --git a/SDL-1.2.15-ignore_insane_joystick_axis.patch b/SDL-1.2.15-ignore_insane_joystick_axis.patch new file mode 100644 index 000000000000..33340fd1bcc8 --- /dev/null +++ b/SDL-1.2.15-ignore_insane_joystick_axis.patch @@ -0,0 +1,20 @@ +changeset: 6324:95abff7adcc2 +branch: SDL-1.2 +parent: 6306:2b923729fd01 +user: Ryan C. Gordon <icculus@icculus.org> +date: Sun Jun 03 04:49:25 2012 -0400 +summary: Linux evdev: ignore joystick axis events if they aren't in a sane range. + +diff -r 2b923729fd01 -r 95abff7adcc2 src/joystick/linux/SDL_sysjoystick.c +--- a/src/joystick/linux/SDL_sysjoystick.c Sat May 12 23:32:51 2012 -0700 ++++ b/src/joystick/linux/SDL_sysjoystick.c Sun Jun 03 04:49:25 2012 -0400 +@@ -1106,6 +1106,9 @@ + } + break; + case EV_ABS: ++ if (code > ABS_MISC) { ++ break; ++ } + switch (code) { + case ABS_HAT0X: + case ABS_HAT0Y: diff --git a/SDL-1.2.15-no-default-backing-store.patch b/SDL-1.2.15-no-default-backing-store.patch new file mode 100644 index 000000000000..4d5209d1e187 --- /dev/null +++ b/SDL-1.2.15-no-default-backing-store.patch @@ -0,0 +1,24 @@ +Do not harness backing store by default + +xorg-server 1.15 enables backing store if composite extension is enabled +(default settings). Harnessing backing store through compositor leads to +tearing effect. + +This patch reverts default harnessing backing store to conditional use if +SDL_VIDEO_X11_BACKINGSTORE environment variable exists. + +<https://bugzilla.libsdl.org/show_bug.cgi?id=2383> +<https://bugzilla.redhat.com/show_bug.cgi?id=1073057> + +diff -up SDL-1.2.15/src/video/x11/SDL_x11video.c.jx SDL-1.2.15/src/video/x11/SDL_x11video.c +--- SDL-1.2.15/src/video/x11/SDL_x11video.c.jx 2012-01-19 01:30:06.000000000 -0500 ++++ SDL-1.2.15/src/video/x11/SDL_x11video.c 2014-03-04 14:39:34.691545549 -0500 +@@ -1088,7 +1088,7 @@ static int X11_CreateWindow(_THIS, SDL_S + } + } + +-#if 0 /* This is an experiment - are the graphics faster now? - nope. */ ++#if 1 /* This is an experiment - are the graphics faster now? - nope. */ + if ( SDL_getenv("SDL_VIDEO_X11_BACKINGSTORE") ) + #endif + /* Cache the window in the server, when possible */ diff --git a/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch b/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch new file mode 100644 index 000000000000..087a13476411 --- /dev/null +++ b/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch @@ -0,0 +1,44 @@ +From 4b56fa058a45b7c804d1a5fcaf7a70db0bd0581c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <petr.pisar@atlas.cz> +Date: Tue, 1 Jan 2013 21:25:15 +0100 +Subject: [PATCH] x11: Bypass SetGammaRamp when changing gamma + +Recent Xorg has broken dynamic colors setting, so calling SDL_SetGamme() +does not have any effect here. Recent means xorg-server >= 1.7, since 2010. +See <https://bugs.freedesktop.org/show_bug.cgi?id=27222>. +--- + src/video/SDL_gamma.c | 15 ++------------- + 1 files changed, 2 insertions(+), 13 deletions(-) + +diff --git a/src/video/SDL_gamma.c b/src/video/SDL_gamma.c +index 4fd0370..464ab88 100644 +--- a/src/video/SDL_gamma.c ++++ b/src/video/SDL_gamma.c +@@ -92,22 +92,11 @@ static void CalculateGammaFromRamp(float *gamma, Uint16 *ramp) + + int SDL_SetGamma(float red, float green, float blue) + { +- int succeeded; ++ int succeeded = -1; + SDL_VideoDevice *video = current_video; + SDL_VideoDevice *this = current_video; + +- succeeded = -1; +- /* Prefer using SetGammaRamp(), as it's more flexible */ +- { +- Uint16 ramp[3][256]; +- +- CalculateGammaRamp(red, ramp[0]); +- CalculateGammaRamp(green, ramp[1]); +- CalculateGammaRamp(blue, ramp[2]); +- succeeded = SDL_SetGammaRamp(ramp[0], ramp[1], ramp[2]); +- } +- if ( (succeeded < 0) && video->SetGamma ) { +- SDL_ClearError(); ++ if ( video->SetGamma ) { + succeeded = video->SetGamma(this, red, green, blue); + } + return succeeded; +-- +1.7.8.6 + diff --git a/X11_KeyToUnicode.patch b/X11_KeyToUnicode.patch new file mode 100644 index 000000000000..5f0f325b1a01 --- /dev/null +++ b/X11_KeyToUnicode.patch @@ -0,0 +1,52 @@ + +# HG changeset patch +# User Sam Lantinga <slouken@libsdl.org> +# Date 1327258041 18000 +# Node ID 900a0fae90ca65cff55a70a17b9ec39d2ddccbcf +# Parent 5273dfd19a5e8c5736a0d417bd441f704c5355f8 +Fixed bug 1390 - X11_KeyToUnicode + +manuel.montezelo 2012-01-22 08:56:18 PST + +We had the following bug report at Debian: +http://bugs.debian.org/376560 + +Same one in Ubuntu: +https://bugs.launchpad.net/ubuntu/+source/libsdl1.2/+bug/66217 + +We've been including a patch since then (attached) to actually export the +symbol, since 2006. In the last release the function seems to be there, alive +and kicking. + +It's affecting other people too: +http://www.garagegames.com/community/forums/viewthread/52287 + +diff -r 5273dfd19a5e -r 900a0fae90ca src/video/x11/SDL_x11events.c +--- a/src/video/x11/SDL_x11events.c Sat Jan 21 12:06:51 2012 -0500 ++++ b/src/video/x11/SDL_x11events.c Sun Jan 22 13:47:21 2012 -0500 +@@ -1246,8 +1246,11 @@ + * sequences (dead accents, compose key sequences) will not work since the + * state has been irrevocably lost. + */ ++extern DECLSPEC Uint16 SDLCALL X11_KeyToUnicode(SDLKey, SDLMod); ++ + Uint16 X11_KeyToUnicode(SDLKey keysym, SDLMod modifiers) + { ++ static int warning = 0; + struct SDL_VideoDevice *this = current_video; + char keybuf[32]; + int i; +@@ -1255,6 +1258,12 @@ + XKeyEvent xkey; + Uint16 unicode; + ++ if ( warning ) { ++ warning = 0; ++ fprintf(stderr, "WARNING: Application is using X11_KeyToUnicode().\n"); ++ fprintf(stderr, "This is not an official SDL function, please report this as a bug.\n"); ++ } ++ + if ( !this || !SDL_Display ) { + return 0; + } + diff --git a/libsdl-1.2.15-resizing.patch b/libsdl-1.2.15-resizing.patch new file mode 100644 index 000000000000..0655a13e137c --- /dev/null +++ b/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/sdl-1.2.14-disable-mmx.patch b/sdl-1.2.14-disable-mmx.patch new file mode 100644 index 000000000000..1bb6e0e47e0a --- /dev/null +++ b/sdl-1.2.14-disable-mmx.patch @@ -0,0 +1,13 @@ +# and another one from FS#26020 + +--- a/src/video/SDL_yuv_sw.c 2009-10-13 06:07:15.000000000 +0700 ++++ b/src/video/SDL_yuv_sw.c 2011-09-20 19:26:30.247742620 +0700 +@@ -89,6 +89,8 @@ + #include "SDL_yuvfuncs.h" + #include "SDL_yuv_sw_c.h" + ++#undef __OPTIMIZE__ ++ + /* The functions used to manipulate software video overlays */ + static struct private_yuvhwfuncs sw_yuvfuncs = { + SDL_LockYUV_SW, diff --git a/sdl-1.2.14-fix-mouse-clicking.patch b/sdl-1.2.14-fix-mouse-clicking.patch new file mode 100644 index 000000000000..7d3e5acfc143 --- /dev/null +++ b/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; + |