Commit Graph

7228 Commits

Author SHA1 Message Date
David Ludwig
a12e329d7b WinRT: Miscellaneous app-backgrounding/restoring event fixes and additions
SDL_WINDOWEVENT_FOCUS_LOST is now sent when an app's native window is hidden.
Likewise, SDL_WINDOWEVENT_FOCUS_GAINED is sent when an app's window is shown.
This mimicks behavior seen on iOS and Android.

SDL_WINDOWEVENT_MINIMIZED and SDL_WINDOWEVENT_RESTORED are now sent when the
app's native window is hidden and shown.  Previously, these were sent when an
app was suspended and resumed.  On Windows 8.x/RT, an app may be sent to the
background without being suspended, which previously meant that
SDL_WINDOWEVENT_MINIMIZED might never have been sent.  (On Windows Phone 8,
however, this seems to be different, whereby apps sent to the background appear
to always get suspended.)
2014-03-23 11:04:47 -04:00
David Ludwig
e0f9ea226b WinRT: Made app-backgrounded events get sent at separate, distinct times.
SDL_APP_WILLENTERBACKGROUND is now sent as soon as the app is told that it is
about to go to the background.  SDL_APP_DIDENTERBACKGROUND is sent via a WinRT
'deferral operation', which is how WinRT gives apps a bit of extra time
(multiple seconds worth) to prepare for an app-backgrounding.

The distinction may be important as the deferral operation's code is always run
in a separate thread.  For Direct3D-only apps, this means that between the
two SDL app-backgrounded events, SDL_APP_WILLENTERBACKGROUND will be the only
one run from the main thread.  Given that some WinRT operations can only be done
on the main thread (operations to the CoreWindow fall into this category), this
could be important.

It is important to note that pre-deferral code may only have a very short bit of
time to execute code, less so than code run in the deferral operation (where
SDL_APP_DIDENTERBACKGROUND is sent from), which usually gets several seconds to
run.
2014-03-23 08:56:52 -04:00
David Ludwig
17a8325240 WinRT globals cleanup: Removed WINRT_GlobalSDLVideoDevice 2014-03-22 21:08:05 -04:00
David Ludwig
0982adf8fd WinRT: Got OpenGL ES 2 working with the latest version of ANGLE/WinRT.
SDL/WinRT did have support for OpenGL ES 2 via an older version of ANGLE/WinRT,
however its API changed a few months ago, and SDL/WinRT would crash when trying
to use it.  It would also occasionally crash when using the older version.

This changeset should make SDL/WinRT work with the latest version, as
available via MS Open Tech's git repository of it at
https://github.com/msopentech/angle

