| [fd5b1fe] | 1 | Submitted By: Ryan Oliver <ryan.oliver@pha.com.au>
|
|---|
| 2 | Date: 2005-07-31
|
|---|
| 3 | Initial Package Version: 1.2.8
|
|---|
| 4 | Upstream Status: Unknown
|
|---|
| 5 | Origin: Gentoo
|
|---|
| 6 | Description: Combined gentoo patches for SDL-1.2.8
|
|---|
| 7 |
|
|---|
| 8 | diff -uNr SDL-1.2.8/include/SDL_endian.h SDL-1.2.8-gentoo-fixes/include/SDL_endian.h
|
|---|
| 9 | --- SDL-1.2.8/include/SDL_endian.h 2004-12-13 18:54:30.000000000 +1100
|
|---|
| 10 | +++ SDL-1.2.8-gentoo-fixes/include/SDL_endian.h 2005-07-31 14:10:53.000000000 +1000
|
|---|
| 11 | @@ -68,7 +68,7 @@
|
|---|
| 12 | #elif defined(__GNUC__) && defined(__x86_64__)
|
|---|
| 13 | static __inline__ Uint16 SDL_Swap16(Uint16 x)
|
|---|
| 14 | {
|
|---|
| 15 | - __asm__("xchgb %b0,%h0" : "=q" (x) : "0" (x));
|
|---|
| 16 | + __asm__("xchgb %b0,%h0" : "=Q" (x) : "0" (x));
|
|---|
| 17 | return x;
|
|---|
| 18 | }
|
|---|
| 19 | #elif defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__))
|
|---|
| 20 | diff -uNr SDL-1.2.8/src/events/SDL_keyboard.c SDL-1.2.8-gentoo-fixes/src/events/SDL_keyboard.c
|
|---|
| 21 | --- SDL-1.2.8/src/events/SDL_keyboard.c 2004-02-19 04:22:00.000000000 +1100
|
|---|
| 22 | +++ SDL-1.2.8-gentoo-fixes/src/events/SDL_keyboard.c 2005-07-31 14:10:21.000000000 +1000
|
|---|
| 23 | @@ -491,7 +491,8 @@
|
|---|
| 24 | /*
|
|---|
| 25 | * jk 991215 - Added
|
|---|
| 26 | */
|
|---|
| 27 | - if ( SDL_KeyRepeat.timestamp ) {
|
|---|
| 28 | + if ( SDL_KeyRepeat.timestamp &&
|
|---|
| 29 | + SDL_KeyRepeat.evt.key.keysym.sym == keysym->sym ) {
|
|---|
| 30 | SDL_KeyRepeat.timestamp = 0;
|
|---|
| 31 | }
|
|---|
| 32 | break;
|
|---|
| 33 | diff -uNr SDL-1.2.8/src/video/directfb/SDL_DirectFB_video.c SDL-1.2.8-gentoo-fixes/src/video/directfb/SDL_DirectFB_video.c
|
|---|
| 34 | --- SDL-1.2.8/src/video/directfb/SDL_DirectFB_video.c 2004-12-13 18:54:35.000000000 +1100
|
|---|
| 35 | +++ SDL-1.2.8-gentoo-fixes/src/video/directfb/SDL_DirectFB_video.c 2005-07-31 14:09:41.000000000 +1000
|
|---|
| 36 | @@ -468,6 +468,9 @@
|
|---|
| 37 |
|
|---|
| 38 | if (HIDDEN->enable_mga_crtc2)
|
|---|
| 39 | {
|
|---|
| 40 | + DFBDisplayLayerConfig dlc;
|
|---|
| 41 | + DFBDisplayLayerConfigFlags failed;
|
|---|
| 42 | +
|
|---|
| 43 | ret = dfb->GetDisplayLayer (dfb, 2, &HIDDEN->c2layer);
|
|---|
| 44 | if (ret)
|
|---|
| 45 | {
|
|---|
| 46 | @@ -492,8 +495,6 @@
|
|---|
| 47 | HIDDEN->c2layer->SetOpacity(HIDDEN->c2layer, 0x0);
|
|---|
| 48 |
|
|---|
| 49 | /* Init the surface here as it got a fixed size */
|
|---|
| 50 | - DFBDisplayLayerConfig dlc;
|
|---|
| 51 | - DFBDisplayLayerConfigFlags failed;
|
|---|
| 52 |
|
|---|
| 53 | dlc.flags = DLCONF_PIXELFORMAT | DLCONF_BUFFERMODE | DLCONF_OPTIONS;
|
|---|
| 54 | dlc.buffermode = DLBM_BACKVIDEO;
|
|---|
| 55 | diff -uNr SDL-1.2.8/src/video/fbcon/SDL_fbevents.c SDL-1.2.8-gentoo-fixes/src/video/fbcon/SDL_fbevents.c
|
|---|
| 56 | --- SDL-1.2.8/src/video/fbcon/SDL_fbevents.c 2004-02-19 04:22:06.000000000 +1100
|
|---|
| 57 | +++ SDL-1.2.8-gentoo-fixes/src/video/fbcon/SDL_fbevents.c 2005-07-31 14:10:37.000000000 +1000
|
|---|
| 58 | @@ -835,7 +835,7 @@
|
|---|
| 59 | static void switch_vt(_THIS, unsigned short which)
|
|---|
| 60 | {
|
|---|
| 61 | struct vt_stat vtstate;
|
|---|
| 62 | - unsigned short current;
|
|---|
| 63 | + unsigned short v_active;
|
|---|
| 64 | SDL_Surface *screen;
|
|---|
| 65 | __u16 saved_pal[3*256];
|
|---|
| 66 | Uint32 screen_arealen;
|
|---|
| 67 | @@ -846,7 +846,7 @@
|
|---|
| 68 | (which == vtstate.v_active) ) {
|
|---|
| 69 | return;
|
|---|
| 70 | }
|
|---|
| 71 | - current = vtstate.v_active;
|
|---|
| 72 | + v_active = vtstate.v_active;
|
|---|
| 73 |
|
|---|
| 74 | /* Save the contents of the screen, and go to text mode */
|
|---|
| 75 | SDL_mutexP(hw_lock);
|
|---|
| 76 | @@ -864,7 +864,7 @@
|
|---|
| 77 | if ( ioctl(keyboard_fd, VT_ACTIVATE, which) == 0 ) {
|
|---|
| 78 | /* Wait for our console to be activated again */
|
|---|
| 79 | ioctl(keyboard_fd, VT_WAITACTIVE, which);
|
|---|
| 80 | - while ( ioctl(keyboard_fd, VT_WAITACTIVE, current) < 0 ) {
|
|---|
| 81 | + while ( ioctl(keyboard_fd, VT_WAITACTIVE, v_active) < 0 ) {
|
|---|
| 82 | if ( (errno != EINTR) && (errno != EAGAIN) ) {
|
|---|
| 83 | /* Unknown VT error - cancel this */
|
|---|
| 84 | break;
|
|---|
| 85 | diff -uNr SDL-1.2.8/src/video/x11/SDL_x11modes.c SDL-1.2.8-gentoo-fixes/src/video/x11/SDL_x11modes.c
|
|---|
| 86 | --- SDL-1.2.8/src/video/x11/SDL_x11modes.c 2004-12-13 18:54:37.000000000 +1100
|
|---|
| 87 | +++ SDL-1.2.8-gentoo-fixes/src/video/x11/SDL_x11modes.c 2005-07-31 14:08:57.000000000 +1000
|
|---|
| 88 | @@ -324,10 +324,6 @@
|
|---|
| 89 | fclose(metro_fp);
|
|---|
| 90 | }
|
|---|
| 91 | }
|
|---|
| 92 | -#if defined(__alpha__) || defined(__sparc64__) || defined(__powerpc__)
|
|---|
| 93 | - /* The alpha, sparc64 and PPC XFree86 servers are also buggy */
|
|---|
| 94 | - buggy_X11 = 1;
|
|---|
| 95 | -#endif
|
|---|
| 96 | /* Enumerate the available fullscreen modes */
|
|---|
| 97 | if ( ! buggy_X11 ) {
|
|---|
| 98 | if ( SDL_NAME(XF86VidModeQueryExtension)(SDL_Display, &vm_event, &vm_error) &&
|
|---|