Mon, 16 Jan 2012 20:40:10 -0500Added spaces for the include path
Sam Lantinga [Mon, 16 Jan 2012 20:40:10 -0500] rev 6223
Added spaces for the include path

Mon, 16 Jan 2012 19:46:40 -0500Fixed blit mapping problem when surfaces are freed and then newly allocated at the same address.
Sam Lantinga [Mon, 16 Jan 2012 19:46:40 -0500] rev 6222
Fixed blit mapping problem when surfaces are freed and then newly allocated at the same address.

Tim Angus to SDL

void function( SDL_Surface* surface )
{
SDL_Surface* anotherSurface =
SDL_ConvertSurfaceFormat( surface, ... );

// surface->map->dst is now equal to anotherSurface

// Do some stuff with anotherSurface

SDL_FreeSurface( anotherSurface );

// anotherSurface is now a dead pointer,
// but surface->map->dst still points to it
}

int main( )
{
SDL_Surface* surface = CreateAValidSurface( );

function( surface );
}

At this point blit something from surface. SDL_LowerBlit is called, which checks surface->map->dst against the blit destination. If the pointers happen to match (not that unlikely), the map is decided to be valid and bad things happen.

It seems to me like the whole idea of caching the blit mapping is fundamentally flawed in that the source surface has no knowledge of the lifetime of the destination surface.

Mon, 16 Jan 2012 19:21:07 -0500Fixed configure build
Sam Lantinga [Mon, 16 Jan 2012 19:21:07 -0500] rev 6221
Fixed configure build

Sun, 15 Jan 2012 15:48:27 -0500Fixed bug 1371 - DX joystick axis ordering fix
Sam Lantinga [Sun, 15 Jan 2012 15:48:27 -0500] rev 6220
Fixed bug 1371 - DX joystick axis ordering fix

Alex Nankervis 2012-01-15 11:19:45 PST

DirectX joysticks can enumerate their axis out of order. This results in some
joysticks having vertical/horizontal swapped, for example (vertical axis gets
assigned to axis0). Joysticks that I've tested with this problem: XBOX 360
controller, Logitech Extreme 3D Pro.

Attached is a diff that fixes this by sorting the DX joystick objects by their
data offsets into the DX data structs. This puts the joystick objects into a
standard ordering (X axis -> axis0, Y axis -> axis1, and so on).

Sun, 15 Jan 2012 03:34:14 -0500Check for sem_timedwait(), which isn't available on some systems (including OpenBSD
Sam Lantinga [Sun, 15 Jan 2012 03:34:14 -0500] rev 6219
Check for sem_timedwait(), which isn't available on some systems (including OpenBSD

Sun, 15 Jan 2012 03:13:08 -0500Check for sem_timedwait(), which isn't available on some systems (including OpenBSD) SDL-1.2
Sam Lantinga [Sun, 15 Jan 2012 03:13:08 -0500] rev 6218
Check for sem_timedwait(), which isn't available on some systems (including OpenBSD)

Sat, 14 Jan 2012 13:21:19 -0500Make sure that we use consistent configuration options on platforms like Windows so that command line builds and IDE builds have ABI compatibility.
Sam Lantinga [Sat, 14 Jan 2012 13:21:19 -0500] rev 6217
Make sure that we use consistent configuration options on platforms like Windows so that command line builds and IDE builds have ABI compatibility.
Make sure we don't clobber SDL_revision.h when building from Mercurial

Sat, 14 Jan 2012 13:17:01 -0500Unofficial builds should have a 0 revision number - if this accidentally gets checked in with a different revision, this file should be reverted to this content.
Sam Lantinga [Sat, 14 Jan 2012 13:17:01 -0500] rev 6216
Unofficial builds should have a 0 revision number - if this accidentally gets checked in with a different revision, this file should be reverted to this content.

Sat, 14 Jan 2012 02:22:40 -0500Switched compatibility version to 1 since the ABI is compatible with previous versions SDL-1.2
Sam Lantinga [Sat, 14 Jan 2012 02:22:40 -0500] rev 6215
Switched compatibility version to 1 since the ABI is compatible with previous versions

Sat, 14 Jan 2012 01:38:11 -0500Fixed bug 1238 - SDL_SetKeyboardFocus may send events to already destroyed windows
Sam Lantinga [Sat, 14 Jan 2012 01:38:11 -0500] rev 6214
Fixed bug 1238 - SDL_SetKeyboardFocus may send events to already destroyed windows

bastien.bouclet@gmail.com 2011-06-26 02:15:36 PDT

SDL_Keyboard::focus does not seem to be reset when the window that has focus is
destroyed, resulting in the following crash :

#0 X11_SetWindowGammaRamp (_this=0x8ed9cb0, window=0x91f25c0, ramp=0x0) at
src/video/x11/SDL_x11window.c:948
#1 0x001bd15e in SDL_OnWindowFocusLost (window=0x91f25c0) at
src/video/SDL_video.c:1900
#2 0x00168a2e in SDL_SendWindowEvent (window=0x91f25c0, windowevent=<value
optimized out>, data1=0, data2=0)
at src/events/SDL_windowevents.c:157
#3 0x00166454 in SDL_SetKeyboardFocus (window=0x9678a08) at
src/events/SDL_keyboard.c:612