Log

Author Commit Date CI Message
Sam Lantinga cc47810d 2019-06-30T23:26:16 Fixed bug 4683 - SDL_atomic infinite recursion on armv6/armv5 w/ thumb The real problem is that SDL_atomic.c was built in thumb mode instead of ARM mode, which is required to use the mcr instruction on ARM platforms. Added a compiler error to catch this case so we don't generate code that does infinite recursion. I also added a potentially better way to handle things on Linux ARM platforms, based on comments in the Chromium headers, which we can try out after 2.0.10 ships.
Sam Lantinga 797d2c59 2019-06-30T22:48:13 Fixed bug 4436 - [OpenBSD] fix D-pad daniel.c.sinclair Hi, this patch breaks dpad/hat input on my PS4 controller. The attached patch restores functionality. Calling SDL_PrivateJoystickHat() at the end of BSD_JoystickUpdate was setting the hat state to zero on every kind of input, instead of just the HUG_DPAD events.
Sylvain Becker 22a2decf 2019-06-28T16:38:42 Android: concurrency issues, make sure Activity is in running State when calling functions like SDL_CreateWindow, SDL_CreateRenderer, Android_GLES_CreateContext Bugs 4694, 4681, 4142
Sylvain Becker cfed0b77 2019-06-28T16:14:50 Add an "error" label in SDL_CreateRenderer (no op)
Sylvain Becker aa45af7f 2019-06-28T16:05:20 Android: explicitly expand Android_GLES_MakeCurrent/Android_GLES_CreateContext from SDL_egl_c.h
Ryan C. Gordon 57e08c27 2019-06-26T13:21:43 cocoa: Check for capslock in -[NSResponder flagsChanged], not with IOKit. Using IOKit for this pops up a warning at startup on macOS 10.15 ("Catalina"), asking the user to authorize the app to listen to all keyboard input in the system, which is unacceptable. I _think_ we were using IOKit under incorrect presumptions here; the Stack Overflow link mentioned in it was complaining about not being able to use flagsChanged to differentiate between left and right mod keys, but that's not an issue for capslock. It's also possible this code was trying to deal with capslock changing when the window didn't have focus, but we handle this elsewhere now, if we didn't at the time.
Ryan C. Gordon 0beadea5 2019-06-26T01:29:01 windows: Call GetWindowText() with the correct parameters (thanks, Zebediah!) GetWindowText() wants you to tell it the size of the buffer--including the terminating NULL char--but we weren't counting that last char, losing the last char of the string in the process. This was only seen with the special case of SDL_CreateWindowFrom() to use an existing native window, not the usual SDL_CreateWindow() codepath. Fixes Bugzilla #4696.
Ozkan Sezer 282b2b93 2019-06-25T11:47:02 define __ARM_NEON for Windows only if _M_ARM or _M_ARM64 is defined. fixes Visual Studio builds.
Ozkan Sezer 83a713f1 2019-06-24T23:51:10 update version in os/2 makefile
Ozkan Sezer bcb357d4 2019-06-24T23:50:20 fix permissions
Sylvain Becker ccba8d46 2019-06-24T18:08:11 Android: export Lock/Unlock activity API
Sam Lantinga 7f78d0f0 2019-06-21T22:01:27 Fixed bug 4684 - GLES1 variables missing under Android with CMake Braden Obrzut https://hg.libsdl.org/SDL/file/7dc39b047055/CMakeLists.txt#l911 I believe the following should also be specified there: set(SDL_VIDEO_OPENGL_ES 1) set(SDL_VIDEO_RENDER_OGL_ES 1) As it is now GLES1 support is missing when building for Android despite it linking to the library.
Ryan C. Gordon 31bb95f1 2019-06-21T15:07:39 direct3d: Use D3DPOOL_DEFAULT for vertex buffers after all, release correctly. Fixes Bugzilla #4679. Fixes Bugzilla #4537.
Sam Lantinga 51555a85 2019-06-21T10:58:30 Enable Raspberry Pi video by default
Cameron Gutman e681623c 2019-06-20T19:51:00 direct3d: Fix dirty textures failing to update Even if the texture itself has not changed since last time, the data may have so we must call UpdateDirtyTexture() to handle that possibility.
Sam Lantinga f3226457 2019-06-19T17:11:20 Fixed bug 4672 - Warnings in SDL_LogEvent()
Sam Lantinga be6cda9f 2019-06-19T15:54:21 Rolling back GameCube HIDAPI support It causes the HIDAPI devices to always be opened on enumeration, which causes crashes in the Windows drivers when multiple applications are reading and writing at the same time. We can revisit this after 2.0.10 release.
Zack Middleton 56e2b9a4 2019-06-19T06:43:54 Handle GameCube WaveBird controller differences Make wireless GameCube controllers use unknown power level instead of wired and don't allow rumble (it doesn't have hardware for it).
Zack Middleton 6f63c1c3 2019-06-19T06:43:36 Make GameCube controllers only rumble if both USB cables are connected The Nintendo USB GameCube Adapter has two USB connectors. Black for data and grey for additional power for rumble. The Wii U and other software require both cables to use rumble. The rumble is weaker without the second USB cable. Other than that I don't know if there is any negative side affects from using rumble with only one cable.
Zack Middleton b23cce28 2019-06-19T06:43:04 Fix GameCube controller power level being reset to unknown HIDAPI_DriverGameCube_OpenJoystick() set power level to wired and then it was set to unknown in SDL_JoystickOpen().
Sam Lantinga bd952900 2019-06-19T06:40:50 Use SDL C runtime functions
Sylvain Becker faed7f83 2019-06-19T10:11:38 KMSDRM: fix inverted strcmp, remove useless if test (Bug 4624)
Sylvain Becker 5998c513 2019-06-19T09:16:53 KMSDRM: fix compilation on linux, no d_namlen (Bug 4624)
Ryan C. Gordon d0fa93d6 2019-06-19T00:52:34 wayland: Fixed C99-style variable declaration inside for-loop.
Sam Lantinga 667c872b 2019-06-18T21:50:57 Fixed building DMG archive on Mac OS X
Ryan C. Gordon 7162649f 2019-06-18T18:58:39 opengl: Be more robust in failing cases. Load all possible symbols, not just until one fails, in case they get used during shutdown, etc. Fixes Bugzilla #4093.
Sam Lantinga 8ab907ba 2019-06-18T14:24:26 Only warp the mouse to set focus if we're definitely going into relative mode
Sam Lantinga 14e8b93e 2019-06-18T14:24:24 Fixed compiler warning
Sam Lantinga 99abcbb2 2019-06-18T14:15:10 Fixed bug 4624 - KMS/DRM fails on FreeBSD because /dev/dri/card* nodes are symlinks Jan Martin Mikkelsen Patch to scan /dev/dri based on names rather than file type Loading KMS/DRM on FreeBSD fails because the "available" code in the driver checks for character device nodes under /dev/dri and the /dev/dri/card* files are symlinks rather than device nodes nodes on FreeBSD. The symlink points to /dev/drm/0. The attached patch counts /dev/dri/card* entries rather than directory entries which are character devices.
Ryan C. Gordon d3bedda4 2019-06-18T16:53:49 cocoa: Patched to compile and also handle possible malloc failure.
Sam Lantinga 3e720d2a 2019-06-18T13:41:38 Fixed potential double-free in mouse cleanup code
Sam Lantinga 5dcac4cc 2019-06-18T10:08:19 Fixed 4669 - Using the software SDL_Renderer on Android leads to GL errors & black screen when window resizes Sylvain I think what happening with the software renderer is: * you're somehow in background (so texture creation is not possible) * it resizes and wants to push a SDL_WINDOWEVENT_SIZE_CHANGED It call: https://hg.libsdl.org/SDL/file/a010811d40dd/src/render/SDL_render.c#l683 * GetOutputSize * SW_GetOutputSize * SW_ActivateRenderer * SDL_GetWindowSurface * SDL_CreateWindowFramebuffer which is mapped to SDL_CreateWindowTexture and it ends up re-creating the surface/a texture, while being in background
Sylvain Becker e96d4760 2019-06-18T18:53:58 Android: resize with software rendering, reverted again (Bug 4669)
Sylvain Becker 12b92260 2019-06-18T18:40:40 Android: try to fix resize with software rendering (bug 4669)
Sylvain Becker 8a20d40d 2019-06-18T18:22:18 Android: revert commit SW_GetOutputSize, again (Bug 4669)
Sam Lantinga 63506ae1 2019-06-18T08:35:31 Added a patch note about batched rendering
Sam Lantinga e89789bb 2019-06-18T07:55:30 Added patch notes for 2.0.10
Sam Lantinga eb71cd80 2019-06-18T06:53:32 Make sure we haven't changed the size of the SDL_Event structure and broken binary compatibility.
Sylvain Becker 5418d416 2019-06-18T11:35:30 Android: prevent ignoring surfaceChanged() in MultiWindow
Sylvain Becker 98cc7589 2019-06-18T10:41:11 Android: prevent using SW_GetOutputSize with software renderer (Bug 4669)
Sylvain Becker a55c0e14 2019-06-18T10:23:19 Android: revert previous commit (Bug 4669) (Refs #1)
Sylvain Becker f2157b6c 2019-06-17T22:31:36 Fixed bug 4669: Android software renderer, black screen when window resizes Using the software SDL_Renderer on Android leads to GL errors & black screen when window resizes
Sam Lantinga 6c4765a1 2019-06-17T11:10:20 Removed extraneous fprintf() call
Sam Lantinga 67c67f3a 2019-06-17T10:13:28 Updated version to 2.0.10
Sam Lantinga 93a5e4ce 2019-06-17T08:38:33 Fixed bug 4667 - Build errors on Linux when building without Threads support Manuel Sabogal There is an issue on the latest commit of the mercurial repo when SDL_THREADS_DISABLED is set: src/core/linux/SDL_threadprio.c:79:28: error: unknown type name 'Sint64'; did you mean 'int'
Alex Szpakowski 9306ef9b 2019-06-16T14:10:30 Fix synthetically generated mouse events getting lost forever after the device orientation changes (or the window is otherwise resized) while a finger is touching the screen.
Alex Szpakowski f4625f52 2019-06-16T13:52:27 iOS: remove some code which could affect the state of UIViews that aren't owned by SDL. It was originally added to work around an input event problem in the code of a specific app which mixed SDL and native UIViews, but that app solved its problems in a better manner since then.
Ryan C. Gordon fffa791f 2019-06-14T22:29:13 assert: Another attempt to quiet compiler warnings.
Ryan C. Gordon 59e510b0 2019-06-14T21:39:51 assert: Possibly fixing compiler warning on Android.
Ryan C. Gordon ed8b78d3 2019-06-14T21:18:53 cocoa: ignore compiler warnings about OpenGL being deprecated.
Ryan C. Gordon 90e2dc98 2019-06-14T18:23:51 A few minor changes to placate static analysis.
Sam Lantinga 4eb3c0c3 2019-06-14T13:56:52 Added support for Xbox and PS4 wireless controllers on iOS and tvOS Also implemented SDL_JoystickGetDevicePlayerIndex() on iOS and tvOS, and added support for reading the new menu button state available in iOS and tvOS 13.
Sam Lantinga 1213fe79 2019-06-14T13:56:42 Worked around "Undefined symbol: ___isPlatformVersionAtLeast()" link error on Xcode 11 beta
Ryan C. Gordon 289d1092 2019-06-14T16:52:42 audio: Attempt to fix build on ARM versions of Visual Studio.
Ryan C. Gordon 33b235f4 2019-06-14T15:52:48 audio: Fix ARM NEON audio converter bugs. (Patch from Sylvain, I'm just applying it.) Fixes Bugzilla #4186.
Ryan C. Gordon 5c56c888 2019-06-14T15:47:32 audio: patched to compile.
Ethan Lee 5bd9b8b1 2019-06-14T09:51:22 Check src alignment for S32_to_F32 conversions
Ryan C. Gordon d9a2eff2 2019-06-13T21:31:03 cocoa: Another attempt at synthesized mouse/touch events.
Ryan C. Gordon 29457464 2019-06-13T01:57:13 cocoa: Revised synthesized mouse/touch event strategy. I _think_ I understand what Sylvain is working on here now, so hopefully I got this right. Fixes Bugzilla #4576. (I think!)
Alex Szpakowski 50f51231 2019-06-12T19:57:30 macOS: Fix the coordinate space of SDL_GetDisplayUsableBounds (thanks Tim!) Fixes bug #4518.
Alex Szpakowski 74e86a51 2019-06-12T19:15:56 iOS: Remove didAddSubview override in NSWindow, its code breaks things which rely on focus changing within SDL's UIWindow (bug #4659).
Ryan C. Gordon 2fa33d6f 2019-06-12T15:43:08 wave: Fixed static analysis warning about dead assignment. (technically, this function never returns an error at this point, but since it _does_ have an "uhoh, is this corrupt data?" comment that it ignores, we should probably make sure we handle error cases in the future. :) )
Ryan C. Gordon 32ead2cb 2019-06-12T15:37:07 vulkan: Fixed use-after-free bug.
Ryan C. Gordon b530d75a 2019-06-12T15:35:06 assert: Fixed some compiler warnings.
Sam Lantinga 747df96e 2019-06-12T10:38:49 Better patch to make it more clear what's going on
Sam Lantinga 3fbaa5da 2019-06-12T10:35:47 The hat index passed to the application should be zero-based with no holes
Sam Lantinga a1a2f9b9 2019-06-12T10:32:36 Fixed bug 4486 - Segfault when pressing a trigger on the Steam Controller (Linux) Matteo Beniamino Pressing a trigger button on a Steam Controller causes a segmentation fault both with stable version and latest mercurial head on Linux. I'm using the recent hid_steam kernel module with lizard_mode disabled (that is no keyboard/mouse emulation). I suspect this is what's happening: the driver exposes two hats. The two hats have indices 0 and 2. Inside linux/SDL_sysjoystick.c two hats are allocated in allocate_hatdata for joystick->hwdata->hats. In HandleHat function the hat parameter (that can be 2) is directly used as the index of the array that only has two elements, causing an out of bounds access. SDL is not expecting to have "holes" between hats indices. The index 2 is calculated in HandleInputEvents() as (ABS_HAT2X - ABS_HAT0X) / 2 where ABS_HAT2X is the value associated to the hat inside the hid_steam module.
Sam Lantinga d01150ab 2019-06-12T07:55:48 Fixed bug 4665 - Add support for single touch evdev devices Jan Martin Mikkelsen The attached patch adds support for single-touch evdev devices. These devices report ABS_X, ABS_Y and BTN_TOUCH events. This patch sets them up as MT devices with a single slot and handles the appropriate messages.
Ozkan Sezer 09142eb7 2019-06-12T13:56:20 fix permissions
Sylvain Becker cd011bb1 2019-06-12T10:42:02 SDL_Wave: missing field 'length' initializer
Sam Lantinga 39733dc6 2019-06-11T19:58:10 Fixed bug 4615 - RPM Build fails due to unpackaged files devbeer The current SDL2.spec fails to build with: Checking for unpackaged file(s): /usr/lib/rpm/check-files /tmp/build/rpmbuild/BUILDROOT/SDL2-2.0.9-2.x86_64 error: Installed (but unpackaged) file(s) found: /usr/lib64/cmake/SDL2/sdl2-config.cmake RPM build errors: Installed (but unpackaged) file(s) found: /usr/lib64/cmake/SDL2/sdl2-config.cmake
Ryan C. Gordon f5a34785 2019-06-11T21:57:30 assert: mark SDL_ExitProcess as SDL_NORETURN again. Put in a hack to (hopefully) make MingW happy. Fixes Bugzilla #4100.
Sam Lantinga 69d27a69 2019-06-11T18:13:46 Fixed bug 4570 - Support Vulkan Portability rather than MoltenVK specifically Dzmitry Malyshau Current code, search paths, and error messages are written to only consider MoltenVK on macOS as a Vulkan Portability implementation. It's not the only implementation available to the users. gfx-portability [1] has been shown to run a number of titles well, including Dota2, Dolphin Emulator, and vkQuake3, often out-performing MoltenVK in frame rate and stability (see Dolphin benchmark [2]). There is no reason for SDL to be that specific, it's not using any MVK-specific functions other than the WSI initialization ("VK_MVK_macos_surface"). gfx-portability exposes this extension as well, and a more generic WSI extension is in process. It would be good if SDL was written in a more generic way that expect a Vulkan Portability library as opposed to MoltenVK specifically. [1] https://github.com/gfx-rs/portability [2] https://gfx-rs.github.io/2019/03/22/dolphin-macos-performance.html
Sebastian Krzyszkowiak 797b2813 2019-06-12T00:55:05 wayland: HiDPI support
Ryan C. Gordon 04b50f6c 2019-06-11T16:19:01 cocoa: Backed out CVDisplayLink code for macOS vsync. This was to deal with broken vsync support in macOS 10.14, which we assumed would remain broken indefinitely, but a later 10.14 released fixed it. This is a loss of late-swap support, but there are several subtle problems in our CVDiplayLink code that are also evaporating, to be fair. Fixes Bugzilla #4575. (Backed out changeset 8760fed23001)
Ryan C. Gordon 3e9bf284 2019-06-11T15:06:35 software: Fixed compiler warning and dos2unix'd the endlines.
Ryan C. Gordon 04fedce0 2019-06-11T14:09:53 software: Correctly track viewport and cliprect. Fixes Bugzilla #4457.
Ryan C. Gordon a2f2b735 2019-06-11T13:02:56 direct3d: Use D3DPOOL_MANAGED for vertex buffers. Fixes Bugzilla #4537.
Sam Lantinga aa80d279 2019-06-11T08:33:30 Fix build with the 10.10 SDK
Ryan C. Gordon f7b7a972 2019-06-11T10:12:47 direct3d: Fixed SDL_RenderSetClipRect usage. Fixes Bugzilla #4459.
Ryan C. Gordon 4f59d372 2019-06-11T09:29:48 direct3d: don't dereference bogus pointer if current texture was destroyed. Fixes Bugzilla #4460.
Sylvain Becker 4392c6ff 2019-06-11T11:01:15 Android: fix coordinates for Surface.ROTATION_180 https://discourse.libsdl.org/t/android-screen-orientation-issues-2-0-9/26262
Sylvain Becker 45a3dd17 2019-06-11T10:19:26 Android: revert wrong fix typo calling onBackPressed() (Bug 4657)
Ryan C. Gordon f71454c0 2019-06-11T02:32:43 testoverlay2: Changed some C runtime calls to be SDL equivalents.
Ryan C. Gordon a6af0b82 2019-06-11T02:31:57 direct3d: Fixed more compiler warnings on Visual Studio 64-bit builds.
Ryan C. Gordon 5fb20b30 2019-06-11T02:14:59 video: fixed compiler warning on Visual Studio.
Ryan C. Gordon 254eb677 2019-06-11T02:08:31 windows: Don't let Visual Studio insert an implicit dependency on memset(). Fixes Bugzilla #4662.
Ryan C. Gordon 399df540 2019-06-11T01:14:24 windows: Drop WM_ACTIVATE when window is hidden, but only if being activated. Fixes Bugzilla #4571.
Sylvain Becker f9a9193e 2019-06-10T21:58:03 Android: add MinimizeWindow function (Bug 4580, 4657) shouldMinimizeOnFocusLoss is un-activated (return false)
Sylvain Becker 3f4e189b 2019-06-10T21:41:22 Android: fix typo calling onBackPressed() (Bug 4657)
Sam Lantinga d8da33c0 2019-06-10T08:49:26 Fixed bug 4662 - SDL failed to build due to error LNK2019: unresolved external symbol _memset referenced in function _IMA_ADPCM_Decode with MSVC on Windows LinGao We build SDL with Visual studio 2017 compiler on Windows Server 2016, but it failed to build due to error LNK2019: unresolved external symbol _memset referenced in function _IMA_ADPCM_Decode on latest default branch. And we found that it can be first reproduced on ca7283111ad0 changeset. Could you please help have a look about this issue? Thanks in advance!
Sam Lantinga 9891c31b 2019-06-10T08:46:20 Fixed bug 4641 - clang and clang-cl builds on windows create -Wpragma-pack warnings
Ryan C. Gordon 781692c0 2019-06-09T19:27:25 cocoa: report proper input IDs for mouse/touch events. Otherwise, we generate incorrect mouse events for MacBook trackpads (which are also multitouch devices), etc. Partially fixes Bugzilla #4576.
Sam Lantinga e43550c0 2019-06-09T14:08:18 Fixed bug 4658 - iOS 12 fullscreen flag and SDL_HINT_IOS_HIDE_HOME_INDICATOR not working Caleb Cornett On iOS 12, creating a window with the SDL_WINDOW_FULLSCREEN flag does not dim the home indicator or defer system gestures. The same goes for setting the SDL_HINT_IOS_HIDE_HOME_INDICATOR to "2" -- it has no effect at all. I've tracked down the source of this misbehavior to a timing issue. The initial `setNeedsUpdate...` calls were happening too early and getting applied to the launch screen by mistake. In the attached patch, I've added a call to those functions right after the launch screen is hidden so that they apply to the main view controller instead. This appears to fix the issue, at least on my iPhone 6s Plus.
Sam Lantinga 762b788f 2019-06-09T12:46:10 Cleanup on bug 3894 - Fuzzing crashes for SDL_LoadWAV Simon Hug Attached is a minor cleanup patch. It changes the option name of one hint to something better, puts one or two more checks in, and adds explicit casting where warnings could appear otherwise. I hope the naming of the hints and their options is acceptable. It would be kind of awkward to change them after they get released with an official SDL version.
Ethan Lee 225ae690 2019-06-09T11:54:51 Add notes for SDL_WinRTRunApp and SDL2-WinRTResources for non-C++ projects
Sam Lantinga b5e9ebba 2019-06-08T19:12:05 Fixed compiler warning warning C4018: '<' : signed/unsigned mismatch
Sam Lantinga a21b5b30 2019-06-08T19:09:43 Fixed build
Sam Lantinga 990e166a 2019-06-08T19:02:42 Fixed bug 3894 - Fuzzing crashes for SDL_LoadWAV Simon Hug I had a look at this and made some additions to SDL_wave.c. The attached patch adds many checks and error messages. For some reason I also added A-law and ?-law decoders. Forgot exactly why... but hey, they're small. The WAVE format is seriously underspecified (at least by the documents that are publicly available on the internet) and it's a shame Microsoft never put something better out there. The language used in them is so loose at times, it's not surprising the encoders and decoders behave very differently. The Windows Media Player doesn't even support MS ADPCM correctly. The patch also adds some hints to make the decoder more strict at the cost of compatibility with weird WAVE files. I still think it needs a bit of cleaning up (Not happy with the MultiplySize function. Don't like the name and other SDL code may want to use something like this too.) and some duplicated code may be folded together. It does work in this state and I have thrown all kinds of WAVE files at it. The AFL files also pass with it and some even play (obviously just noise). Crafty little fuzzer. Any critique would be welcome. I have a fork of SDL with a audio-loadwav branch over here if someone wants to use the commenting feature of Bitbucket: https://bitbucket.org/ChliHug/SDL I also cobbled some Lua scripts together to create WAVE test files: https://bitbucket.org/ChliHug/gendat
Sam Lantinga 48ac92af 2019-06-08T18:40:11 Fixed bug 4041 - Android, SDL_Renderer OpenGLES 1 is loading GLESv2 library Sylvain On Android, if you set no attribute using SDL_GL_SetAttribute(), and try to create a SDL Render OpenGLES 1: - it loads first by default GLESv2 libraries - creates the rendere OpenGLES 1 - recreates the Window to have a context 1.1 ( https://hg.libsdl.org/SDL/file/4db4cfd59470/src/render/opengles/SDL_render_gles.c#l298 ) But it doesn't unload libraries, then reload GLESv1 lib. So the SDL_Renderer OpenGLES 1 is working with GLES 2 libs, which seems inconsistent. If you, at first, set SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 1); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); It will correctly load GLES v1 libraries. Here's a small patch to reload egl libs when SDL_RecreateWindow() is called. It fixes the issue, also the case from bug 4042 ( SDL_RecreateWindow() is used by SDL_Renderer gl, gles1, gles2. )