Ryan C. Gordon
9fd4d4dd39
Windows: let threads be named in the debugger.
...
We now only raise the magic exception that names the thread when
IsDebuggerPresent() returns true. In such a case, Visual Studio will
catch the exception, set the thread name, and let the debugged process
continue normally. If the debugger isn't running, we don't raise an exception
at all.
Setting the name is a debugger trick; if the debugger isn't running, the name
won't be set if attached later in any case, so this doesn't lose functionality.
This lets this code work without assembly code, on win32 and win64, and
across various compilers.
The only "gotcha" is that if you have something attached that looks like a
debugger but doesn't respect this magic exception trick, the process will
likely crash, but that's probably a deficiency of the attached program.
Fixes Bugzilla #2089 .
2016-02-21 17:05:25 -05:00
Ryan C. Gordon
32c70cc546
stdlib: Restored previous qsort() implementation; the licensing is resolved.
...
Thanks to Gareth McCaughan for changing his code to the zlib license on
our behalf!
2016-02-21 13:07:14 -05:00
Ryan C. Gordon
2436ca200d
x11: better fix for the previous commit's fullscreen vs maximized issue.
2016-02-20 01:03:39 -05:00
Ryan C. Gordon
a4627c5eda
x11: Don't mess with fullscreen vs maximized window state on unmapped windows.
2016-02-20 00:44:42 -05:00
Ryan C. Gordon
dddd6a5a9a
Android: Restored Philipp's joystick change, lost in the previous merge.
...
This patch, specifically: https://hg.libsdl.org/SDL/rev/c0976de9c332
2016-02-19 00:28:53 -05:00
Ryan C. Gordon
03f9711797
Merge Android C89 fixes from Eric Wing.
2016-02-19 00:24:00 -05:00
Ryan C. Gordon
df4be2f200
x11/wayland/mir: Make the dynamic loading macro salsa a little less messy.
2016-02-18 23:27:58 -05:00
Sam Lantinga
d6699d5541
Added support for the Mad Catz FightStick TE S+ PS3
2016-02-17 14:15:37 -08:00
Sam Lantinga
5c59da2e8f
Added support for the Mad Catz FightStick TE S+ PS4
2016-02-16 13:51:24 -08:00
Sam Lantinga
0682857783
Added support for the Akishop Customs PS360+ v1.66 and MadCatz PC USB Wired Stick 8818
2016-02-16 13:51:15 -08:00
Sam Lantinga
a38d5b480d
Added support for several Mad Catz arcade sticks
2016-02-16 13:48:46 -08:00
Sam Lantinga
1c2beb2180
Allow using the game controller API with arcade sticks and other XInput devices
2016-02-16 13:47:37 -08:00
Philipp Wiesemann
9cd9925cc9
Android: Changed an internal joystick function to return count instead of id.
...
The returned value is currently not used by the caller. The instance id would
also not be needed on Java side and providing it just complicated the function.
Partially fixes Bugzilla #3234 .
2016-02-16 20:32:22 +01:00
Ryan C. Gordon
0e2badc144
x11: Patched to compile with DEBUG_XEVENTS on C89 compilers.
2016-02-12 00:27:21 -05:00
Ryan C. Gordon
45407d0eac
x11: Removed an assert.
...
This assert triggers when run under XMonad. It's safe to pass a zero here
anyhow, as this will still work "well enough" and the original
problem--GNOME printing a warning message--is still fixed because GNOME's
window manager gives us a chance to grab a non-zero user-time value before
this code is run.
2016-02-15 21:49:09 -05:00
Ryan C. Gordon
09ae4df5bf
Another attempt to fix Windows build.
2016-02-15 03:37:01 -05:00
Ryan C. Gordon
18f74c6e15
Patched to compile on Visual Studio.
2016-02-15 03:21:26 -05:00
Ryan C. Gordon
014956ac1d
Replaced SDL_qsort with public domain code from PDCLib: http://pdclib.e43.eu/
2016-02-15 03:16:46 -05:00
Alex Szpakowski
33af421d7b
Windows: make sure SDL_TicksInit has been called before calling Sleep(ms) in SDL_Delay. This ensures the Windows system timer resolution is properly set before Sleep is called.
2016-02-14 21:17:25 -04:00
Philipp Wiesemann
37a5416784
PSP: Deactivated dynamic API.
...
Thanks to Bugzilla #3240 for pointing this out.
2016-02-13 17:35:38 +01:00
Philipp Wiesemann
7da168db0a
Fixed spaces in license comments.
2016-02-10 19:31:23 +01:00
Eric Wing
704298c0c2
Android: C89 cleanup to avoid warnings/errors since the default gcc mode on Android is still pre-C99.
2016-02-09 17:36:42 -08:00
Ryan C. Gordon
5ed63ae317
x11: Updated imKStoUCS.* to latest from x.org.
...
This was a version from XFree86 before now. :) Although not much has
changed.
2016-02-08 01:08:21 -05:00
Alex Szpakowski
8e7cd6b5da
iOS: Implemented clipboard support.
2016-02-03 20:32:55 -04:00
Sam Lantinga
4249f4666c
David Carlier implemented SDL_GetBasePath() for OpenBSD
2016-01-31 21:11:15 -08:00
Sam Lantinga
1fb30db048
Return the full number of events from SDL_PeepEvents() if NULL is passed in with SDL_PEEKEVENT
2016-01-31 11:29:11 -08:00
Alex Szpakowski
325921789a
x11: Fix AltGr generating an invalid keycode (bug #3244 ). Thanks Thomas!
2016-01-31 09:39:42 -04:00
Philipp Wiesemann
9bdd188115
PSP: Removed inlined copy of SDL_CalculateAudioSpec()'s functionality.
2016-01-27 23:20:23 +01:00
Sam Lantinga
67f9fd2bc4
Fixed creating fullscreen windows on Steam Link
2016-01-22 13:12:16 -08:00
Sam Lantinga
e5d575b933
Expose the EGL display and window for Vivante SDL windows
2016-01-16 21:58:49 -08:00
Philipp Wiesemann
0a1999dfd2
Fixed compile warnings about type conversion.
...
Found by buildbot.
2016-01-16 21:25:10 +01:00
Philipp Wiesemann
8d035b1aee
Android: Added mouse initialization to reset state.
...
If the app is launched again then the shared object may be reused (on Android).
2016-01-12 22:23:00 +01:00
Philipp Wiesemann
1560351905
Android: Added mapping of mouse forward button and mouse back button.
2016-01-11 20:02:48 +01:00
Alex Szpakowski
87ea39be84
Removed dead code (caught by Clang's static analyzer).
2016-01-09 17:41:09 -04:00
Ryan C. Gordon
ed62033366
x11: make last mouse coords sane upon window entry (thanks, Cengiz!).
...
(and thanks to Cengiz for many of the previous Unreal-related
patches! They were generically credited to Epic Games, but a large
amount of that work was his contribution.)
Fixes Bugzilla #3067 .
2016-01-07 19:58:00 -05:00
Ryan C. Gordon
73680ab374
Fixed NULL dereference on drop events with no window associated.
...
(such as when dropping a file onto an app's icon to launch.)
This bug caught by Clang's static analyzer.
2016-01-07 16:01:24 -05:00
Ryan C. Gordon
5dcf6bcc32
Updated dynamic API table.
2016-01-07 14:51:22 -05:00
Ethan Lee
167cf14c1f
SDL_RenderSetIntegerScale
2016-01-05 16:39:18 -05:00
Ryan C. Gordon
416d046663
Mac: Implemented SDL_GetDisplayDPI (thanks, Kirill!).
...
Fixes Bugzilla #3223 .
2016-01-07 14:02:37 -05:00
Philipp Wiesemann
1d1ba58f28
Fixed compile warnings about uninitialized variables in test library.
...
Found by buildbot.
2016-01-06 22:39:29 +01:00
Ryan C. Gordon
49e47688b4
Patched to compile on iOS.
2016-01-05 05:38:55 -05:00
Ryan C. Gordon
881ccccbcf
Android: Fixed up drop events for new interface.
2016-01-05 05:31:33 -05:00
Ryan C. Gordon
eeb899999f
Patched to compile.
2016-01-05 05:22:35 -05:00
Ryan C. Gordon
7605ccf68a
Use SDL's stdinc functions instead of C runtime calls.
2016-01-05 02:29:16 -05:00
Ryan C. Gordon
dc532c70e8
Added SDL_WINDOWEVENT_TAKE_FOCUS.
...
This is for corner cases where a multi-window app is activated and wants to
make a decision about where focus should go.
This patch came from Unreal Engine 4's fork of SDL, compliments of Epic Games.
2016-01-05 02:27:50 -05:00
Ryan C. Gordon
aa4952fdef
Added SDL_WINDOWEVENT_HIT_TEST.
...
This lets windows know when they are dropping a mouse event because their
hit test reported something other than SDL_HITTEST_NORMAL. It lets them know
exactly where in the event queue this happened.
This patch is based on work in Unreal Engine 4's fork of SDL,
compliments of Epic Games.
2015-04-21 10:10:59 -04:00
Ryan C. Gordon
d4aedf9951
Added SDL_SetWindowModalFor().
...
This is currently only implemented for X11.
This patch is based on work in Unreal Engine 4's fork of SDL,
compliments of Epic Games.
2015-04-21 09:45:58 -04:00
Ryan C. Gordon
e497e46515
Added SDL_SetWindowInputFocus().
...
This is currently only implemented for X11.
This patch is based on work in Unreal Engine 4's fork of SDL,
compliments of Epic Games.
2016-01-05 02:28:56 -05:00
Ryan C. Gordon
3bdaf4c611
Added SDL_SetWindowOpacity() and SDL_GetWindowOpacity().
...
This is currently implemented for X11, Cocoa, Windows, and DirectFB.
This patch is based on work in Unreal Engine 4's fork of SDL,
compliments of Epic Games.
2016-01-05 02:46:10 -05:00
Ryan C. Gordon
5696e88e6b
Added SDL_GetWindowBordersSize().
...
This is currently only implemented for X11.
This patch is based on work in Unreal Engine 4's fork of SDL,
compliments of Epic Games.
2016-01-05 02:29:06 -05:00
Ryan C. Gordon
f9af0c0376
x11: Put a matching window_group wmhint on every window created.
...
This is useful to the Window Manager, so it can know to associate multiple SDL
windows with a single app.
2016-01-05 02:27:26 -05:00
Ryan C. Gordon
8e855f2fbc
Added SDL_DROPBEGIN and SDL_DROPCOMPLETE events, plus window IDs for drops.
...
This allows an app to know when a set of drops are coming in a grouping of
some sort (for example, a user selected multiple files and dropped them all
on the window with a single drag), and when that set is complete.
This also adds a window ID to the drop events, so the app can determine to
which window a given drop was delivered. For application-level drops (for
example, you launched an app by dropping a file on its icon), the window ID
will be zero.
2016-01-05 01:42:00 -05:00
Ryan C. Gordon
f2defe5e11
Added special window type flags.
...
Specifically: always on top, skip taskbar, tooltip, utility, and popup menu.
This is currently only implemented for X11.
This patch is based on work in Unreal Engine 4's fork of SDL,
compliments of Epic Games.
2016-01-05 01:30:40 -05:00
Ryan C. Gordon
f9b7379341
Added SDL_DROPTEXT event, for dragging and dropping string data.
...
This patch is based on work in Unreal Engine 4's fork of SDL,
compliments of Epic Games.
2016-01-05 02:26:45 -05:00
Ryan C. Gordon
c3114975db
Added SDL_GetDisplayUsableBounds().
2016-01-04 23:52:40 -05:00
Ryan C. Gordon
8875a4014f
x11: Optimize SDL_GetGlobalMouseState() a little.
...
Use XInput2 to mark the global mouse state as dirty so we don't have to make
a bunch of roundtrips to the X server when nothing has changed.
2015-04-22 16:50:48 -04:00
Ryan C. Gordon
14e007772a
x11: window managers might mark windows as FULLSCREEN _and_ MAXIMIZED.
...
This patch came from Unreal Engine 4's fork of SDL, compliments of Epic Games.
2015-04-21 10:14:17 -04:00
Ryan C. Gordon
9a7527988a
x11: Workaround window managers that mark fullscreen windows as maximized.
...
This patch came from Unreal Engine 4's fork of SDL, compliments of Epic Games.
2015-04-21 01:22:32 -04:00
Ryan C. Gordon
81209acbd8
x11: Let apps specify that video init should fail if XRandR is unavailable.
...
Notably: it sets the error string to inform you that your custom SDL is built
without xrandr support, which apparently has been a support issue for
Unreal Engine 4 developers.
2016-01-04 23:44:27 -05:00
Ryan C. Gordon
f9d478b6c3
x11: _NET_WM_PID needs a long, not a pid_t, I think.
2016-01-05 02:40:14 -05:00
Ryan C. Gordon
0c0ce2096c
Updated comment: this is the correct way to do fullscreen on X11 now.
2015-04-21 10:19:20 -04:00
Ryan C. Gordon
e0e04542d0
Added a few FIXMEs.
2015-04-21 09:46:48 -04:00
Ryan C. Gordon
15bc7aea64
Mac: allows apps to use OpenGL on a slower, integrated GPU.
...
This is often useful for SDL apps that aren't meant to be games: the
integrated GPU starts up faster, uses less power, and is often more than
fast enough.
Note that even with this change, the app will still default to the more
powerful, discrete GPU if one is available; an app that prefers the integrated
GPU will still need the NSSupportsAutomaticGraphicsSwitching key properly
set in its Info.plist and Mac OS X 10.7 or later.
https://developer.apple.com/library/mac/qa/qa1734/_index.html
2016-01-04 22:00:04 -05:00
Ryan C. Gordon
7678b1db88
Patch to compile on C89 compilers.
2016-01-04 16:36:42 -05:00
Ryan C. Gordon
6df5e1e535
x11: Support _NET_WM_USER_TIME and give _NET_ACTIVE_WINDOW a valid timestamp.
...
Fixes Bugzilla #3056 .
2016-01-04 16:25:27 -05:00
Ryan C. Gordon
fa8c83c1c1
Remove almost all instances of "volatile" keyword.
...
As Tiffany pointed out in Bugzilla, volatile is not useful for thread safety:
https://software.intel.com/en-us/blogs/2007/11/30/volatile-almost-useless-for-multi-threaded-programming/
Some of these volatiles didn't need to be, some were otherwise protected by
spinlocks or mutexes, and some got moved over to SDL_atomic_t data, etc.
Fixes Bugzilla #3220 .
2016-01-03 06:50:50 -05:00
Sam Lantinga
e2fd1c0fe3
Backed out commit 80ce90dbc266, this causes Visual Studio build failure on buildbot
2016-01-02 11:17:06 -08:00
Sam Lantinga
68a3272852
Fixed sed error on Mac OS X and updated copyright on a few last files
2016-01-02 10:38:51 -08:00
Sam Lantinga
ac444cd313
Fixed bug 3092 - Statically link sdl2 with /MT for msvc
...
Martin Gerhardy
According to https://msdn.microsoft.com/de-de/library/2kzt1wy3%28v=vs.120%29.aspx when one is using /MT for msvc compilations the libcmt.lib is already linked to the binary. This lib includes the symbol that is now guarded (see attached patch) by the #ifndef _MT.
2016-01-02 10:25:53 -08:00
Sam Lantinga
42065e785d
Updated copyright to 2016
2016-01-02 10:10:34 -08:00
David Ludwig
44c0b2da87
WinRT: minor code-comment cleanups
2015-12-31 01:54:11 -05:00
David Ludwig
6823a22162
WinRT: fixed bug whereby a Win8.x app's SDL_Window wasn't getting de-marked as maximized (on window restore)
2015-12-31 01:50:30 -05:00
David Ludwig
d8aa066288
Fixed Bug 3217 - WinRT: after alt-tab'ing back into fullscreen app, mouse cursor is sometimes wrong
2015-12-31 01:40:50 -05:00
David Ludwig
854cf7ac40
Fixed Bug 3215 - Win32: 'fullscreen' app doesn't always extend to top of screen
2015-12-30 12:44:13 -05:00
Philipp Wiesemann
c41feca5de
Fixed a crash if creating accelerated renderer after accessing window surface.
...
Partially fixes Bugzilla #3196 .
2015-12-29 19:13:56 +01:00
Ryan C. Gordon
696cd7975c
NetBSD: fixed issues with cpuinfo and pthread_setname_np (thanks, Thomas!).
...
Fixes Bugzilla #3176 .
2015-12-29 02:32:47 -05:00
Ryan C. Gordon
ce0f90ffb9
NetBSD: improved joystick support (thanks, Thomas!).
...
This patch skips non-joystick HID devices and gives joysticks on NetBSD
a human readable name.
Fixes Bugzilla #3178 .
2015-12-29 02:29:56 -05:00
Ryan C. Gordon
18c7d6df21
XRandR: fixed primary output detection logic (thanks, "winterknight"!).
...
Fixes Bugzilla #3185 .
2015-12-29 02:16:14 -05:00
Ryan C. Gordon
326b357804
Mac: don't ignore mouse clicks on the top pixel of a window (thanks, Joshua!).
...
Fixes Bugzilla #3190 .
2015-12-29 01:09:58 -05:00
Ryan C. Gordon
f893ce3d3e
OpenGL+GLES renderers: Fixed incorrect clip rectangle coords (thanks, Marcel!).
...
Fixes Bugzilla #2700 .
2015-12-28 15:15:58 -05:00
Alex Szpakowski
4ae69e3222
Mac: expose joystick buttons that report themselves as having 'Start' and 'Select' HID usages.
...
I don't know if any joysticks report those usages for any buttons in practice, but other prominent Mac gaming software exposes them, so we might as well too.
2015-12-28 15:44:09 -04:00
Ryan C. Gordon
51c1d69d13
Mac: Whoops, lost legit Caps lock keypress events. Fixed.
2015-12-28 13:30:58 -05:00
Ryan C. Gordon
fd6b435c6a
Windows: resync num/caps lock when window is gaining focus.
2015-12-28 13:08:19 -05:00
Ryan C. Gordon
257b7af247
Sync up the caps/numlock state properly without sending key events.
...
Partially fixes Bugzilla #2736 and #3125 .
2015-12-28 13:07:44 -05:00
Ryan C. Gordon
d3b323f89d
Mac: Fix keyboard state if capslock was toggled while app wasn't in foreground.
2015-12-27 23:39:43 -05:00
David Ludwig
fa7c15ce1f
WinRT: made bug 3202/3213's fix apply for WinRT apps
2015-12-27 22:26:27 -05:00
Ryan C. Gordon
2befe01d39
Removed a tabstop.
2015-12-27 18:56:46 -05:00
Ryan C. Gordon
6a2e8a7a90
Win: make sure SDL keyboard state reflects system capslock state at startup.
2015-12-27 18:48:14 -05:00
David Ludwig
9e9ef5ad31
Fixed bug 3202 - Fix renderer visibility on a window maximized directly from the minimized state
...
Many thanks to id.zeta for details on the bug, and for the fix!
2015-12-27 17:55:45 -05:00
Ryan C. Gordon
faed05850e
Mac: make sure SDL keyboard state reflects system capslock state at startup.
2015-12-27 16:46:12 -05:00
David Ludwig
8281cc72ba
WinRT: Fixed bug 3210, "alt-tab doesn't work correctly with full-screened, UWP (Win10 Store) apps"
2015-12-22 00:58:47 -05:00
Sam Lantinga
8ddcc63ac7
sdl:
...
xaudio2 is not linked against sdl but the sdk already handles dynamically loading (XAudio2Create is inlined and just loads a com object). Updated SDL_xaudio2.c
2015-12-18 18:49:35 -08:00
Alex Szpakowski
4026980917
Cleaned up some code formatting.
2015-12-18 00:49:27 -04:00
Alex Szpakowski
cb15bb4cfa
iOS: Set the player index of MFi gamepads when the user first presses a button, rather than when it's programatically opened.
2015-12-11 16:41:59 -04:00
Alex Szpakowski
a2235d7b29
Cocoa: Use NSTextInputClient instead of NSTextInput for text input handling. The latter was deprecated in OS X 10.6.
2015-12-10 22:17:22 -04:00
Alex Szpakowski
0c463d770b
SDL_GL_GetAttribute: If a GL context isn't active, only return failure when the specified attribute needs an active GL context to be queried.
2015-12-10 20:25:34 -04:00
David Ludwig
f2f435ee45
WinRT: fixed bug: Back button(s) weren't working on Win10
...
Many thanks go to Sylvain Becker for providing details on the fix!
2015-12-09 21:34:56 -05:00
Sam Lantinga
d1e6a2ebe6
Added broad support for wireless XBox 360 controllers on Linux
2015-12-09 12:11:40 -08:00
David Ludwig
976bc9a919
WinRT: build fix for Windows Phone 8.0
2015-12-06 18:48:46 -05:00
David Ludwig
2b48481879
WinRT: enabled the Win10-Store Cert Kit bug-workaround, for Windows 8.0 apps
2015-12-06 18:42:30 -05:00