Thu, 27 Jun 2013 11:27:19 -0700Fixed bug updating the clip rect for the software renderer
Sam Lantinga <slouken@libsdl.org> [Thu, 27 Jun 2013 11:27:19 -0700] rev 7322
Fixed bug updating the clip rect for the software renderer

Thu, 27 Jun 2013 11:21:37 -0700Fixed bug: SDL2 Xinput joystick axis jumps from positive to negative
Sam Lantinga <slouken@libsdl.org> [Thu, 27 Jun 2013 11:21:37 -0700] rev 7321
Fixed bug: SDL2 Xinput joystick axis jumps from positive to negative

Franz Schrober

Attached is my patch. It ensures that the values are correctly limitted between -32767 and 32767 (otherwise the negator - and the conversion to sint16 would corrupt the result)

I am using Motioninjoy (Dualshock 3 Sixaxxis controller on Windows 7) together with a recent SDL2 (post rc1) and noticed with the testjoystick binary that the axis 3 (left analog up/down) jumps when going in down direction from 32257 to -32768. This seems obviously wrong and I have never seen this before. In my games the people are now going backwards before they start to sprint forward when the player actually wants to run as fast as possible backwards. This also happens on the axis 2 (right analog stick up/down)

This problem doesn't happen in DX mode

Thu, 27 Jun 2013 11:17:48 -0700Fixed warning about unused variable.
Sam Lantinga <slouken@libsdl.org> [Thu, 27 Jun 2013 11:17:48 -0700] rev 7320
Fixed warning about unused variable.

Thu, 27 Jun 2013 10:59:30 -0700Fixed initializing the haptic system from an XInput joystick
Sam Lantinga <slouken@libsdl.org> [Thu, 27 Jun 2013 10:59:30 -0700] rev 7319
Fixed initializing the haptic system from an XInput joystick
Thanks to Franz Schrober for the fix inspiration.

Tue, 25 Jun 2013 20:21:31 -0700Fixed bug 1929 - SDL_Texture* from SDL_CreateTexture() causes GL_BindTexture() to segfault
Sam Lantinga <slouken@libsdl.org> [Tue, 25 Jun 2013 20:21:31 -0700] rev 7318
Fixed bug 1929 - SDL_Texture* from SDL_CreateTexture() causes GL_BindTexture() to segfault

Charles Huber

If SDL_CreateTexture() takes the !IsSupportedFormat() path it will return a SDL_Texture* with a NULL driverdata member.

If you then SDL_GL_BindTexture() this will cause a segfault in GL_BindTexture() when it unconditionally dereferences driverdata.

Mon, 24 Jun 2013 22:06:50 -0700Better text printing for UTF-8 characters
Sam Lantinga <slouken@libsdl.org> [Mon, 24 Jun 2013 22:06:50 -0700] rev 7317
Better text printing for UTF-8 characters

Sun, 23 Jun 2013 22:19:38 -0700Updated timer test and fixed performance counter on Mac OS X
Sam Lantinga <slouken@libsdl.org> [Sun, 23 Jun 2013 22:19:38 -0700] rev 7316
Updated timer test and fixed performance counter on Mac OS X

Sun, 23 Jun 2013 15:00:23 -0700Update testsprite2 for visual testing: user fuzzer and add --iteration parameter to enable deterministic screen end-state
Andreas Schiffler <aschiffler@ferzkopp.net> [Sun, 23 Jun 2013 15:00:23 -0700] rev 7315
Update testsprite2 for visual testing: user fuzzer and add --iteration parameter to enable deterministic screen end-state

Sun, 23 Jun 2013 14:05:27 -0700Add VS Express Edition sln files (drop the unsupported solution folders for tests); update VisualC documentation
Andreas Schiffler <aschiffler@ferzkopp.net> [Sun, 23 Jun 2013 14:05:27 -0700] rev 7314
Add VS Express Edition sln files (drop the unsupported solution folders for tests); update VisualC documentation

Tue, 18 Jun 2013 00:50:35 -0700Fixed bug 1913 - state->index may get negative in SDL_wave.c file.
Sam Lantinga <slouken@libsdl.org> [Tue, 18 Jun 2013 00:50:35 -0700] rev 7313
Fixed bug 1913 - state->index may get negative in SDL_wave.c file.

Nitz

In function:
static Sint32
IMA_ADPCM_nibble(struct IMA_ADPCM_decodestate *state, Uint8 nybble)
{
const Sint32 max_audioval = ((1 << (16 - 1)) - 1);
const Sint32 min_audioval = -(1 << (16 - 1));
const int index_table[16] = {
-1, -1, -1, -1,
2, 4, 6, 8,
-1, -1, -1, -1,
2, 4, 6, 8
};
const Sint32 step_table[89] = {
7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 23, 25, 28, 31,
34, 37, 41, 45, 50, 55, 60, 66, 73, 80, 88, 97, 107, 118, 130,
143, 157, 173, 190, 209, 230, 253, 279, 307, 337, 371, 408,
449, 494, 544, 598, 658, 724, 796, 876, 963, 1060, 1166, 1282,
1411, 1552, 1707, 1878, 2066, 2272, 2499, 2749, 3024, 3327,
3660, 4026, 4428, 4871, 5358, 5894, 6484, 7132, 7845, 8630,
9493, 10442, 11487, 12635, 13899, 15289, 16818, 18500, 20350,
22385, 24623, 27086, 29794, 32767
};
Sint32 delta, step;

/* Compute difference and new sample value */
step = step_table[state->index];
// Some Code
}

Here step_table array have the state->index, which might be negative, so it is unsafe to assign this index to step_table array directly.
There would be a check before that to confirm its value.