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
a0aff76416
Added missing path in porting README.
2017-05-13 23:01:04 +02: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
Sam Lantinga
bf4e7eb612
Fixed comment typo
2017-05-05 05:10:30 -07: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
d00dfc434e
Fixed another AC_DEFINE.
2017-05-02 11:31:14 -04:00
Ryan C. Gordon
3f7f65a36d
Fixed configure script.
...
The Haiku patch would define some HAVE_* things to /**/ instead of 1, breaking
the build for various things.
2017-05-02 11:16:58 -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
Philipp Wiesemann
89499a0836
Removed unused field in loopwavequeue program.
...
Found by Cppcheck.
2017-04-29 22:50:23 +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
Philipp Wiesemann
37b49e6344
ios: Fixed compiler warnings about unused variables in demo.
2017-04-09 23:00:26 +02:00
Ryan C. Gordon
366adae360
android: More robust fix for screen locking in landscape (thanks, Sylvain!).
...
Fixes Bugzilla #3562 .
From Sylvain:
"With an android landscape application, if you quickly lock, then unlock your
device, you can see sometimes a quick glitch: screen badly draws in portrait,
then it correctly displays in landscape.
Not talking of a smooth rotation, it's a drawing glitch. And you need to have
a plain lock screen, with no model nor passphrase.
I think it happens because the call to "nativeResume()" occurs sometimes too
early.
It should be done once you have *all* those three things (in any sequence):
- onWindowsFocusChanged() set to true
- onResume() called
- a valid call to onSurfaceChanged()
Currently, this is not the case: you don't need to have onResume() called.
Just need to have isPaused, (eg onPaused()).
So "isPaused" should be renamed as "isResumedCalled".
But you also need some kind of isPaused state to make sure to don't call
nativePause() twice (and deadlocks...).
There are also redundant checks to "mHasFocus" and some creation of the
initialisation thread code from onSurfaceChanged() that could me moved.
So here's this patch:
- add some states, so we have cleaner transitions.
- make sure "onResume()" is called.
- some clean up
- it also goes faster in pause state (focus changed, onPause, without requiring isSurfaceReady which does seems to be needed).
Tested on a few devices and it removes the glitch.
But I haven't tested when the activity goes back to "init" state."
2017-04-07 20:17:30 -04: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
Drew Bliss
66555f6115
SDL - attempt to fix https://github.com/ValveSoftware/Dota-2/issues/1199 of mouse not locking in Dota. This fix is proposed by Ryan Gordon (increase timeout in X11_SetWindowGrab from 250ms to 5000ms). I'm going to integrate to source2 and ship it to dota customers. If it works, SamL will upsteam it to SDL.
2017-04-06 13:27:48 -07:00