Thu, 28 May 2015 15:32:45 -0400Windows GetBasePath: fixed reallocation code.
Ryan C. Gordon [Thu, 28 May 2015 15:32:45 -0400] rev 9676
Windows GetBasePath: fixed reallocation code.

Thu, 28 May 2015 15:29:43 -0400Windows SDL_GetBasePath: Fixed wrong variable when growing the buffer size.
Ryan C. Gordon [Thu, 28 May 2015 15:29:43 -0400] rev 9675
Windows SDL_GetBasePath: Fixed wrong variable when growing the buffer size.

Thu, 28 May 2015 12:31:25 -0700Fixed bug 2210 - Initializing Video produces unnecessary errors
Sam Lantinga [Thu, 28 May 2015 12:31:25 -0700] rev 9674
Fixed bug 2210 - Initializing Video produces unnecessary errors

hiduei

Overview:
Initializing the Video Subsystem causes many errors though everything works as it should.

Steps to Reproduce:
1) Set Loglevel to SDL_LOG_PRIORITY_ERROR

2) Initialize the Video Subsystem (SDL_Init(SDL_INIT_VIDEO))

Actual Results:
Many errors (see attachment) are printed on stderr, then the application continues as expected.

Expected Results:
The errors should have been warnings at most.

Thu, 28 May 2015 12:18:05 -0700Fixed bug 2367 - Bad mouse motion coordinates with two windows where one has changed logical size
Sam Lantinga [Thu, 28 May 2015 12:18:05 -0700] rev 9673
Fixed bug 2367 - Bad mouse motion coordinates with two windows where one has changed logical size

Andreas Ragnerstam

I have two windows where one has a renderer where the logical size has been changed with SDL_RenderSetLogicalSize. When I get SDL_MOUSEMOTION events belonging to the non-scaled window these will have been scaled with the factor of the scaled window, which is not expected.

Adding some printf debugging to SDL_RendererEventWatch of SDL_render.c, where (event->type == SDL_MOUSEMOTION), I found that for every mouse motion SDL_RendererEventWatch is called twice and the event->motion.x and event.motion.y are set twice for the event, once for each renderer where only the last one set will be saved to the event struct. This will work fine if both renderers have the same scale, but otherwise the motion coordinates will be scaled for the renderer belonging to another window than the mouse was moved in.

I guess one solution would be to check that window == renderer->window for SDL_MOUSEMOTION events, similar to what is done for when SDL_WINDOWEVENT events.

I get the same error on both X11 and Windows.
The same problem also exists for SDL_MOUSEBUTTONDOWN and SDL_MOUSEBUTTONUP events.

Thu, 28 May 2015 12:06:48 -0700Fixed compiling and tested on Windows
Sam Lantinga [Thu, 28 May 2015 12:06:48 -0700] rev 9672
Fixed compiling and tested on Windows

Thu, 28 May 2015 01:54:52 -0400Windows GetBasePath should use GetModuleFileNameExW() and check for overflows.
Ryan C. Gordon [Thu, 28 May 2015 01:54:52 -0400] rev 9671
Windows GetBasePath should use GetModuleFileNameExW() and check for overflows.

Apparently you might get strange paths from GetModuleFileName(), such as
short path names or UNC filenames, so this avoids that problem. Since you have
to tapdance with linking different libraries and defining macros depending on
what Windows you plan to target, we dynamically load the API we need, which
works on all versions of Windows (on Win7, it'll load a compatibility wrapper
for the newer API location).

What a mess.

This also now does the right thing if there isn't enough space to store the
path, looping with a larger allocated buffer each try.

Fixes Bugzilla #2435.

Thu, 28 May 2015 14:34:38 -0400Make sure we have the vsscanf() prototype (thanks, Ozkan!).
Ryan C. Gordon [Thu, 28 May 2015 14:34:38 -0400] rev 9670
Make sure we have the vsscanf() prototype (thanks, Ozkan!).

issue seen with glibc-2.8.

Fixes Bugzilla #2721.

Thu, 28 May 2015 10:44:46 -0700Fixed bug 2772 - SDL2 doesn't handle X KeymapNotify events
Sam Lantinga [Thu, 28 May 2015 10:44:46 -0700] rev 9669
Fixed bug 2772 - SDL2 doesn't handle X KeymapNotify events

Jason Wyatt

Currently the keymapnotify event handling is commented out as FIXME in SDL_x11events.c (It looks like this may have functioned SDL1.2).

Not handling this event means that if a window manager shortcut such as ALT+SPACE is used, SDL will send an ALT key down signal, but not an up signal. Also querying SDL about the key state, it believes the ALT key remains pressed.
X passes the events keypress (alt), ?focusout?, ?focusin?, keymapnotify.

Sat, 20 Dec 2014 11:45:39 -0500Partial fix for bug 2726 - Win32 'mouse' events not applying 'SDL_TOUCH_MOUSEID'
David Ludwig [Sat, 20 Dec 2014 11:45:39 -0500] rev 9668
Partial fix for bug 2726 - Win32 'mouse' events not applying 'SDL_TOUCH_MOUSEID'

This is a Win32-specific fix for bug 2726. A WinRT fix for this bug was applied
separately, via https://hg.libsdl.org/SDL/rev/bea2e725e29a

This fix applies SDL_TOUCH_MOUSEID to 'mouse' events coming from touch devices,
but only when relative-mouse-mode is turned OFF. This bug is still present
when relative-mouse-mode is ON, however Microsoft does not provide documentation
on whether or not those input events (which come from WM_INPUT) can be
identified as touch-specific or not. Unofficially, that data might be available
(via GetMessageExtraInfo()), however this patch only uses MS-documented APIs.

Thu, 28 May 2015 09:52:48 -0700Fixed X11 build, added code to print initial modifiers to checkkeys
Sam Lantinga [Thu, 28 May 2015 09:52:48 -0700] rev 9667
Fixed X11 build, added code to print initial modifiers to checkkeys