Log

Author Commit Date CI Message
Sam Lantinga 707fd9f0 2014-06-04T10:56:30 Fixed bug where changing the window border would change the window size on Windows.
Sam Lantinga 1e00c03f 2014-06-04T10:56:17 Fixed Mac OS X build
Sam Lantinga 45ed5ee4 2014-06-04T10:55:26 Added an API function to warp the mouse cursor in global screen space: SDL_WarpMouseGlobal()
Sam Lantinga 3e3b34ad 2014-06-04T10:52:34 Added a hint to disable windows message processing in SDL_PumpEvents() SDL_SetHint( SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP, "0" );
Sam Lantinga 0d1f0fed 2014-06-04T10:50:32 Added a hint to disable window frame and title bar interaction when the cursor is hidden
J?rgen P. Tjern? d3418446 2014-06-04T10:33:23 SDL_opengl: Fix Mac build for SDK 10.9 too.
J?rgen P. Tjern? d623c0b4 2014-06-04T09:59:10 SDL_opengl: Fix Mac build with new glext.h
Sam Lantinga 65133ebc 2014-06-04T09:39:08 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.
Sam Lantinga 16360b19 2014-06-04T01:56:14 Fixed escape cancelling fullscreen mode now that the SDL window is the first res ponder.
J?rgen P. Tjern? a2085da2 2014-06-04T01:35:36 SDL_opengles2: Update to latest Khronos headers. This updates to the latest Khronos headers, which gives the latest headers for MSVC. The following files were retrieved on 2014-06-04: http://www.khronos.org/registry/gles/api/GLES2/gl2.h http://www.khronos.org/registry/gles/api/GLES2/gl2ext.h http://www.khronos.org/registry/gles/api/GLES2/gl2platform.h http://www.khronos.org/registry/egl/api/KHR/khrplatform.h And they were modified to not include each other themselves.
J?rgen P. Tjern? 0887f518 2014-06-04T01:32:52 SDL_opengl: Update to glext.h from Khronos dated 2014-05-21. This updates to the latest glext.h from Khorons that includes the OpenGL 4.4 specification. It was retrieved from http://www.opengl.org/registry/api/GL/glext.h at 2014-06-04.
J?rgen P. Tjern? f45a2fd0 2014-06-04T01:27:13 SDL_opengles2: Separate out GLES2 headers.
J?rgen P. Tjern? 8793657d 2014-06-04T01:21:00 SDL_opengl: Move glext.h to a separate file.
J?rgen P. Tjern? c1e11f69 2014-06-03T21:13:00 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
Sam Lantinga ece2a9bf 2014-06-02T09:20:09 Hopefully really fixed the Android build
Sam Lantinga 5186be4a 2014-06-02T09:12:51 Fixed Android build
Sam Lantinga a8fcbc46 2014-06-02T09:09:40 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.
Sam Lantinga 6b90d7f5 2014-06-02T09:06:38 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 f6010ead184f) 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.
Sam Lantinga 32665131 2014-06-02T09:01:26 Added a way to get the native Android window and EGL context
Sam Lantinga 3905b910 2014-06-02T09:01:10 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.
Sam Lantinga 75c57f8d 2014-06-02T08:58:07 Don't use D3D9Ex by default, since it can change behavior for games which rely on D3D9 classic.
Sam Lantinga 9d00f75a 2014-05-31T14:03:04 Fixed bug 2520 - Held double-click app startup creates a stuck MOUSEBUTTONDOWN event snake5creator When starting application with the usual "double click on file" method on Windows, only holding the last click, an unnecessary MOUSEBUTTONDOWN event is sent before the initial MOUSEMOTION event, and mouse button state is stuck in the sense that it takes a subsequent button release, followed by another press for the system to resume sending events (beginning with the next button release / MOUSEBUTTONUP event). Input event log with held double-click startup: http://i.imgur.com/nypGKR2.png Without: http://i.imgur.com/yaIqAvV.png
Sam Lantinga 70df9cd0 2014-05-31T12:21:55 Fullscreen to windowed mode switch From Melesie I noticed that when user switches from fullscreen mode to windowed mode and exits application while in windowed mode, Windows performs an additional change of display settings, even though desktop resolution is the same as current one. This causes short black screen to show up. The only way I know of avoiding this is to explicitly switch to default display settings found in registry. MSDN documentation for ChangeDisplaySettingsEx states: Passing NULL for the lpDevMode parameter and 0 for the dwFlags parameter is the easiest way to return to the default mode after a dynamic mode change.
Sam Lantinga 18c31dec 2014-05-31T11:53:19 Fixed Direct3DCreate9Ex prototype
Sam Lantinga 0c6b99d5 2014-05-31T11:48:52 Fixed cast
Sam Lantinga 49c53fd2 2014-05-31T11:37:12 Use D3D9Ex when available This hopefully works around crashes in Intel D3D9 support in Windows 8.1.
Sam Lantinga 52222db2 2014-05-31T11:33:25 Fixed SDL error when filtering events after shutdown. This can happen when restoring video modes during video system shutdown
Philipp Wiesemann f29ac399 2014-05-29T23:05:18 Added javadoc comments to document methods used by JNI.
Philipp Wiesemann eac27bcd 2014-05-29T22:58:06 Added javadoc comments to prevent unused parameter warning.
Philipp Wiesemann 1f111f3d 2014-05-29T22:53:53 Fixed implicit boxing and unboxing of Java Objects warning.
Philipp Wiesemann 8d11db2f 2014-05-29T22:48:10 Added missing stdio include in test program.
Philipp Wiesemann 3a803358 2014-05-29T22:44:08 Fixed use of uninitialized variable warning in test program.
Ryan C. Gordon dd5277d6 2014-05-24T21:06:40 Fixed stack overflow in X11_CreateWindow() (thanks, rapha and Brad!). This should be a "long" which on a 64-bit system is likely to be > 32-bits, causing XGetICValues() to write past the end of the variable (and stack). Fixes Bugzilla #2513.
Ryan C. Gordon 4db368e6 2014-05-24T19:49:03 Added note about Wayland and Mir packages for Ubuntu 14.04.
Ryan C. Gordon 846a3e07 2014-05-24T01:27:19 Added some FIXMEs.
Ryan C. Gordon f0e0f4ca 2014-05-24T01:25:27 Fixed whitespace.
Ryan C. Gordon a2710516 2014-05-24T01:23:57 Generated dynapi stuff for the new WinRT entry points.
Philipp Wiesemann 9bc47465 2014-05-18T21:11:30 Changed C++ style comments.
Philipp Wiesemann f5c77149 2014-05-18T21:05:39 Fixed typo in header comment.
Philipp Wiesemann ca11d7c8 2014-05-17T22:02:25 Changed C++ style comments to fix pedantic warnings.
Philipp Wiesemann 0d196c30 2014-05-17T21:52:05 Removed unused standard library includes from gesture source.
Gabriel Jacobo 660a57f9 2014-05-13T19:42:40 Fixes #2541, build failure with Wayland enabled, OpenGL ES disabled Also includes an attempt at fixing building SDL on Ubuntu 13.10, which hopefully won't break 14.04
Sam Lantinga e772f0df 2014-05-13T12:10:37 Added a binding for the NVIDIA Shield controller
Sam Lantinga 67350973 2014-05-13T11:32:36 Updated coding style to match the rest of SDL
Philipp Wiesemann 81c574b8 2014-05-11T15:59:22 Fixed typo in header comment.
David Ludwig 49cef77e 2014-05-10T23:39:54 WinRT: fixed the max-button count for WinPhone 8.1 message boxes Doh. The max button count on WinPhone 8.1 was set to three, not two. Any more than two leads to a crash.
David Ludwig ea99e0c0 2014-05-10T23:28:53 Added limited message-box support for Windows Phone 8.1 The Windows Phone 8.1 'MessageDialog' API only seems to support two buttons, despite the documentation for such mentioning support for three. Trying to use three or more buttons leads to an exception being thrown. As such, any attempt to use more than two buttons via SDL_ShowMessageBox (on Windows Phone 8.1) will lead to no message box getting shown, and the call returning an error. The Win32 MessageBox and dialog APIs are not available in WinRT apps, to note. More extensive message dialog support might be available at some point, if and when XAML support is more fully fleshed-out. I'm not certain of this, though.
Yuri Kunde Schlesner d12d7952 2014-05-10T21:48:46 Align pointer in SDL_memset before doing Uint32 loop Some more recent compilers emit SSE aligned store instructions for the loop, causing crashes if the destination buffer isn't aligned on a 32-bit boundary. This would also crash on platforms like ARM that require aligned stores. This fixes a crash inside SDL_FillRect that happens with the official x64 mingw build.
Gabriel Jacobo d5a2e55d 2014-05-10T18:24:39 Improve handling of focus behaviour on Android. Patch by Alexey Petruchik
Gabriel Jacobo b701175a 2014-05-10T17:00:37 Include gl2platform.h in SDL_opengles2.h so we play nice with GLEW. Based on feedback from Sven Bergstr?m
Gabriel Jacobo de0d349e 2014-05-10T16:50:05 Fixes #2512, handle configuration change messages sent by Wayland. Patch by Bryan Cain.
Sam Lantinga d57d99a1 2014-05-10T12:34:16 Updated iOS deployment target to iOS 5.1
Gabriel Jacobo fb389950 2014-05-10T16:23:06 Fixes #2529, guard SDL_d3math.* with the proper defines
Gabriel Jacobo 536dd013 2014-05-10T16:13:22 Fixes #2519, clear error if using the default library path for EGL succeeds.
Gabriel Jacobo f565d81a 2014-05-10T15:57:09 A few more ANDROID for __ANDROID__ replacements
Sam Lantinga 1a4c0dac 2014-05-10T11:27:43 Temporary fix for bug 2494 - Crashes due to the non thread-safe SDL_malloc/SDL_free on Windows We'll define USE_LOCKS as a temporary fix until an alternative like ptmalloc, jemalloc, or nedmalloc can be investigated. http://www.malloc.de/en/ http://www.canonware.com/jemalloc/ http://www.nedprod.com/programs/portable/nedmalloc/ SDL allocates memory very infrequently, so this is probably a decent fix for a while.
David Ludwig 164e5b89 2014-05-09T21:28:52 WinRT: display-information code cleanups
David Ludwig d4f1d225 2014-05-09T20:32:06 Fixed bug: touch input on WinPhone 8.0 was wrong, in some cases When a Windows Phone 8.0 app was rotated to anything but Portrait mode, touch input coordinates, as well as virtual mouse coordinates, were usually getting reported as coming from the wrong part of the screen.
David Ludwig 0a879d63 2014-05-09T20:16:21 Fixed rendering-alignment issues on WinPhone 8.1, when the device was rotated If a Windows Phone 8.1 device was rotated to anything but Portrait mode, the Direct3D 11 renderer's output wouldn't get aligned correctly with the screen.
David Ludwig 33f81a0d 2014-05-06T20:31:10 WinRT: made Win[Phone] 8.1 projects be structured like their 8.0 counterparts This change removes the "Shared" component from the Windows 8.1 and Windows Phone 8.1 project files, then renames the projects to use a file structure that's the same as used for the Windows 8.0 and Windows Phone 8.0 projects. This change now places WinRT projects in the following directories: VisualC-WinRT\WinRT81_VS2013\ -- Windows 8.1 project files VisualC-WinRT\WinPhone81_VS2013\ -- Windows Phone 8.1 project files (NEW, as of this change) VisualC-WinRT\WinRT80_VS2012\ -- Windows 8.0 project files VisualC-WinRT\WinPhone80_VS2012\ -- Windows Phone 8.0 project files Windows 8.0 and Windows Phone 8.0 projects, as well as apps or libs that reference these, should be unaffected by this change. Windows 8.1 and Windows Phone 8.1 based apps or libs that reference SDL's projects directly will need to have their old references removed, then replaced with new ones that point to the updated structure.
Brandon Schaefer b6148092 2014-05-06T15:08:43 eglGetProcAddress fails the same way on MIR as ANDROID does on arm. Thanks Sylvain Becker for the patch!
Ryan C. Gordon e7bccd16 2014-05-06T00:20:34 Update the machine-generated configure code.
Ryan C. Gordon 2a7aa9bd 2014-05-06T00:13:07 Fix build on Windows targets without dxgi.h, like MingW32.
Dimitris Zenios fd2d26eb 2014-05-05T22:36:47 Show android video or android audio if detected in autotools summary.
Dimitris Zenios 3672aeb4 2014-05-05T22:26:21 Export android jni functions even when build with -fvisibility=hidden flag
Dimitris Zenios 548a0ee7 2014-05-05T22:21:26 __ANDROID__ is the correct macro to check for an android system.ANDROID is only defined in NDK build system (.mk) and not in the standalone NDK.
Brandon Schaefer 7528f94c 2014-05-02T12:39:26 Remove code that found its way back into the diff
Brandon Schaefer 44a0f1d9 2014-05-02T12:33:19 Fix software rendering in the mir backend. The window assumed hardware buffer, which caused testdrawchessboard to fail to mmap a buffer.
David Ludwig ec5f6ad5 2014-04-30T21:12:47 WinRT: suppressed an unused param warning when building for Windows Phone 8.1
David Ludwig c5c1a2c6 2014-04-30T21:07:30 WinRT: preliminary support for building against the Windows Phone 8.1 SDK This is a step towards supporting "Universal" Windows apps, when building for Windows Phone. SDL can now build against the Windows Phone 8.1 SDK, and apps linked to it can run, however further work and testing is required as some previously Phone-only code appears to no longer be applicable for Windows Phone 8.1. The Windows 8.1 code paths does seem to be preferable, but should probably be tested and updated on a finer-grained basis. If in doubt, use the Windows Phone 8.0 projects for now, as located in VisualC-WinRT/WinPhone80_VS2012/ TODO: - look at any Windows Phone specific code paths in SDL, and see if Phone 8.1 should use the Windows Phone code path(s), or the Windows 8.x or 8.1 paths
David Ludwig c10afa48 2014-04-29T19:22:48 Fixed a linker error when building SDL/WinRT The Win32 APIs, VerifyVersionInfoW and VerSetConditionMask, are not currently available for use in WinRT apps. This change primarily #if[n]defs-out some calls to them.
David Ludwig 36696777 2014-04-29T19:06:00 WinRT: added project files for Windows 8.1 + MSVC 2013 This commit also includes some base-level support for Universal apps. TODO: - add support for Windows Phone 8.1 - add support for satellite libs: SDL_image, SDL_ttf, and SDL_mixer
Ryan C. Gordon cb403ab6 2014-04-29T12:00:28 Removed comma at end of enum in a public header, to make -Wpedantic happy.
Sam Lantinga bd6a4936 2014-04-26T12:38:35 Fixed bug 2508 - don't redefine WIN32_LEAN_AND_MEAN
Sam Lantinga d9ffe549 2014-04-26T12:29:40 Fixed the inertia effect in the test program
Sam Lantinga d2fb8a2a 2014-04-26T11:23:55 Better compiler for Windows XP systems
J?rgen P. Tjern? 8b280091 2014-04-24T21:05:51 Mac: Correct the y-axis position after 870c7d21004b This fixes a bug where we'd offset positions by the height of the dock, if it was along the bottom of the screen. Fixes https://bugzilla.libsdl.org/show_bug.cgi?id=2509 Thanks to Alex Szpakowski for bug & patch.
Ryan C. Gordon 5d7562c7 2014-04-24T23:24:48 Mac OS X: Look for joystick hotplug in its own CFRunLoop. This allows the joystick hotplug to function without the main event loop (specifically: without SDL_INIT_VIDEO), and moves explicit polling for joysticks where it belongs at the low-level: in SDL_SYS_JoystickDetect(). This lets apps call SDL_JoystickUpdate() to get hotplug events and keep SDL_NumJoysticks() correct, as expected. As SDL_PumpEvents() (and SDL_PollEvents, etc) calls SDL_JoystickUpdate(), existing apps will function as before. Thanks to "raskie" on the forums for pointing this out!
Sam Lantinga dfea14d9 2014-04-23T13:54:47 Fixed cygwin build
Sam Lantinga 45dc89c2 2014-04-23T13:48:01 Fixed detecting output on second adapter CR: Sam Lantinga
Sam Lantinga 3e3570df 2014-04-23T13:47:57 Don't crash in WIN_GL_InitExtensions() if the OpenGL library couldn't be loaded
Sam Lantinga a5ce57bc 2014-04-23T13:47:52 Fixed compiler warning
Sam Lantinga acbc321c 2014-04-23T13:47:42 Don't try to load d3dcompiler_46.dll on Windows XP
Sam Lantinga af395e97 2014-04-23T13:47:35 Removed possible implicit memset()
Brandon Schaefer ae2a50fc 2014-04-21T12:42:25 Revert MIR_CFLAGS to SDL_CFLAGS. Use forward declaration for the real fix. (We shouldn't expose mir headers!)
Steven Stewart-Gallus 2c784e36 2014-04-19T16:33:42 Set the tag type in libtool invocations Setting the tag type will let libtool work even when it cannot infer the type of the code being built. One way libtool may fail to infer the tag type is if one uses a mock compiler (such as for static analysis).
J?rgen P. Tjern? beff5cec 2014-04-19T13:15:53 Mac: SDL_SetWindowPosition is now relative to the menubar. It used to be that SDL_SetWindowPosition was relative to the top of the screen, which didn't make sense. In addition, borderless windows can be positioned *below* the menubar, so SDL_SetWindowPosition(win, 0, 0) on a borderless window would hide ~30ish pixels of the window below the menubar.
J?rgen P. Tjern? defd90b6 2014-04-19T13:15:41 Render: Allow empty cliprect. This fixes an issue where an empty cliprect is treated the same as a NULL cliprect, causing the render backends to disable clipping. Also adds a new API, SDL_RenderIsClipEnabled(render) that allows you to differentiate between: - SDL_RenderSetClipRect(render, NULL) - SDL_Rect r = {0,0,0,0}; SDL_RenderSetClipRect(render, &r); Fixes https://bugzilla.libsdl.org/show_bug.cgi?id=2504
Sam Lantinga 36e11d87 2014-04-19T10:17:36 Fixed missing j
David Ludwig 0ba3a54a 2014-04-19T12:48:45 Cleaned up and rearranged WinRT project file structure. All WinRT projects have been merged into a single directory, "VisualC-WinRT", with platform-specific variants in subdirectories off of it. This structure has been applied to a few major SDL satellite libraries as well (SDL_image, SDL_mixer, and SDL_ttf). Currently, only Windows 8.0/RT and Windows Phone 8.0 targets are supported. Windows 8.1/RT/Phone targets are planned. Projects that use SDL_image/WinRT, and link to it via Visual Studio's project-to-project reference system, will need to be updated, to reflect the changes in the project structure. This can be done by: 1. removing the MSVC project(s) for SDL/WinRT 2. re-added the MSVC project(s) for SDL/WinRT 3. right-clicking on the app, or projects that use those libraries, choosing References, removing the references to any of these projects (they'll likely be highlighted with an exclamation mark), then re-adding them To note, the satellite libraries that reference SDL/WinRT have been updated already. The changes for those libraries will be pushed to hg.libsdl.org shortly. TODO: - add support for Windows 8.1 and Windows Phone 8.1 targets, using Microsoft's new "Universal" app support, if possible. These will be added to a new subdirectory, or subdirectories (if more than one sets of projects are needed, hopefully not), of "VisualC-WinRT". - investigate NuGet support, which could allow Visual C++ to download new copies of SDL/WinRT, its satellite libraries, and their dependencies, from remote servers.
Philipp Wiesemann 65c82148 2014-04-19T15:28:13 Removed global variable from test program.
Brandon Schaefer 2540214e 2014-04-19T00:31:02 Mir 14.04 headers available that allow scroll + touch events.
Ryan C. Gordon dd27ebed 2014-04-19T02:26:12 Turn off Wayland support for Raspberry Pi on the buildbot. It's picking up the system headers instead of the RPi build files. Theoretically, we _can_ support Wayland on this platform, though, as there _is_ a Raspberry Pi port out there...
Ryan C. Gordon 60e05040 2014-04-19T02:17:34 Fixed some issues reported on new Ubuntu 14.04 buildbots.
Sam Lantinga d2ea7cfe 2014-04-18T12:43:10 Fixed logic error loading DXGI
Sam Lantinga 03afd0de 2014-04-18T12:43:04 SDL_DXGIGetOutputInfo() checks input parameters and returns a boolean value whether or not it succeeded.
Sam Lantinga 353feb5c 2014-04-17T22:40:57 Fixed bug 2475 - Incorrect SDL_Log() format specifiers in test/testgesture.c rettichschnidi The floats should not be interpreted as integers. Patch against the current head attached.
Sam Lantinga 43c99196 2014-04-17T22:23:32 Fixed bug 2489 - SDL2.framework references __Block_copy in /usr/lib/libSystem.B.dylib, but this symbol cannot be found on OSX-10.5 Thomas Schatz The dynamic library (extracted from SDL2-2.0.3.dmg and put in /Library/Frameworks/) references the __Block_copy symbol in /usr/lib/libSystem.B.dylib, which cannot be found: dlopen(/Library/Frameworks/SDL2.framework/SDL2, 6): Symbol not found: __Block_copy Referenced from: /Library/Frameworks/SDL2.framework/SDL2 Expected in: /usr/lib/libSystem.B.dylib From what I could gather __Block_copy seems to be related to the blocks extension to the C programming language introduced by Apple since OSX-10.6 (see: http://thirdcog.eu/pwcblocks/). If this is indeed the case, I don't think the SDL2-2.0.3.dmg on the website is at all compatible with OSX-10.5 countrary to what is announced.
Sam Lantinga 6dd9ea8d 2014-04-17T21:00:25 Fixed bug 2496 - mouse left button double click event issue cplu When I double click on a window, the "clicks" field (newly added since 2.0.2) in SDL_MouseButtonEvent is 1 instead of 2. However, when I "tripple" click, "clicks" field is then 2. I'v look into the source code in SDL_windowsevents.c and found that when a double click event comes, WIN_WindowProc will get a WM_LBUTTONDBLCLK msg. The message sequence of a double click is:WM_LBUTTONDOWN->WM_LBUTTONUP->WM_LBUTTONDBLCLK->WM_LBUTTONUP.
Sam Lantinga 5a6f4d40 2014-04-17T20:51:28 Fixed bug 2485 - [PATCH] Wayland: cursor disappears permanently after window loses mouse focus Bryan Cain Using any SDL application with the Wayland backend under Weston, if the application sets a cursor with SDL_SetCursor, the cursor will work until the mouse pointer leaves the window. When the pointer re-enters the window, there will be no cursor displayed at all. I did some digging, and the reason for this is that SDL attaches the buffer to the cursor surface only once (during cursor creation) and assumes that it will stay attached. This is not how Wayland works, though - once the compositor is done rendering the buffer, it will release it, so it is no longer attached to the surface. When the cursor re-enters the window a second time, SDL sets the cursor to the same surface with no buffer attached, so no cursor is displayed. This is fixed by the attached patch, which makes SDL attach the buffer to the surface when the cursor is set, not when it is created.