Commit Graph

7955 Commits

Author SHA1 Message Date
Ryan C. Gordon
e2b33306a0 Added a hint to prevent SDL from installing signal handlers.
Fixes Bugzilla #2431.
2015-03-24 14:29:25 -04:00
Ryan C. Gordon
44708540f3 Cleanups in the joystick code.
Removed some redundant state and other confusions.

Fixes Bugzilla #2738.
2015-03-24 13:52:01 -04:00
Ryan C. Gordon
edbc673ec8 Mac: patched to compile with haptic subsystem disabled (thanks, Rodrigo!).
Fixes Bugzilla #2717.
2015-03-24 03:24:57 -04:00
Ryan C. Gordon
0bf82ff6cf Better fixes for CMake subsystem enabling (thanks, Sebastian!).
Fixes Bugzilla #2875.
2015-03-24 03:21:57 -04:00
Ryan C. Gordon
7a857c0208 Make SDL error string formatting deal with nasty corner cases.
We continued looping while maxlen > 0, but maxlen was unsigned, so an overflow
 would make it a large number instead of negative. Fixed.

Some snprintf() implementations might return a negative value if there isn't
 enough space, and we now check for that.

Don't overrun the SDL error message buffer, if snprintf() returned the number
 of chars it wanted to write instead of the number it did.

snprintf is a portability mess, we should just never use the C runtime for it.

Fixes Bugzilla #2049.
2015-03-24 03:12:35 -04:00
Ryan C. Gordon
73263190e5 Ran hardcoded game controller database through sort_controllers.py. 2015-03-24 02:48:16 -04:00
Ryan C. Gordon
9e9f5b803d Added Logitect RumblePad 2 controller mapping for Linux (thanks, Nicholas!).
Fixes Bugzilla #2091.
2015-03-24 02:47:25 -04:00
Ryan C. Gordon
35f007f0f8 winmm: Let audio callback buffer size be less than 1/4 second (thanks, Jon!).
Maybe this was here for Win9x? There's no reason to insert this much latency
by default.

Fixes Bugzilla #2835.
2015-03-24 02:13:25 -04:00
Ryan C. Gordon
45c0f18c4f configure script: fix recursive mutex test on Linux systems (thanks, Ozkan!). 2015-03-23 20:07:24 -04:00
Ryan C. Gordon
e70d4f6c65 X11: Reenabled setlocale() and fork() for message boxes.
Fixes Bugzilla #1658.
2015-03-23 19:54:33 -04:00
Ryan C. Gordon
d5b50f68e2 Windows: Report window HDC in SDL_SysWMinfo.
Fixes Bugzilla #2668.
2015-03-23 19:47:08 -04:00
Philipp Wiesemann
607fdf54d4 Android: Removed not needed include statement. 2015-03-23 20:24:04 +01:00
Philipp Wiesemann
7b6434ad97 Updated test program for Emscripten. 2015-03-23 20:21:45 +01:00
Ryan C. Gordon
ac2a87ba8f Cocoa: Handle more cases of lost focus when Key window closes (thanks, Alex!).
Sort of fixes Bugzilla #1825 a little more. It's an ongoing effort.  :)
2015-03-22 01:25:12 -04:00
Philipp Wiesemann
ef6affb0bc Added missing SDL_DOLLARRECORD event type documentation in header. 2015-03-21 22:42:53 +01:00
Philipp Wiesemann
b8e4bd5254 Fixed confusing audio and touch events because of shared enumeration values. 2015-03-21 08:01:43 +01:00
Ryan C. Gordon
bac5565cd6 Patched to compile on OpenGL ES-based platforms. 2015-03-21 00:09:22 -04:00
Ryan C. Gordon
71bc92af16 Whoops, lost a newline in here. 2015-03-20 23:29:09 -04:00
Ryan C. Gordon
2e63291ed8 Several corrections to the CMake project files (thanks, Ozkan!).
Fixes Bugzilla #2732.
2015-03-20 21:57:15 -04:00
Ryan C. Gordon
c6b28fb9ef Windows: support for OpenGL extension WGL_ARB_context_flush_control. 2015-03-20 12:23:53 -04:00
Marc Di Luzio
d4df74cd6f Allow setting of GL_CONTEXT_RELEASE_BEHAVIOR when creating the GL context when GLX_ARB_context_flush_control is available.
This extension allows the user to specify whether a full flush is performed when making a context not current.
The only way to set this currently is at context creation, so this patch provides that functionality.
Defualt behaviour is set at FLUSH, as per the spec.

This patch does not contain the changes to WGL, appleGL or other platforms as I do not have access to GL 4.5 hardware on those platforms.