Older versions of ANGLE/WinRT (from either https://github.com/stammen/angleproject
or https://bitbucket.org/DavidLudwig/angleproject) will need to be updated to
MS Open Tech's latest version.
2014-03-22 20:48:18 -04:00
Ryan C. Gordon
5901fc9f84 Static analysis fix: more cleanups of unused variables, etc, in blitters. 2014-03-21 10:40:15 -04:00
Ryan C. Gordon
6d0646555a Static analysis fix: more dead stores. 2014-03-21 00:57:43 -04:00
Ryan C. Gordon
49030ac00b Patched to compile on C89 compilers, removed more streamer code. 2014-03-20 18:00:41 -04:00
Ryan C. Gordon
dd3608ac1f Static analysis fix: clean up unused variables and dead stores in blitters. 2014-03-20 17:55:24 -04:00
Ryan C. Gordon
5995d23c5c #ifdef'd out the audio streamer code.
It's been hardcoded out forever now, but I've now forcibly removed it with
the preprocessor so static analysis doesn't complain about it for now.

Eventually I want to rewrite or remove this code.
2014-03-20 17:00:33 -04:00
Ryan C. Gordon
e1ae251343 Static analysis fix: Removed unused variable.
(We don't care if closing the device fails anyhow).
2014-03-20 16:56:37 -04:00
Ryan C. Gordon
798fd9ae6b Static analysis fix: uninitialized data.
(This is Clang not knowing that SDL_SetError() always returns -1.)
2014-03-20 16:54:20 -04:00
Ryan C. Gordon
4669d7bdb4 Static analysis fix: uninitialized data.
(Clang doesn't know that "_this" was already checked for NULLness elsewhere.)
2014-03-20 16:25:30 -04:00
Ryan C. Gordon
29ddc0d96f Static analysis fix: uninitialized value.
(A false positive: clang doesn't know SDL_SetError() always returns -1.)
2014-03-20 16:23:18 -04:00
Ryan C. Gordon
cadaaa5221 Static analysis fix: leaking Objective-C object. 2014-03-20 16:05:57 -04:00
Ryan C. Gordon
7d5396a146 Static analysis fix: dereference of a NULL pointer. 2014-03-20 11:22:57 -04:00
Ryan C. Gordon
27c0634bd6 Static analysis fix: let clang know _this->displays isn't NULL. 2014-03-20 11:14:02 -04:00
Ryan C. Gordon
6e4667b331 Static analysis fix: division by zero. 2014-03-20 11:14:44 -04:00
Ryan C. Gordon
c950d2e608 Static analysis fix: uninitialized variables.
This is actually a false-positive, in this case, since Clang doesn't know
 that SDL_SetError() only ever returns -1. Feature request to improve that,
 with explanation about these specific SDL patches, is here:

   http://llvm.org/bugs/show_bug.cgi?id=19208
2014-03-20 10:41:47 -04:00
Ryan C. Gordon
3dee50f912 Static analysis fix: Fixed leaking Objective-C object. 2014-03-20 10:04:23 -04:00
Ryan C. Gordon
87d3426c78 Static analysis fix: bad release.
(object is already init'd at this point, so -[obj init] destroys
 existing reference count.)
2014-03-19 23:19:34 -04:00
Andreas Schiffler
76293d2333 Fix visualstudio build break introduced by changeset 8645 2014-03-19 21:48:32 -07:00
Andreas Schiffler
353b516a34 Add input validation to SDL_getenv/SDL_setenv; update Stdlib testsuite; add Hints testsuite 2014-03-19 21:39:55 -07:00
Ryan C. Gordon
9566f222dc Minor comment cleanups in checker-buildbot.sh 2014-03-19 22:43:30 -04:00
Ryan C. Gordon
42b41b0cdd Static analysis fix: division by zero. 2014-03-19 18:25:21 -04:00
Ryan C. Gordon
d5a865d065 Static analysis fix: Value stored to '[bcd]' is never read. 2014-03-19 16:55:38 -04:00
Ryan C. Gordon
37f1a0a596 Static analysis fix: "Value stored to 'p' is never read" 2014-03-19 16:52:26 -04:00
Ryan C. Gordon
1a43e1cd11 Don't overwrite SDL_dynapi.h in checker-buildbot.sh. 2014-03-19 16:02:25 -04:00
Ryan C. Gordon
474e5b8972 Make checker-buildbot.sh work just about anywhere Clang is installed. 2014-03-19 15:25:27 -04:00
Ryan C. Gordon
948cac24ff Reenable static builds for now with static analysis. 2014-03-19 13:22:09 -04:00
Ryan C. Gordon
6ccba1adab Buildbot static analysis script: use configure script instead of cmake. 2014-03-19 03:29:14 -04:00
Ryan C. Gordon
be388fc3c6 Just build shared libraries for static analysis.
Building the static libs just does the same work twice.
2014-03-19 03:04:04 -04:00
Ryan C. Gordon
5c1d79d19e Added a script to let buildslaves run Clang static analysis. 2014-03-19 00:58:32 -04:00
Ryan C. Gordon
2be5efc8ad Fixed SDL_HapticNewEffect() failing on various DirectInput devices. 2014-03-18 17:16:28 -04:00
Ryan C. Gordon
5f04095886 Fixed PS4 game controller config on Windows. 2014-03-18 12:53:01 -04:00
Ryan C. Gordon
8f66b9ecc9 Whitespace fix. 2014-03-18 12:52:51 -04:00
Ryan C. Gordon
7005ad71ce controllermap: Don't treat SDL_HAT_CENTERED as a valid input. 2014-03-18 12:33:57 -04:00
David Ludwig
9cf2124240 Fixed a build error in SDL_platform.h when using Code Blocks and MinGW
winapifamily.h, a header file specific to Microsoft's Windows 8 SDK, wasn't
getting found, which was leading to a build error.
2014-03-18 12:08:49 -04:00
Ryan C. Gordon
91cea37295 Fixed SDL_HapticOpenFromJoystick() with DirectInput devices. 2014-03-17 19:11:18 -04:00
Sam Lantinga
16949c3016 Added tag release-2.0.3 for changeset 704a0bfecf75 2014-03-15 19:31:20 -07:00
Sam Lantinga
b13efe2755 Fixed iOS build 2014-03-15 19:30:52 -07:00
Sam Lantinga
84dc1c2d79 Added tag release-2.0.3 for changeset f285b9487756 2014-03-15 16:48:32 -07:00
Sam Lantinga
8755107f89 Added a patch note for 2.0.3 2014-03-15 16:43:58 -07:00
Sam Lantinga
9a71f76f31 Fixed bug 2450 - Crosscompiling for Win32 with MinGW fails due to WM_UNICHAR undeclared 2014-03-15 16:32:45 -07:00
Sam Lantinga
a6a5d25d08 Only show the window if it's supposed to be shown. 2014-03-15 16:27:06 -07:00
Ryan C. Gordon
75a2f78766 Mac: Make sure window is still showing when we exit a fullscreen space. 2014-03-15 15:35:15 -04:00
David Ludwig
3b082a24b3 Fixed broken rotation detection routines on WinRT
Rotation detection and handling should now work across all, publicly-released,
WinRT-based platforms (Windows 8.0, Windows 8.1, and Windows Phone 8.0).
2014-03-15 14:54:23 -04:00
David Ludwig
40ab193a0d Fixed a crash on Windows Phone 8 that occurred after rotating a device
This changeset prevents IDXGISwapChain::ResizeBuffers from being invoked on
Windows Phone 8, a function that isn't available on the platform (but is
available on other Windows platforms).  The call would fail, which ultimately
led to a crash.

This changeset also attempts to make sure that the D3D11 swap chain is created
at the correct size, when using Windows Phone 8.

Still TODO: make sure rotation-querying works across relevant Windows
platforms (that support Direct3D 11.x).
2014-03-15 13:27:18 -04:00
David Ludwig
8c3e6e0078 Fixed a build error when including WinRT's SDLmain file directly in an app 2014-03-15 10:37:40 -04:00
Sam Lantinga
bd5d79473a Fixed Mac OS X window level when leaving fullscreen mode 2014-03-14 18:06:09 -07:00
David Ludwig
4da0b83806 Added a missing file related to WinRT power management/reporting. 2014-03-14 01:36:05 -04:00