Edgar Simo
So basically the issue is that:
AC_PATH_PROG(SDL_CONFIG, sdl2-config, no, [$PATH])
in sdl2.m4 shares the same variable (SDL_CONFIG) as sdl.m4:
AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
What happens is if you run the AM_PATH_SDL2 and then AM_PATH_SDL to say fall back on SDL if SDL2 isn't found, the AM_PATH_PROG command gets cached (ac_cv_path_SDL_CONFIG) so that unless you unset this cache variable, the result for AM_PATH_SDL will be EXACTLY the same as for AM_PATH_SDL2.
To fix I would recommend renaming SDL_CONFIG to SDL2_CONFIG in sdl2.m4, replacing all instances so it won't cache to the same variable.
Otherwise, if we destroyed a different renderer, next time this one draws,
it'll clear errors forever (GL_INVALID_OPERATION for having no current
context, at least on Windows), hanging up the program in an infinite loop.
Fixes Bugzilla #1775.
This one is compliments of the FreeBSD buildbot finally having the
X11 libraries installed. :)
--HG--
extra : amend_source : f57bb1d54a19cb773358f8caefd40d477c01b05f
This is really just a hack until this code expands to be a robust haptic mixer.
(This is also untested, beyond compiling. Sorry!)
--HG--
extra : rebase_source : 1ea0101273d96c6d82db9b603a575e265d4ee426
Bithika Mookherjee
SDL_RenderSetClipRect() calls into renderer->UpdateClipRect(renderer).
I am not sure if UpdateClipRect() can point to a number of clip rect update functions, but on my platform it calls D3D_UpdateClipRect().
In that function, the rect to pass to IDirect3DDevice9_SetScissorRect() has it's right field set as:
r.right = rect->w + rect->w;
But actually, this should be:
r.right = rect->x + rect->w;
This wanted an EGLint*, not a VisualID* cast to an EGLint*.
Without this, 64-bit X11 fails here, because the datatype sizes are different.
Fixes Bugzilla 1686.
This fixes bug #1446. You can now create a window with SDL_CreateWindow(...,
SDL_WINDOW_MINIMIZED), and not have it immediately restore itself.
It also changes SDL_RaiseWindow() to be a no-op on minimized or hidden windows,
which is how it behaves on Windows.
This looks like the rest of the code doesn't deal with windows, and probably
just deals with a single fullscreen GLES context, like a console would, so
making setwindowgrab a no-op makes sense in this case; it's already "grabbed."
Fixes Bugzilla #1850.
--HG--
extra : rebase_source : 29b07b9c8378f69fb8b5f201584befd8d7f005dd
This is good policy, so it doesn't have a chance to leave it hidden on targets
that wouldn't necessarily reset it by default, but it also fixes a crash if
you try to use a message box after SDL_Quit() is called.
Fixes Bugzilla #1969.
It now tries to make sure the hardware can support a given format, and if it
can't, it carries on to the next best format instead of failing completely.
--HG--
extra : rebase_source : 7b4e61c8030d1e1ce4c926bc0abc9b4d4af11dd9
Ryan C. Gordon
Cocoa_ShowMessageBox() ignores the "window" field of SDL_MessageBoxData, which means you can't assign a parent window to a message box. This is particularly egregious on Mac OS X, because it'll actually make the NSAlert visually part of the parent window instead of just concerning itself with window focus.
Otherwise, you can pause audio and still have the callback running, or run
one more time. This makes sure the callback is definitely stopped by the
time you return from SDL_PauseAudio().