Commit graph

5090 commits

Author SHA1 Message Date
Sam Lantinga
ce9a72f4af Fixed bug 2575 - Current GL context tracking fails
Ronie Salgado

The GL Renderer current context tracking fails when one window is used with an SDL renderer but another separate window is used with a user handled OpenGL context.

Attached is a small program that reproduces this bug, at least in some Linux machines where an OpenGL renderer is provided by default.

Expected Output:
-"First window" should be blue.
-"Second window" should be green.

Gotten Output:
- "First window" black.
- "Second window" blue.

What happened:
The renderer created for the "first window" ends rendering into the "second window" OpenGL context.

Bug location:

SDL_render_gl.c - line 286 on hg:
static SDL_GLContext SDL_CurrentContext = NULL;

When making SDL_GL_MakeCurrent from the user perspective, that variable or the GL renderer is not notified about the OpenGL context change.

Solution proposal:
- Move the current GL context cache into another place global.
2014-06-15 18:09:39 -07:00
Sam Lantinga
2882fa948d Fixed bug 2580 - sndio backend improvements
Brad Smith

Attached is patch from the OpenBSD ports tree to add 24-bit support to the sndio backend and to make use of the sio_open() option SIO_DEVANY.
2014-06-15 17:26:30 -07:00
Sam Lantinga
373128e640 Fixed 2584 - Memory leak in Cocoa_GetDisplayName
Diego

The Xcode Instruments Leak tool reports a leak from IODisplayCreateInfoDictionary in Cocoa_GetDisplayName.
This happened after upgrading to Xcode 5.
2014-06-15 17:18:05 -07:00
Sam Lantinga
92412f34b9 Add controller mapping for Bluetooth DualShock 4 controllers on Linux
Frank Praznik

Add a gamepad mapping entry for Bluetooth DualShock 4 controllers on Linux.
The button mapping is the same as the USB controller, but the GUID is
different.
2014-06-15 13:05:30 -07:00
Ryan C. Gordon
653b4e19ff Mac: Fixed crash when returning from a fullscreen Space on shutdown. 2014-06-15 11:59:16 -04:00
Ryan C. Gordon
fbdde501ba Removed SDL_SYS_JoystickNeedsPolling().
It was simpler to just have the polling (actually: hotplug detection)
 functions return immediately if it's not an appropriate time to poll.

Note that previously, if any joystick/controller was opened, we would poll
 every time anyhow, skipping this function.
