Commit graph

8353 commits

Author SHA1 Message Date
Ryan C. Gordon
ad570bffcc Removed an unnecessary #ifdef. 2015-03-13 00:48:30 -04:00
Philipp Wiesemann
bde0ce0969 Updated internal documentation comments. 2015-03-11 21:14:21 +01:00
Philipp Wiesemann
b6737b215d Windows: Fixed ignoring return value of internal function.
If the function WIN_ConvertUTF32toUTF8() failed (should currently not be
possible) a not terminated string would have been sent as text input event.

This also fixed converting characters more often than needed on key repetition.
2015-03-06 21:34:10 +01:00
Philipp Wiesemann
cf9936654d Emscripten: Fixed ignoring return value of internal function.
If the function Emscripten_ConvertUTF32toUTF8() failed (should currently not be
possible) a not terminated string would have been sent as text input event.
2015-03-06 21:29:25 +01:00
Philipp Wiesemann
0eb350f9ec Emscripten: Partially fixed not removing key event callbacks if hint was used.
The key event callbacks were always removed from the same target although it is
possible to set them to different targets using the hint. This is only a partial
fix because it assumes that the hint is not changed to a different value later.
2015-03-06 21:26:37 +01:00
Ryan C. Gordon
12d065e7e1 Fixed SDL_PRI?64 for 64-bit Linux.
64-bit Linux uses a "long" instead of "long long" for 64-bit ints.

Added a special-case this so SDL_PRI?64 doesn't trigger compiler warnings
when used with SDL's 64-bit datatypes on 64-bit Linux.

--HG--
extra : rebase_source : 573ae86baa2648ab2b84479f2d8058e2c6dec009
2015-03-02 21:36:45 -05:00
Alfred Reynolds
f1bdf20e1d SDL
- fix crash on OSX when removing a device. If the remove happened due to the CFRunLoopRunInMode call in SDL_SYS_JoystickDetect then we would delete the device right away, before SDL_SYS_JoystickUpdate could clean it up. So move the CFRunLoopRunInMode to after the cleanup logic, preventing this case. This does mean that adds and removes of joysticks now take 1 extra frame to show up.
2015-03-02 11:43:24 -08:00
David Ludwig
2287c7b032 Fixed bug 2868 - SDL_FillRect can crash if surface's clip-rect is out-of-bounds
Thanks to John Skaller for the research into this, and for the fix!
2015-02-22 20:34:08 -05:00
Philipp Wiesemann
e4f4a0e0af Emscripten: Fixed out of range joystick device index after joystick disconnect.
After disconnecting a joystick the remaining kept their original device index.
This was not correct because the device index must be a number between 0 and
SDL_NumJoysticks(). It was fixed with ideas from SDL's joystick implementation
for Android. Some range checks were removed as the caller already checks them.
2015-02-22 23:21:32 +01:00
Philipp Wiesemann
eb9d379503 Emscripten: Fixed sending button and motion events for not opened joysticks.
SDL_SYS_JoystickUpdate() was implemented incorrectly. For every call to it all
attached joysticks were checked. But actually only the given SDL_Joystick should
be checked then. This allowed sending broken events for attached but not opened
joysticks. It also checked the opened joysticks more often than actually needed.
2015-02-22 21:00:35 +01:00
Ryan C. Gordon
79abb08b76 Fixed naming conventions in some SDL_assert types, added compat #defines.
Fixes Bugzilla #1997.
2015-02-21 00:33:25 -05:00
Ryan C. Gordon
984d72502d Mac OS X: Better way to stop duplicate joystick reports (thanks, Kyungdahm!).
Fixes Bugzilla #2822.
2015-02-19 23:52:10 -05:00
Ryan C. Gordon
3951d03c49 Windows: Added a FIXME.
--HG--
extra : amend_source : c4478dd58e8560a9636d8dd64c79f9b5c15e0621
2015-02-19 21:51:13 -05:00
Ryan C. Gordon
b549a0f797 Windows: Free the argv we allocated for console_wmain(). 2015-02-19 21:50:40 -05:00
Ryan C. Gordon
d0c74b7b23 Windows: Added a FIXME. 2015-02-19 21:49:30 -05:00
Ryan C. Gordon
f9cd47e187 Windows: Make a distinction between ANSI mainline and UTF-8 mainline. 2015-02-19 21:49:15 -05:00
Ryan C. Gordon
c2ba56ccb7 Windows: Support unicode arguments for console applications (thanks, Jorgen!).
Fixes Bugzilla #2864.
2015-02-19 21:44:41 -05:00
Ryan C. Gordon
a33b3fca95 Mac OS X: replace some deprecated APIs with modern equivalents (thanks, Alex!).
Fixes Bugzilla #2858.
2015-02-19 19:55:30 -05:00
Edward Rudd
05b4247f94 SDL_SetWindowPosition respects display num for SDL_WINDOWPOS_CENTERED_DISPLAY.
This allows for this kind of code in an application:

