Fri, 30 Dec 2011 06:41:12 -0500Initialize timers first so the tick counter is valid by the time the audio and video systems initialize. SDL-1.2
Sam Lantinga [Fri, 30 Dec 2011 06:41:12 -0500] rev 6127
Initialize timers first so the tick counter is valid by the time the audio and video systems initialize.

Fri, 30 Dec 2011 06:29:06 -0500Fixed bug 1309 - Don't grab focus during ResizeWindow on Win32 when SDL window is reparented SDL-1.2
Sam Lantinga [Fri, 30 Dec 2011 06:29:06 -0500] rev 6126
Fixed bug 1309 - Don't grab focus during ResizeWindow on Win32 when SDL window is reparented

burkheart@yahoo.com 2011-09-24 07:42:49 PDT
When reparenting the SDL Window in a Win32 window (using SetParent) then
stealing the focus during resizing from the parent window is causing problems.

Assume you are dragging a corner of the parent window and consequently the
parent window is sending resize events to the SDL child window. The SDL child
window will eventually call DIB_ResizeWindow which has a call to
SetForegroundWindow and is stealing the focus from the parent window. The
switch in focus stops the resizing dragging process in the parent window.
Basically making it nearly impossible to resize the parent window by dragging
along the edges and corners.

Solution, add a condition to avoid this when reparenting:
if (GetParent(SDL_Window) == NULL) SetForegroundWindow(SDL_Window);

Fri, 30 Dec 2011 06:22:59 -0500Fixed bug 875 - Title bar unresponsive after video mode change SDL-1.2
Sam Lantinga [Fri, 30 Dec 2011 06:22:59 -0500] rev 6125
Fixed bug 875 - Title bar unresponsive after video mode change

Gabriel Gambetta 2009-11-04 04:51:46 PST
If you change the video mode while holding the mouse button down, and then
click on the window, you can't move the mouse pointer over the title bar or the
close window button.

It turns out WinMessage in SDL_Sysevents.c is using a static int mouse_pressed
to keep track of whether it should call SetCapture() and ReleaseCapture().
Since it's static and initialized only once, it isn't cleared when the video
mode changed, so there's a kind of one-off error and SetCapture() and
ReleaseCapture() aren't being called when they should.

Here's a patch - I just made that int accessible from the outside and reset it
to 0 in SDL_SetVideoMode, wrapped in #ifdef WIN32. Suggestions on how to make
this more elegant are welcome.

Fri, 30 Dec 2011 06:01:09 -0500Fixed bug 907 - SDL window restore SDL_VIDEORESIZE event issue... SDL-1.2
Sam Lantinga [Fri, 30 Dec 2011 06:01:09 -0500] rev 6124
Fixed bug 907 - SDL window restore SDL_VIDEORESIZE event issue...

cjj_009@yahoo.com 2009-12-14 20:32:35 PST

I've been working on an SDL/OpenGL program, that among other things, must deal
with resizing events in order to adjust the aspect ratio.
It doesn't always seem to get the SDL_VIDEORESIZE event when it should, causing
the aspect ratio to not be adjusted as needed.

I've run it in debug mode and made these observations:
*When it initially starts up, if I maximize the window, it receives the
SDL_VIDEORESIZE event as needed.
*If, after starting up the the application and maximizing the window, I then
restore the window by double clicking the title bar, it does NOT receive the
SDL_VIDEORESIZE event.
*I can repeat the last two steps, and it will get continue to get the
SDL_VIDEORESIZE on the maximize but not get one on the restore.
*If I then do a slight adjustment to the width or height of the window, it will
get the SDL_VIDEORESIZE event.
*From then on, if I do restore operations to the window, the SDL_VIDEORESIZE
event will be caught properly.

See http://forums.libsdl.org/viewtopic.php?t=5291 for additional information.

vgvgf 2010-03-28 15:15:16 PDT
Proposed patch for SDL_resize.c

The width and height values stored in SDL_VideoSurface are the sizes of the
video surface when it was created. So, when the window is rezised back to its
creation size, the following condition will make the SDL_PrivateResize function
stop, and the video resize msg won't be queued.
if ( ! SDL_VideoSurface ||
((w == SDL_VideoSurface->w) && (h == SDL_VideoSurface->h)) ) {
return(0);
}

Sam Lantinga 2011-12-30 02:59:51 PST
I'm okay with applying this patch, but be aware that the expected response to a
resize message is that you call SDL_SetVideoMode() again with the new mode.
This signals SDL that you're expecting the new size, and there may be other
problems if you don't do this.

Fri, 30 Dec 2011 04:04:34 -0500Added some sanity checks to prevent buffer overflows. SDL-1.2
Ryan C. Gordon [Fri, 30 Dec 2011 04:04:34 -0500] rev 6123
Added some sanity checks to prevent buffer overflows.

Fixes Bugzilla #1074. (I think.)

Fri, 30 Dec 2011 04:03:31 -0500Fixed compiler warning for unused variable. SDL-1.2
Ryan C. Gordon [Fri, 30 Dec 2011 04:03:31 -0500] rev 6122
Fixed compiler warning for unused variable.

Fri, 30 Dec 2011 03:18:26 -0500Fixes for setting custom cursor in quartz target. SDL-1.2
Ryan C. Gordon [Fri, 30 Dec 2011 03:18:26 -0500] rev 6121
Fixes for setting custom cursor in quartz target.

This fixes a logic error, and allows setting the cursor from off the main
thread, which isn't strictly a good idea, but previous versions of SDL on
Mac OS X apparently allowed it, so we'll make the effort here.

Fixes Bugzilla #1355.

Thanks to Alexei Svitkine for the patch!

Thu, 29 Dec 2011 13:54:22 -0500Fixed documentation typo
Sam Lantinga [Thu, 29 Dec 2011 13:54:22 -0500] rev 6120
Fixed documentation typo

Thu, 29 Dec 2011 13:51:42 -0500Fixed so the header is consistent with the source
Sam Lantinga [Thu, 29 Dec 2011 13:51:42 -0500] rev 6119
Fixed so the header is consistent with the source

Thu, 29 Dec 2011 12:21:49 -0500Added release notes for SDL 1.2.15 SDL-1.2
Sam Lantinga [Thu, 29 Dec 2011 12:21:49 -0500] rev 6118
Added release notes for SDL 1.2.15