Philipp Wiesemann
c609d856ff
directfb: Fixed crash if creating renderer.
...
SDL_GetWindowWMInfo() currently expects SDL to be 2.0.6 but SDL is still 2.0.5.
2017-06-11 22:30:24 +02:00
Ryan C. Gordon
3c955d0540
syswm: prevent buffer overflow if SDL and app have different config headers.
...
This only affects Wayland and DirectFB, as a Unix system generally has X11
support. Other platforms also have different sizes for the C union in
question, but are likely the only target for that platform, etc.
Apps that might run on Wayland or DirectFB will need to be compiled against
new headers from an official 2.0.6 release, or be prepared to force the x11
target, or not use SDL_GetWindowWMInfo().
Fixes Bugzilla #3428 .
2017-06-11 00:50:26 -04:00
Alex Szpakowski
bb100d3bab
Expose display refresh rate on iOS/tvOS 10.3+.
2017-06-10 21:29:37 -03:00
Ryan C. Gordon
325330efdb
jack: removed accidental copy/paste.
2017-06-09 17:37:43 -04:00
Ryan C. Gordon
58f08af46c
jack: added capture support.
2017-06-09 00:47:47 -04:00
Ryan C. Gordon
c39fd5777d
jack: Move jack_client_t into the audio device instead a global variable.
2017-06-09 00:14:50 -04:00
Ryan C. Gordon
b65e0777ce
jack: Remove BROKEN_MULTI_DEVICE code.
2017-06-08 22:20:49 -04:00
Ryan C. Gordon
d9039f2396
jack: Initial shot at a JACK audio target.
...
http://jackaudio.org/
Fixes Bugzilla #2163 .
(with several more commits following to improve this code.)
2017-06-08 13:27:58 -04:00
Philipp Wiesemann
871d43a839
Removed unused hint includes.
2017-06-08 22:40:09 +02:00
Ryan C. Gordon
9288983682
Merged Eric Wing's overscan patch.
...
Fixes Bugzilla #2799 .
2017-06-06 14:06:40 -04:00
Olli Kallioinen
11289b766f
Android cmake build fixed to work with the official android gradle plugin
2017-06-04 21:25:57 +03:00
Ryan C. Gordon
6d661cab7b
windows: Change the default on SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING.
...
It's easier for Visual Studio users that want this information to turn it on
or live without it, than it is to explain why every debugger that isn't Visual
Studio crashes out here. Eventually SetThreadDescription() will be the thing
everyone uses anyhow.
Fixes Bugzilla #3645 .
(and several others).
2017-06-06 13:12:43 -04:00
Ryan C. Gordon
d844487799
windows: Fix compiling of XInput code on newer MinGW installs.
...
Fixes Bugzilla #3609 .
2017-06-06 12:35:35 -04:00
Ryan C. Gordon
599d9ba198
emscripten: listen for pointerlockchange events on the #document specifically.
2017-06-05 21:30:25 -04:00
Philipp Wiesemann
4b47fa38c3
Removed duplicate includes.
2017-06-04 23:15:47 +02:00
Philipp Wiesemann
52b7d0eb23
android: Fixed missing error message for SDL_GetBasePath().
2017-06-04 23:15:27 +02:00
Philipp Wiesemann
248410dded
Fixed SDL_GL_SetSwapInterval() returning success on two unsupported platforms.
2017-06-04 23:15:13 +02:00
Philipp Wiesemann
2113208d98
haiku: Fixed missing title bar for windows with decorations.
...
B_BORDERED_WINDOW_LOOK has a border but no title bar.
2017-06-03 23:00:50 +02:00
Philipp Wiesemann
fc436a3a9d
android: Moved internal function to new position.
...
It was grouped with functions for the public system header.
2017-06-03 23:00:40 +02:00
Philipp Wiesemann
63b3e06f75
Corrected names of header file guards.
2017-06-03 23:00:15 +02:00
Philipp Wiesemann
07b0df0a22
haiku: Changed internal variable to be static.
2017-06-02 22:15:37 +02:00
Philipp Wiesemann
00394996eb
Fixed crash if calling SDL_CreateShapedWindow() on unsupported platforms.
2017-06-02 22:15:12 +02:00
Bastien Bouclet
545fba7886
x11: Don't send duplicate events when reconciling the keyboard state
...
Failing to check if a key was known to be pressed by SDL was causing
SDL_SendKeyboardKey to send duplicate key pressed events with the repeat
property set to true.
Fixes Bugzilla #3637 .
2017-04-22 19:53:52 +02:00
Ryan C. Gordon
b135557df9
linux: Don't crash if fcitx support is requested but unavailable.
...
Fixes Bugzilla #3642 .
2017-05-29 02:48:51 -04:00
Ryan C. Gordon
29a047df39
Fixed whitespace code style.
2017-05-29 00:51:38 -04:00
Ryan C. Gordon
1c5f483a8a
linux: removed IBus_utf8_strlen(), use SDL_utf8strlen() instead.
2017-05-29 00:51:02 -04:00
Ryan C. Gordon
a1faea980c
fcitx: removed incompatibly-licensed code.
2017-05-29 00:54:08 -04:00
Ryan C. Gordon
d4086e4a70
stdlib: added SDL_utf8strlen().
2017-05-29 03:01:05 -04:00
Philipp Wiesemann
fc510bd798
nacl: Fixed crash if allocating memory for audio device failed.
2017-05-28 21:50:47 +02:00
Philipp Wiesemann
7c5078d8bd
qnx: Removed unnecessary check for available audio devices.
2017-05-28 21:50:37 +02:00
Philipp Wiesemann
1e60ea76db
qnx: Removed unnecessary call to SDL_zerop() after SDL_calloc().
2017-05-28 21:50:27 +02:00
Philipp Wiesemann
1b9dc59918
haiku: Fixed SDL_SetClipboardText() putting random data in clipboard.
2017-05-28 21:50:11 +02:00
Ryan C. Gordon
de52dc2948
haiku: Correctly set keyboard focus (thanks, Kai!).
...
The message sent upon the window being activated or deactivated, to trigger
the call to SDL_SetKeyboardFocus was missing a mandatory parameter. So
keyboard focus was never properly set.
Fixes Bugzilla #3658 .
2017-05-28 15:36:09 -04:00
Ryan C. Gordon
643f1cb73d
power: Add Linux org.freedesktop.UPower D-Bus implementation.
...
Fixes Bugzilla #3485 .
(I think.)
2017-05-28 07:14:11 -04:00
Ryan C. Gordon
b3f94acbf9
linux: Simplify D-Bus interface, remove lots of boilerplate.
2017-05-28 07:11:52 -04:00
Ryan C. Gordon
191f578b57
linux: Make system D-Bus connection available (in addition to session).
2017-05-28 07:08:10 -04:00
Ryan C. Gordon
e5918acf46
wasapi: properly report init failure if on pre-Vista version of Windows.
...
We really should change the Init interface to return 0 on success and -1 on
error, like everything else, to avoid this sort of confusion.
2017-05-28 00:41:55 -04:00
Philipp Wiesemann
604a4b1b30
haiku: Fixed SDL_SetClipboardText() allocating too much memory and cutting text.
...
It allocated pointers instead of chars and passed a wrong size to SDL_strlcpy().
2017-05-27 23:30:21 +02:00
Philipp Wiesemann
3639895eac
Removed unused errno includes.
2017-05-27 23:30:07 +02:00
Ryan C. Gordon
6fbde875e2
code style: wrap a single-statement if in braces.
2017-05-27 00:33:26 -04:00
Ryan C. Gordon
3fbd21ce40
windows: msgboxes should specify a parent HWND if possible (thanks, Ismael!).
...
This lets them be properly modal.
Fixes Bugzilla #3650 .
2017-05-27 00:30:06 -04:00
Philipp Wiesemann
90ed3daa3e
Changed messages about not recognized keys to include discourse link.
2017-05-26 22:45:52 +02:00
Philipp Wiesemann
759319729c
emscripten: Fixed compiling on C89 compilers.
2017-05-26 22:45:40 +02:00
Philipp Wiesemann
1e13d93fea
directfb: Changed internal function to be static.
2017-05-25 23:01:34 +02:00
Philipp Wiesemann
189b5851b7
android: Fixed parameter list in function definitions.
2017-05-25 23:01:16 +02:00
Philipp Wiesemann
6c0aea4270
wayland: Fixed freeing memory of SDL_malloc() with plain free().
2017-05-25 23:00:58 +02:00
Philipp Wiesemann
c66f0471e1
Removed unused internal window shape functions.
2017-05-25 23:00:43 +02:00
Ryan C. Gordon
a7fc2822d4
audio: rename bsd target to netbsd.
...
Apparently this is no longer a generic BSD audio target, and hasn't been for
years, so rename it for NetBSD.
2017-05-24 19:56:59 -04:00
Ryan C. Gordon
6844d92c23
coreaudio: we don't need to track number of allocated audio buffers anymore.
...
CoreAudio takes care of iterating through the buffers and freeing them now,
so we don't have to manage this ourselves.
2017-05-24 13:28:13 -04:00
Ryan C. Gordon
fc4402e5ff
coreaudio: Better handling of audio buffer queue management.
...
We don't fill buffers just to throw them away during shutdown now, we let the
AudioQueue free its own buffers during disposal (which fixes possible warnings
getting printed to stderr by CoreAudio), and we stop the queue after running
any queued audio during shutdown, which prevents dropping the end of the
audio playback if you opened the device with an enormous sample buffer.
Fixes Bugzilla #3555 .
2017-05-24 13:25:31 -04:00
Charlie Birks
126e5a1dbf
Emscripten: Prevent default on arrow keys
2017-05-24 14:04:39 +01:00
Patrick Monaghan
f839b209b9
Emscripten: fixed incorrect conversion of touch motion events to mouse motion events
2017-05-24 14:04:25 +01:00
Ryan C. Gordon
3fd35f6bb0
coreaudio: looks like we need more like a 10ms buffer minimum, not 50ms.
2017-05-24 01:28:03 -04:00
Ryan C. Gordon
793c788b1c
coreaudio: dynamically allocate AudioQueueBuffers.
...
We need more than two buffers to flip between if they are small, or CoreAudio
won't make any sound; apparently it needs X milliseconds of audio queued when
it needs to play more or it drops any queued buffers. We are currently
guessing 50 milliseconds as a minimum, but there's probably a more proper
way to get the minimum time period from the system.
Fixes Bugzilla #3656 .
2017-05-24 00:12:22 -04:00
Philipp Wiesemann
bf8ccf08bb
Removed redundant mouse clean up on quit for some platforms.
...
SDL_MouseQuit() already frees cursors and sets fields to NULL.
2017-05-19 23:30:59 +02:00
Ryan C. Gordon
e889757bb3
assert: Better Emscripten support.
...
(Better than nothing, that is.)
Fixes Bugzilla #3459 .
2017-05-19 14:51:03 -04:00
Ryan C. Gordon
8917f8634d
assert: allow assertions to work on platforms without threads.
...
Partially fixes Bugzilla #3459 .
2017-05-19 12:54:17 -04:00
Ryan C. Gordon
91e6054b03
wasapi: don't mark capture devices as failed for AUDCLNT_S_BUFFER_EMPTY.
...
Fixes Bugzilla #3633 .
2017-05-19 12:40:55 -04:00
Ryan C. Gordon
02773811b3
render: GL_DestroyRender() should activate first.
...
Otherwise, we might destroy a different GL context's resources.
2017-05-18 21:00:11 -04:00
Ryan C. Gordon
cff9e5a876
test: info now reports usable display bounds and DPI (thanks, Eric!).
...
Fixes Bugzilla #3652 .
2017-05-18 16:29:10 -04:00
Ryan C. Gordon
81ab6c98fd
Patched to compile on Windows.
2017-05-18 16:27:36 -04:00
Ryan C. Gordon
13b6d9959a
wasapi: Replace tabs with strings in source code.
2017-05-18 15:46:06 -04:00
Ryan C. Gordon
adabc38439
wasapi: Deal with AUDCLNT_S_BUFFER_EMPTY when flushing audio device.
2017-05-18 15:43:51 -04:00
Ryan C. Gordon
4073a6694f
audio: One more callbackspec fix (thanks, Simon!).
2017-05-18 15:33:17 -04:00
Sam Lantinga
772407627b
Fixed restoring a window that was maximized then minimized, then restored.
2017-05-16 17:48:57 -07:00
Sam Lantinga
ccf0566ca4
SDL - add SDL_WINDOW_VULKAN and make Android_CreateWindow only create an EGLSurface when SDL_WINDOW_VULKAN is not present. This makes it so the ANativeWindow* can be used with vkCreateAndroidSurfaceKHR, otherwise it will fail because having both an EGLSurface and VkSurfaceKHR attached to a window is not allowed according to the Vulkan spec:
...
"In particular, only one VkSurfaceKHR can exist at a time for a given window. Similarly, a native window cannot be used by both a VkSurfaceKHR and EGLSurface simultaneously"
CR: SamL
2017-05-16 06:30:39 -07:00
Philipp Wiesemann
df4cf79d42
directfb: Fixed compiler warnings about undefined functions.
2017-05-13 23:00:53 +02:00
Philipp Wiesemann
29222db7f6
emscripten: Fixed not removing pointer lock event callback.
2017-05-13 23:00:35 +02:00
Philipp Wiesemann
cc5b4f450a
emscripten: Changed internal functions to be static.
2017-05-12 23:01:17 +02:00
Philipp Wiesemann
ce01128adf
Fixed warnings about shadowed global variable.
...
Found by buildbot.
2017-05-12 23:01:04 +02:00
Philipp Wiesemann
87e0d812dd
directfb: Removed duplicate comment.
2017-05-12 23:00:40 +02:00
Philipp Wiesemann
61c326e12b
directfb: Fixed typo in log message.
2017-05-11 23:00:39 +02:00
Philipp Wiesemann
75c0d1ef6d
directfb: Fixed compiler warnings about unused variables.
2017-05-11 23:00:21 +02:00
Ryan C. Gordon
c878b59bbe
audio: fixed more "spec" references that should have been "callbackspec".
...
This should catch all the ones for audio targets that have provided their
own audio threads.
2017-05-10 16:18:43 -04:00
Sam Lantinga
8b7ae35356
Fixed build error on Linux
2017-05-09 03:19:58 -07:00
Sam Lantinga
9ac3bb7011
Added support for mixing Qt and SDL on iOS
...
You should call SDL_SetMainReady(), and then customize the QIOSApplicationDelegate like this, in your application code:
/* Additional support for applications mixing Qt and SDL */
@interface QIOSApplicationDelegate : UIResponder <UIApplicationDelegate>
@end
extern "C"
{
void SDL_OnApplicationWillResignActive();
void SDL_OnApplicationDidEnterBackground();
void SDL_OnApplicationWillEnterForeground();
void SDL_OnApplicationDidBecomeActive();
}
@interface QIOSApplicationDelegate (SDL)
- (void)applicationWillResignActive:(UIApplication*)application;
- (void)applicationDidEnterBackground:(UIApplication*)application;
- (void)applicationWillEnterForeground:(UIApplication*)application;
- (void)applicationDidBecomeActive:(UIApplication*)application;
@end
@implementation QIOSApplicationDelegate (SDL)
- (void)applicationWillResignActive:(UIApplication*)application
{
SDL_OnApplicationWillResignActive();
}
- (void)applicationDidEnterBackground:(UIApplication*)application
{
SDL_OnApplicationDidEnterBackground();
}
- (void)applicationWillEnterForeground:(UIApplication*)application
{
SDL_OnApplicationWillEnterForeground();
}
- (void)applicationDidBecomeActive:(UIApplication*)application
{
SDL_OnApplicationDidBecomeActive();
}
@end // QIOSApplicationDelegate
2017-05-09 10:10:42 -07:00
Philipp Wiesemann
60f2848421
haiku: Fixed crash on quit if max number of joysticks was connected.
2017-05-07 21:02:46 +02:00
Philipp Wiesemann
b7b919078f
haiku: Changed internal function to be static.
2017-05-07 21:02:31 +02:00
Philipp Wiesemann
3ed2f0ca10
haiku: Fixed unlocking clipboard twice.
2017-05-07 21:02:16 +02:00
Philipp Wiesemann
4466b93141
haiku: Fixed comment.
2017-05-06 21:46:11 +02:00
Philipp Wiesemann
34747107fe
mir: Fixed memory leak if system cursor id is unknown.
2017-05-06 21:46:00 +02:00
Philipp Wiesemann
34d9c5213c
emscripten: Fixed return type in event callback declaration.
2017-05-06 21:45:43 +02:00
Alex Szpakowski
75fb07a6d2
iOS: Only mark interrupted audio devices as non-interrupted if AudioQueueStart is successful.
2017-05-03 18:05:29 -03:00
Ryan C. Gordon
ce2998b8b9
cocoa: Don't crash on messagebox keypress without a successful SDL_Init().
2017-05-02 21:46:28 -04:00
Ryan C. Gordon
619ab7a22d
haiku: Various fixes from haikuports.
...
Based on patch here:
https://github.com/haikuports/haikuports/blob/master/media-libs/libsdl2/patches/libsdl2-2.0.5.patchset
2017-05-01 18:39:05 -04:00
Philipp Wiesemann
444c47a1b8
windows: Changed six internal functions to be static.
2017-04-29 22:50:35 +02:00
Sam Lantinga
d7cd653737
Added Steam Controller mappings for Linux and iOS
2017-04-27 15:52:37 -07:00
Ryan C. Gordon
226541cb5b
audio: another wrong struct that causes NULL pointer crash (thanks, Simon!).
...
Fixes Bugzilla #3632 .
2017-04-26 01:43:40 -04:00
Joshua Granick
1286a7d23e
windows: Add SDL_WINDOW_ALWAYS_ON_TOP support.
2017-04-20 21:31:44 -04:00
Juha Kuikka
7382cebb41
audio: Fix audio queue functions to use new spec structure.
...
Using the old spec structure causes the audio queueing functions to fail
due to bad callback pointers being checked.
2017-04-20 21:25:29 -04:00
Ryan C. Gordon
93a6191cdc
emscripten: keep track of pointer lock losses and maybe regrab pointer later.
...
If an Emscripten app is in relative mouse mode and the user presses Escape
(or whatever is appropriate), then the pointer lock is broken by the browser.
This keeps track of those losses, and next time the user presses a mouse
button down on the canvas, if the app is still meant to be in relative mouse
mode, we will attempt to regrab the pointer.
This makes it much more seamless for things like first-person shooters, and
the app doesn't need any manual intervention.
2017-04-20 13:00:54 -04:00
Sam Lantinga
d20d426c3a
Fix crash in SDL audio thread, by Juha Kuikka
...
Wrong audio spec structure was populated with the internal callback, causing the audio thread to call a NULL pointer.
2017-04-18 22:17:40 -07:00
Ryan C. Gordon
1d1a0d7f03
atomic: Patched to compile on Android.
2017-04-13 15:28:56 -04:00
Ryan C. Gordon
1c9c7633d9
atomic: favor compiler intrinsics for compare-and-swap over macOS APIs.
...
The OSAtomicCompareAndSwap* APIs are deprecated as of macOS 10.12.
2017-04-13 13:28:52 -04:00
Ryan C. Gordon
8c00de57f6
atomic: let Clang always use atomic_load_n if available.
...
(Apple's Clang reports itself as GCC 4.2.1 in preprocessor macros--the final
GNU C compiler Apple shipped--as of the macOS 10.12 SDK.)
2017-04-13 13:22:23 -04:00
Philipp Wiesemann
2bf79c2e0e
mir: Fixed typo in error messages.
2017-04-09 23:00:54 +02:00
Philipp Wiesemann
f6eb23a617
linux: Changed two variables to be static.
2017-04-09 23:00:42 +02:00
Sam Lantinga
27023ed2b3
Added support for the Cyborg V.3 Rumble Pad and the Mad Catz FightPad PRO
2017-04-07 03:39:43 -07:00
Sam Lantinga
1eb92f6342
Implemented Linux joystick blacklist
...
Based on https://raw.githubusercontent.com/denilsonsa/udev-joystick-blacklist/master/generate_rules.py
This fixes a few devices that are not actually joysticks showing up as such in SDL
2017-04-06 06:30:43 -07:00
Drew Bliss
a4dbf56574
Fix divide-by-zero when videodata->ime_candpgsize is zero. We're seeing this happen in Dota in the wild.
2017-04-06 13:27:51 -07:00