int monitorID = 1;  // the second monitor!
SDL_SetWindowPosition(sdlWin,
                      SDL_WINDOWPOS_CENTERED_DISPLAY(monitorID),
                      SDL_WINDOWPOS_CENTERED_DISPLAY(monitorID));

Fixes Bugzilla #2849.
2015-02-19 19:40:58 -05:00
Alex Szpakowski
5ed59597bb Merged default into iOS-improvements
--HG--
branch : iOS-improvements
2015-01-24 23:58:07 -04:00
Alex Szpakowski
46ed3de4f7 Fixed the extended launch screen causing minor visual issues when rotating the screen in some circumstances.
--HG--
branch : iOS-improvements
2015-01-24 23:53:41 -04:00
Philipp Wiesemann
d2aee7d409 Fixed bug 2816 - [patch] Android: Expose screen refresh rate
Jonas Kulla

Display::getRefreshRate() is available on all API levels.
2015-01-23 20:29:08 +01:00
Ryan C. Gordon
9d2b5dd67d CMake: Removed unused variable (thanks, Felix!).
"MACOSX_COREAUDIO" is actually an internal #define set up elsewhere, and
this CMake var is never exported past the CMake script anyhow.

Partially fixes Bugzilla #2807.
2015-01-18 02:50:14 -05:00
Felix H. Dahlke
5bd19d340d Fixed bug 2807 - Not using CoreAudio on OS X when built via CMake 2015-01-17 04:36:15 +01:00
Philipp Wiesemann
29d25ec1b5 Fixed wrong documentation in joystick implementation source. 2015-01-16 23:07:10 +01:00
Philipp Wiesemann
97ce204e2f Fixed two warnings about initialized but unused local variables in tests. 2015-01-16 23:03:14 +01:00
Alex Szpakowski
f2452bba77 Merged default into iOS-improvements
--HG--
branch : iOS-improvements
2015-01-15 01:15:24 -04:00
Alex Szpakowski
b323ac5ca6 Several improvements to the iOS backend:
- Added new custom launch screen code. It uses the launch screen nib when available on iOS 8+, the launch images dictionary if the launch screen nib isn't available, and the old standard image names if the launch image dictionary isn't in the plist.
The launch screen is now hidden during the first call to SDL_PumpEvents rather than SDL_CreateWindow so apps can have the launch screen still visible if they do time-consuming loading after creating their window. It also fades out in roughly the same way as the system launch screen behavior.
It can be disabled by setting the SDL_IPHONE_LAUNCHSCREEN define in SDL_config_iphoneos.h to 0.

- A blank UIView is now created and displayed when the window is first created. The old behavior was to defer creating any view until SDL_GL_CreateContext, which prevented rotation, touch events, and other windowing-related things from working until then. This also makes it easier to use SDL_GetWindowWMInfo after creating a window.

- Moved the keyboard and animation callback code from SDL's UIView subclasses to its UIViewController subclass, which lets them work properly in all cases when a SDL window is valid, even before SDL_GL_CreateContext is called and after SDL_GL_DeleteContext is called.

- SDL_GL_CreateContext, SDL_GL_SwapWindow, SDL_GL_MakeCurrent, and SDL_GL_DeleteContext are more robust.

- Fixed some edge cases where SDL windows weren't rotating properly or their reported sizes were out of sync with their actual sizes.

- Removed all calls to [UIApplication setStatusBarOrientation:]. It doesn't seem to work as expected in all cases in recent iOS versions.

- Some code style cleanup.

--HG--
branch : iOS-improvements
2015-01-15 01:06:14 -04:00
Philipp Wiesemann
32bb7897e2 Added and fixed doxygen markup in header file. 2015-01-12 23:20:52 +01:00
Arne Janbu
551c20baf2 Fix build on Linux when wayland is enabled
Bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2838
2015-01-10 13:47:37 +01:00
Ryan C. Gordon
8b1b079795 Some corrections to the SDL2.spec.in (thanks, Simone!).
Fixes Bugzilla #2809.
2015-02-19 13:42:56 -05:00
Ryan C. Gordon
e08e2cd4eb Remove unnecessary parentheses and an unnecessary free() of a NULL pointer.
(Thanks, Simon!)