2014-06-14 23:31:23 -04:00
Ryan C. Gordon
50265e160b Mac: Run the CFRunLoop in joystick mode during SDL_SYS_JoystickNeedsPolling().
This fixes hotplugging failing to detect devices.
2014-06-13 14:52:26 -04:00
Alfred Reynolds
b270f6a5c3 - fixed crash if you removed a device twice, the deviceRef is invalid if removed from the removed device callback (added in http://hg.libsdl.org/SDL/rev/153077041e4b ). 2014-06-13 10:50:24 -07:00
Ryan C. Gordon
8f47d6cd20 Implemented Cocoa GetAbsoluteMouseState(). 2014-06-11 00:40:19 -04:00
Ryan C. Gordon
e0460846e5 Implement Windows GetAbsoluteMouseState(). 2014-06-11 00:12:19 -04:00
Ryan C. Gordon
7412b88af0 This should probably query async button state. 2014-06-11 00:12:06 -04:00
Ryan C. Gordon
ef0bc3f8cf Regenerated SDL_audiotypecvt.c with updated perl script. 2014-06-10 19:39:33 -04:00
Ryan C. Gordon
731e3d9cc5 Fix audio resampling in some cases.
Fixes Bugzilla #2389.
2014-06-10 19:37:59 -04:00
Gabriel Jacobo
37f6d3cb88 Fixes audio for Native Client, and other fixes...
- SDL_NaClMount, SDL_NaClUmount
- Default mounting of https at / in SDL's main function
- More documentation in README-nacl.txt
2014-06-08 18:18:13 -03:00
Sam Lantinga
7b215e8685 The NaCL mount/unmount functions need to be in SDL_system.h and specific to NaCL 2014-06-08 12:05:17 -07:00
Philipp Wiesemann
cbffdf0265 Fixed typo in log message. 2014-06-08 13:03:45 +02:00
Sam Lantinga
7ffc6a3040 Fixed building on command line Mac OS X 2014-06-07 20:43:12 -07:00
Sam Lantinga
276b7efecd Added SDL_sqrtf(), SDL_tan(), SDL_tanf() 2014-06-07 18:20:01 -07:00
Sam Lantinga
b5f085ab73 Fixed crash with SDL_SetError(NULL) 2014-06-07 17:31:50 -07:00
Sam Lantinga
9043778f18 dront78 implemented YUV texture support for OpenGL ES 2.0 2014-06-07 11:36:08 -07:00
Gabriel Jacobo
c330e8e9e2 Chrome's Native Client backend implementation 2014-06-06 15:45:59 -03:00
Brandon Schaefer
de4a745643 Turns out visualstudio does not like PRIu64, soo lets just cast it to llu. 2014-06-05 15:37:33 -07:00
Brandon Schaefer
d5eb114f44 Fix warnings, only major one being an SDL_SetError not providing enough arguments. 2014-06-05 15:29:23 -07:00
Sam Lantinga
ac607be274 Code analysis annotations found a legitimate bug! 2014-06-05 09:49:45 -07:00
Ryan C. Gordon
0dc198273c Wired up Windows resize hit testing. 2014-06-05 00:54:43 -04:00
Ionut Leonte
3465f8e461 Added SDL_HITTEST_RESIZE_*, and implemented for X11. 2014-06-05 00:45:16 -04:00
Ryan C. Gordon
c076f51669 Implemented SDL_GetAbsoluteMouseState().
X11 only for now, but this should be doable on every platform, I think.
2014-06-05 00:03:33 -04:00
Ryan C. Gordon
0c8f5f80b1 Added some (harmlessly) missing braces. 2014-06-05 00:02:42 -04:00
Brandon Schaefer
0fc6294114 Assume all motion events are mouse events unless tool_type states otherwise. 2014-06-04 12:55:18 -07:00
Sam Lantinga
4a1537da07 Setting the window size changes the fullscreen display mode, unless a window display mode has been set.
Testing:
* Ran testsprite2 --fullscreen, used Ctrl+ and Ctrl- to change window sizes, verified that the display mode changed as well.
2014-06-04 10:57:52 -07:00
Sam Lantinga
297d5c065a Fixed crash and lost pixel data when recovering from a lost device situation (e.g. alt-tab from fullscreen) 2014-06-04 10:57:40 -07:00
Sam Lantinga
dbcc5f6937 Ryan C. Gordon <icculus@icculus.org> 2014-05-24 01:23 -0400
Generated dynapi stuff for the new WinRT entry points.
http://hg.libsdl.org/SDL/rev/6a9da341d3e8
2014-06-04 10:57:12 -07:00
Sam Lantinga
53d9d2c232 Added annotations to help code analysis tools
CR: Bruce Dawson
2014-06-04 10:56:56 -07:00
Sam Lantinga
fdba89977e Fixed bug 2526, but regressed delivering dead key presses 2014-06-04 10:56:43 -07:00
Sam Lantinga
39b59f79d4 When the window fullscreen mode changes, update the display resolution 2014-06-04 10:56:37 -07:00
Sam Lantinga
34ee7a2a33 Fixed bug where changing the window border would change the window size on Windows. 2014-06-04 10:56:30 -07:00
Sam Lantinga
10a234b88e Fixed Mac OS X build 2014-06-04 10:56:17 -07:00
Sam Lantinga
6006d7a2cb Added an API function to warp the mouse cursor in global screen space: SDL_WarpMouseGlobal() 2014-06-04 10:55:26 -07:00
Sam Lantinga
de9397e6ae Added a hint to disable windows message processing in SDL_PumpEvents()
SDL_SetHint( SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP, "0" );
2014-06-04 10:52:34 -07:00
Sam Lantinga
deada6ba6d Added a hint to disable window frame and title bar interaction when the cursor is hidden 2014-06-04 10:50:32 -07:00
Jørgen P. Tjernø
a7333943a0 SDL_opengl: Fix Mac build with new glext.h 2014-06-04 09:59:10 -07:00
Sam Lantinga
92626ced7c Wait for the fullscreen transition to complete before allowing the application to continue.
This fixes Alt-Enter in the Steam streaming client, which sets the window size and position immediately after switching out of fullscreen mode.
2014-06-04 09:39:08 -07:00
Sam Lantinga
d961305824 Fixed escape cancelling fullscreen mode now that the SDL window is the first res
ponder.
2014-06-04 01:56:14 -07:00
Jørgen P. Tjernø
6e7e3c9117 X11: Provide specific X error when SDL_GL_CreateContext fails.
This makes the X error handler used for GL context creation handle *all* errors
and provide the user with specific error messages when SDL_GL_CreateContext
fails.

CR: icculus@icculus.org
2014-06-03 21:13:00 -07:00
Sam Lantinga
dd5e9d8941 Hopefully really fixed the Android build 2014-06-02 09:20:09 -07:00
Sam Lantinga
b14bec7a97 Fixed Android build 2014-06-02 09:12:51 -07:00
Sam Lantinga
efeb53642f Fixed bug 2534 - Mac: black bar at top of screen in SDL_WINDOW_FULLSCREEN mode
Alex Szpakowski

Patch to fix the y component of the position of fullscreen windows in OS X.

In Mac OS X with the latest Mercurial code, when a window is in exclusive-fullscreen the y component of its position is offset by the same amount that is normally taken up by the menubar, resulting in a black bar at the top of the screen.

The recent changes to the internal ConvertNSRect function make it treat the bottom of the menubar as 0 for the y component of window positions, even when the window is fullscreen and 'above' the menubar.

I have attached a patch which fixes the issue by only making the window position relative to the menubar in windowed modes.
2014-06-02 09:09:40 -07:00
Sam Lantinga
073850f988 Fixed bug 2550 - [OS X 10.9] Enabling SDL_WINDOW_FULLSCREEN after relative mouse mode leaves cursor visible
Eric Wasylishen

Steps to reproduce:

- Run testwm2 app in the SDLTest Xcode project
- Press Control+R to enable relative mouse mode. The mouse cursor should disappear.
- Press Control+Enter to enter fullscreen.
- Expected: a black screen with no cursor visible. Observed: a black screen, but the mouse cursor is visible in the middle of the screen. It doesn't move when I move the mouse.

Reproduced with latest sdl2 hg (changeset 29aac8b813d9) on OS X 10.9.2. Can't reproduce the problem on OS X 10.6.8 or 10.7.5.

I'm speculating that this really an Apple bug.. but anyway, the attached workaround seems to fix it for me, and I think it's fairly safe.

A more obvious idea, sticking a call SDL_SetCursor(NULL) at the end of Cocoa_SetWindowFullscreen, didn't work.
2014-06-02 09:06:38 -07:00
Sam Lantinga
e50052e494 Added a way to get the native Android window and EGL context 2014-06-02 09:01:26 -07:00
Sam Lantinga
f82322ac3d Fixed bug 2479 - [OS X] SDL_SetWindowFullscreen fails to switch to windowed
Eric Wasylishen

The problem seems to be the spaces handling code in -setFullscreenSpace: (SDL_cocoawindow.m) is incorrectly reporting that the SDL_WINDOW_FULLSCREEN -> windowed transition has already happened.

i.e. I saw this case was getting hit when trying to leave SDL_WINDOW_FULLSCREEN:

"else if (state == isFullscreenSpace) {
    return YES;  /* already there. */
}"

With the attached patch, both Control+Enter (SDL_WINDOW_FULLSCREEN toggle) and Option+Enter (SDL_WINDOW_FULLSCREEN_DESKTOP toggle) work in an sdl test app (I tried testwm2). Tested on OS X 10.9.2.
2014-06-02 09:01:10 -07:00