Full details on the use of KHR_context_flush_control can be found here:
https://www.opengl.org/registry/specs/KHR/context_flush_control.txt
2015-03-06 16:03:40 +00:00
Ryan C. Gordon
815e9b19cc CMake: Don't search for the OpenGL library on Mac OS X. It's always there. 2015-03-20 11:51:03 -04:00
Ryan C. Gordon
20f37d35b3 Audio hotplug fixes for winmm and XAudio2 backends. 2015-03-20 11:11:44 -04:00
Ryan C. Gordon
4f2bdb2f84 CMake project files no longer force you to link against Wayland or Mir libs. 2015-03-20 10:35:42 -04:00
Ryan C. Gordon
e9240c67ef Fixed some defaults in CMake project file.
Fixes not finding dlopen(), etc.
2015-03-20 10:02:45 -04:00
Ryan C. Gordon
befd06b5db Patched to compile on gcc2. 2015-03-19 23:54:35 -04:00
Ryan C. Gordon
1eb6627c4f Removed unused variable. 2015-03-19 23:45:34 -04:00
Ryan C. Gordon
35ea7a6c60 Make static analysis happy. 2015-03-19 23:44:47 -04:00
Ryan C. Gordon
5a6a48dfb0 Fixed a compiler warning on Visual Studio. 2015-03-19 23:39:53 -04:00
Ryan C. Gordon
c59cded03b Patched to compile on Windows. 2015-03-19 23:35:43 -04:00
Ryan C. Gordon
4b56f12266 Immediately minimize the goofy window in testaudiohotplug. 2015-03-19 22:20:12 -04:00
Ryan C. Gordon
c282471f28 Zero out the audio hotplug event structure, so the "padded" fields are sane.
Just in case we ever need those bits in the future.
2015-03-19 22:11:20 -04:00
Ryan C. Gordon
071bae1d10 PulseAudio: Hotplug support! 2015-03-19 22:08:12 -04:00
Ryan C. Gordon
373691d636 SDL_RemoveAudioDevice() should specify capture vs output.
This lets us reuse values between the two categories without conflicting, etc.
2015-03-19 15:43:00 -04:00
Ryan C. Gordon
610e8e6100 Removed the broken audio streaming code, other small cleanups. 2015-03-19 13:34:17 -04:00
Ryan C. Gordon
88f59ef370 Disconnected/broken/lost audio devices now continue to fire their callback.
The data produced by the callback is just thrown away and the audio thread
delays as if it's waiting for the hardware to drain.

This lets apps that rely on their audio callback firing regularly continue
to make progress to function as properly as possible in the face of disaster.
Apps that want to know that the device is really gone and deal with that
scenario can use the new hotplug functionality.
2015-03-19 13:27:10 -04:00
Ryan C. Gordon
a6a53d8930 Don't assert if an audio backend reports the same device disconnected twice. 2015-03-19 13:15:28 -04:00
Ryan C. Gordon
65670a3dd9 PulseAudio: Improved multidevice support.
Added capture device enumeration, report human-readable device name, other
cleanups.
2015-03-18 10:29:04 -04:00
Ryan C. Gordon
8fc13c2484 Bunch of reworking to how we manage audio devices.
Device enumeration now happens at startup and then is managed exclusively
through hotplugging instead of full redetection. The device name list now has
a unique "handle" associated with each item and SDL will pass this to the
backend so they don't have to figure out how a human readable name maps to
real hardware for a second time.

Other cleanups, fixes, improvements, plus all the audio backends updated to
the new interface...largely untested at this point, though.
2015-03-18 02:01:17 -04:00
Ryan C. Gordon
8dc3028044 Initial work on audio device hotplug support.
This fills in the core pieces and fully implements it for Mac OS X.

Most other platforms, at the moment, will report a disconnected device if
it fails to write audio, but don't notice if the system's device list changed
at all.
2015-03-16 02:11:39 -04:00
Ryan C. Gordon
2865754bd8 Changed some SDL_memset() calls to SDL_zero(). 2015-03-18 10:09:39 -04:00
Ryan C. Gordon
0984194bf7 Tweaked a couple comments, added some FIXMEs. 2015-03-18 10:09:23 -04:00
David Ludwig
bbf610ea8d WinRT: updated names, and references-to, various ANGLE/WinRT repositories 2015-03-18 12:03:32 -04:00
Ryan C. Gordon
d3525b5e42 Patched to compile on C89 compilers. 2015-03-18 10:05:36 -04:00
Ryan C. Gordon
6d3782cb49 PulseAudio: Added multiple device support, other cleanups.
Thanks to Dominik Frizel for most of the effort on this!

Fixes Bugzilla #2730.
2015-03-18 09:59:22 -04:00
Ryan C. Gordon
16e6ce9759 Fixed a compiler warning. 2015-03-18 00:56:33 -04:00
David Ludwig
388977ede4 WinRT: made OpenGL window-init work with latest round of ANGLE/WinRT updates
Various constants in ANGLE/WinRT, both in MSOpenTech's ms-master branch, and
in Google's branch, were changed again.  This change makes SDL/WinRT work with
them.

To note, the ms-master branch (of ANGLE) was updated via this merge:
bbd2eb0a9c (diff-d1377fbe747de154e1bfcf7221d3de67)
2015-03-17 19:45:47 -04:00
David Ludwig
4d6ae75723 WinRT: another ANGLE/OpenGL-initialization, error messaging tweak 2015-03-17 10:25:21 -04:00
David Ludwig
72c36417e7 WinRT: ANGLE/OpenGLES-initialization, error message improvements 2015-03-17 10:22:36 -04:00
Philipp Wiesemann
cb8c446d69 Updated name of assert type in test program. 2015-03-15 19:25:10 +01:00