Fixes Bugzilla #2881.
2015-02-19 13:11:19 -05:00
Ryan C. Gordon
139252cb4e Corrected documentation about triggers values in SDL_GameControllerGetAxis().
Fixes Bugzilla #2319.
2015-02-18 16:25:15 -05:00
Ryan C. Gordon
25c786a0d9 We maintain the list of platforms on the wiki now.
Also, I don't really want people emailing community members directly with
problems, so I'm removing their email addresses.

Fixes Bugzilla #2304.

--HG--
extra : rebase_source : 3be8e4d6bb5c9fb121ffab0847e868cfce068e27
2015-02-18 16:17:53 -05:00
Philipp Wiesemann
1a2231c115 Emscripten: Fixed receiving joystick events after failed init or subsystem quit.
The callbacks used to receive the HTML events were not removed if the joystick
subsystem initialization failed or if the joystick subsystem was quit. Also, the
already connected joysticks were not deleted if the initialization failed later.
2015-02-18 21:34:07 +01:00
Philipp Wiesemann
f3b8ca2a36 Removed redundant include statements from test programs.
The needed header files are already included with SDL.h. Still including them in
the test programs is confusing because it somehow suggests they would be needed.
2015-02-18 21:31:21 +01:00
Ryan C. Gordon
1a17139cf1 X11: Don't create a window and GL context to look up the glX extension string.
It's not necessary.

--HG--
extra : rebase_source : 6b2111b284a971832ce6d1315481c4a888e4e39a
extra : amend_source : 95f007dae5432aa52c49861487756b9d7b0c9526
2015-02-17 23:00:46 -05:00
Ryan C. Gordon
21282ee01f glX HasExtension(): check for NULL ext string first.
It's slightly faster than failing later, after a strchr() call, since this
will get called multiple times with a NULL string if the system totally
fails elsewhere.

--HG--
extra : rebase_source : 72564776aed4ab255a65880e979f8dba4df4a527
2015-02-17 22:59:56 -05:00
Philipp Wiesemann
6c134a60d0 Emscripten: Removed unused internal function. 2015-02-15 21:47:10 +01:00
Philipp Wiesemann
34e9ba9c45 Emscripten: Changed return type of callback implementations from int to EM_BOOL.
The prototypes are declared with EM_BOOL (which is currently an int) in html5.h.
2015-02-15 21:44:36 +01:00
David Ludwig
83859b12ea WinRT: a minor, nit-picky cleanup of some OpenGL code 2015-02-15 12:11:44 -05:00
David Ludwig
e0a6da9b6d WinRT: improved OpenGL ES compatibility on WinPhone/ARM and Surface RT
This change integrates initialization settings for ANGLE/WinRT, as suggested in
MSOpenTech's latest ANGLE template-projects (for MSVC).

This should fix some OpenGL initialization issues on WinPhone 8.1 on ARM, and
on the 1st-generation Surface RT.

--HG--
extra : rebase_source : af7dc2bd4f074cb3ec9cdfc4ff518f3182ed0abe
2015-02-15 11:53:24 -05:00
Philipp Wiesemann
d1135e337b Fixed crash if using clipboard functions without having initialized video. 2015-02-15 11:35:07 +01:00
Philipp Wiesemann
56146a8c13 Fixed compile warning about unused variable in wave test program. 2015-02-15 11:33:39 +01:00
David Ludwig
790d90535a WinRT: fixed crash when using up-to-date versions of ANGLE/WinRT 2015-02-15 00:08:27 -05:00
Philipp Wiesemann
e18cf07b3a Emscripten: Fixed sending SDL_JOYDEVICEADDED events with an index out of range.
SDL_JOYDEVICEADDED events must contain the device index which is a value between
0 and the number of connected joysticks. The old implementation included a value
based on the instance id instead. It worked in some cases because the values are
similar initially. But after disconnecting joysticks this is no more the case
and the always increasing instance id becomes larger than number of joysticks.
2015-02-14 15:22:04 +01:00
Philipp Wiesemann
3c70a54e6d Emscripten: Deactivated and corrected debug log messages on joystick events. 2015-02-14 15:16:41 +01:00
Philipp Wiesemann
77b70ccb7d Emscripten: Fixed throwing JavaScript exception if no audio context available.
Handling the error in C provides the possibility to just continue without audio.
2015-02-14 00:16:27 +01:00
Philipp Wiesemann
88c0cf9192 Emscripten: Fixed not including SDL_internal.h. 2015-02-14 00:13:00 +01:00
Philipp Wiesemann
c07f480946 Emscripten: Fixed framebuffer error message. 2015-02-14 00:10:58 +01:00