Log

Author Commit Date CI Message
Sam Lantinga d2c8c509 2016-10-01T14:54:05 Fixed build for X11
Sam Lantinga 7b34f47e 2016-10-01T14:50:22 Fixed windows build
Sam Lantinga fa0f4176 2016-10-01T14:48:18 Fixed build warnings and errors
Sam Lantinga fae5d0ea 2016-10-01T14:34:52 Fixed bug 3107 OSX - Process events in SDLApplication to fix integration with CEF. John Wordsworth While attempting to integrate CEF (Browser) into an SDL application, we noticed that there were problems on OS X where approximately 50% of the input events were essentially being lost - even when we were using off-screen rendering in CEF and passing through input events manually. It appears that this problem has been around for a while (see: http://www.magpcss.org/ceforum/viewtopic.php?f=6&t=11141). Please consider the following patch that fixes this issue. Instead of processing events directly after calling [NSApp nextEventMatchingMask:...] we now pass these events down to NSApp, for processing by an overloaded sendEvent: method. Chromium also forwards events to NSApp in the same way, which means we don't miss events, even if they were originally dequeued by CEF.
Sam Lantinga c8cfccc2 2016-10-01T14:31:00 Fixed bug 3116 - renderer->hidden in SDL_RenderCopy(Ex) Daniel Seems like check of the visibility of renderer (renderer->hidden) is missing in SDL_RenderCopyEx. In SDL_RenderCopy it should be done much earlier (after checking support for RenderCopyEx, line 1750).
Sam Lantinga 359f59ae 2016-10-01T14:22:10 Fixed bug 3130 - Spacebar not responding Alex Baines Make sure group is valid before passing it to XkbKeysymToKeycode.
Magnus Bjerke Vik 555e6c96 2016-10-01T14:18:29 Fix SDL not resizing window when Android screen resolution changes
Sam Lantinga 0250eb3c 2016-10-01T14:16:04 Fixed bug 3134 - CalculateXRandRRefreshRate() returns incorrect refresh rate due to floating point truncation. Michael In SDL_x11modes.c the CalculateXRandRRefreshRate() function performs integer math on values that may return fractional results. This causes a value that would be calculated as 59.99972... to be returned as 59. In Linux the xrandr command returns 60Hz for this particular display mode yet SDL returns 59Hz. I suggest this function be updated to correctly round the result of the calculation instead of truncating the result.
Sam Lantinga 64180d22 2016-10-01T14:05:35 Fixed bug 3138 - c_dfDIJoystick2 already defined in dinput8.lib Machiel van Hooren In SDL_dxjoystick.c line 349 there is a constant c_dfDIJoystick2. However, this constant is aparently also defined in dinput8.lib. I encountered a linking error when statically linking to SDL: SDL2_static.lib(SDL_dxjoystick.obj) : error LNK2005: _c_dfDIJoystick2 already defined in dinput8.lib My application is also linking to dinput8.lib because we rolled our own joystick input and are not using the joystick functionality from SDL.
Sam Lantinga da6197c5 2016-10-01T13:59:59 Fixed 3149 - Mouse Pointer Raspberry Pi corrupt when moving over screen edges Patrick Gutlich The mouse cursor gets corrupted when the mouse moves over the screen edges (right and bottom) a weird type of scaling seems to occur and you end up with a blank square.
Sam Lantinga 1a31bbe2 2016-10-01T13:51:56 Fixed bug 3157 - Rudimentary touchscreen support in SDL_evdev (supports Raspberry Pi) tvc I've spent the last few days implementing touchscreen support in core/linux/SDL_evdev.c. It's fairly rudimentary at the moment, as can be seen from the multiple TODO's and FIXME's littered throughout, but I'm mainly submitting this patch for review. I've tested this patch on my Raspberry Pi 2 with the official touchscreen and it works fantastically, reporting all 10 multitouch points. I'm happy to work on this further, the evdev logic also needs a bit of a cleanup I think (I may have included a few changes). But if it's good enough in its current state to be committed then I'm sure there'd be plenty of people pleased, as currently the only other framework/library that supports touchscreens on the Raspberry Pi is Kivy.
Sam Lantinga 473051f6 2016-10-01T13:40:01 Fixed bug 3159 - SDL_blit_slow with BLENDING does not work Fritzor Source Suface is ABGR and Destination Surface is ABGR. We use software blending. In the Switch-Case statement for SDL_COPY_BLEND (Line 126) the alpha-channel is not calculated like in every SDL_blit_auto - function. So if the destination Surface has alpha - channel of zero the resulting surface has zero as well. Add: ?dstA = srcA + ((255 - srcA) * dstA) / 255;? to code and everything is okay.
Sam Lantinga 13dd2ccd 2016-10-01T13:38:30 Fixed bug 3161 - SDL_WINDOWEVENT_EXPOSED event possible queue overflow Marcel Bakker Observed when resizing or moving a window in Windows 7. Depending on how you resize/move your window , you may receive none or a lot of SDL_WINDOWEVENT_EXPOSED events , at the moment you release the mouse button. Maybe add this event to an already existing list of overflow candidates ?
Sam Lantinga 614cb35a 2016-10-01T13:35:36 Fixed bug 3165 - define numbers don't match types in Swift C.W. Betts Swift is very strict with types, so much that those of different signedness/size must be cast. Most of the defines are imported as 32-bit signed integers, while the corresponding field in a struct is a 32-bit unsigned integer. Appending a "u" would cause the defined types to be imported as 32-bit unsigned integers.
Sam Lantinga ecea3c4a 2016-10-01T13:33:32 Fixed bug 3169 - GLES2_CreateRenderer does not check SDL_GL_GetAttribute result, causing use of uninitialized data Yann Dirson When attempting to force use of opengles2 renderer with: int wanted_renderer = -1; for (int i = 0; i < numrenderers; i++) { SDL_RendererInfo renderer_info; if (SDL_GetRenderDriverInfo(i, &renderer_info) != 0) { SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't get renderer driver info: %s\n", SDL_GetError()); quit(2); } std::cerr << "Renderer " << i << " '" << renderer_info.name << "': flags=0x" << std::hex << renderer_info.flags << std::dec << ", " << renderer_info.num_texture_formats << " texture formats, max=" << renderer_info.max_texture_width << "x" << renderer_info.max_texture_height << "\n"; if (!strcmp(renderer_info.name, "opengles2")) { std::cerr << " selecting!\n"; wanted_renderer = i; } } renderer = SDL_CreateRenderer(window, wanted_renderer, 0); ... on banana pi or raspberry pi I get an error like the following (the actual context profile value varies, being used uninitialized) ERROR: Couldn't create renderer: Unknown OpenGL context profile 900 With this patch I get the following, which should help more pointing to a real problem: ERROR: Couldn't create renderer: Failed getting OpenGL glGetString entry point I pushed a patch (based on master branch of unofficial git mirror): https://github.com/O-Computers/SDL/commit/550389c89f4e73a0a5294f95b9f6e6c18ba48509 I'll be opening a different bug for the underlying issue.
Sam Lantinga 67901f53 2016-10-01T13:29:30 Fixed bug 3174 - SDL_SetRenderTarget clip rect Marcel Bakker In SDL_SetRenderTarget(), i think the intended behavior was to clear the clip rect when a new target is set.
Sam Lantinga f4b26cd8 2016-10-01T13:16:31 Removed carriage returns from previous patch
Sam Lantinga 7b0ccd32 2016-10-01T13:14:51 Fixed bug 3405 - Wrong default icon size on windows systems Evgeny Vrublevsky Original code in the video/windows/SDL_windowsevents.c registers obsolete WNDCLASS (not WNDCLASSEX). As the result only one icon size is used as the small and normal icons. Also original code doesn't specify required size of an icon. As the result when 256x256 icon is available, the program uses it as a default icon, and it looks ugly. We have to use WNDCLASSEX and load icons with proper sizes which we can get using GetSystemMetrics. Better idea. We could use the first icon from resources, like the Explorer does. Patch is included. It also correctly loads large and small icons, so it will look nice everywhere.
Sam Lantinga 86b4319d 2016-10-01T13:07:36 Fixed bug 3422 - OpenGL ES 1.1 renderer: SDL_UpdateTexture breaks later function calls (missing glDisable) ny00 Using the OpenGL ES 1.1 renderer, after updating a texture with SDL_UpdateTexture (or SDL_UnlockTexture), a following call to SDL_RenderFillRect draws a rectangle with the wrong color (which appears to be the same as the texture's top-left pixel). Comparing SDL_render_gles.c:GLES_UpdateTexture to SDL_render_gl.c:GL_UpdateTexture, a missing call to glDisable appears to be the cause. After adding it back, the bug is resolved.
Alex Szpakowski 571f4ce8 2016-10-01T17:05:29 Fix CMake setting an incorrect video backend on iOS
Sam Lantinga c2e25651 2016-10-01T13:02:20 Fixed bug 3424 - SDL_GameController: Increase k_nMaxReverseEntries ny00 On Android, the keycodes KEYCODE_BUTTON_1..16 (actual values 188-203) are translated to SDL_Joystick buttons no. 20-35. These are currently ignored in SDL_gamecontroller.c. The attached patch fixes this, by increasing k_nMaxReverseEntries from 20 to another arbitrary bound of 48. Side-note: Maybe some log should be emitted in case of going over any such bound?
Sam Lantinga 8d8e490d 2016-10-01T12:56:28 Fixed bug 3262 - Premake scripts are not compatible with "Genie" (premake fork) jfverdon Genie (https://github.com/bkaradzic/genie) is a well known premake fork which uses internally Lua 5.3 (as opposed to version 5.1 used in premake4). As there is some Lua's API breaks in Lua 5.2, SDL premake scripts do not works with premake. The two incompatibilities I noticed were: * unhandle modes "rt" and "wt" for io.open. Has io.open opens files in text mode by default, the "t" flag is not needed (this flag is not supported in Genie). * os.execute signature change, the return value is a tuple from Lua 5.2, before it was just the called program exit code.
Sam Lantinga 671f2a49 2016-10-01T12:54:48 Fixed bug 3268 - CMAKE: ios fixes Martin Gerhardy ios is not properly handled in the cmake file. this patch is a start to do so - it properly builds for me with it.
Sam Lantinga 6a9ee8fa 2016-10-01T12:52:55 Fixed bug 3276 - build-scripts/showrev.sh prints the tip, which isn't useful if you're on a different -# branch, or just not sync'd to the tip. winterknight The showrev.sh script shows the tip, instead of the current hg revision. This can be mismatched if one were to use hg update -r ??? to revert to a previous revision. Patch uses parents instead of tip, which will show the revision that the source is compiled with, instead of the latest revision that the user who is compiling has downloaded.
Sam Lantinga bb24662c 2016-10-01T12:48:08 Fixed bug 3301 - IBus support on Linux with CMake joe.gsoc16 I recently looked into Unicode support in SDL2 and realized that SDL_TEXTEDITING doesn't get triggered at all (Japanese IME). According to others on IRC it works fine on Windows/Mac but not for me on (arch)Linux. When compiling SDL with autotools, IBus support is enabled by default but not so with CMake. I never used CMake before but got it working and also included that pkg-config determines flags for dbus (FIXME in CMakeLists).
Sam Lantinga 765d8bea 2016-10-01T12:46:36 Fixed bug 3305 - Fixed TextInput status when the keyboard was dismissed with the dismiss key on the iPad Diego The keyboard on iPads has a dismiss button that hides the keyboard. When the keyboard was hidden using that button, instead of the return key, SDL was still reporting IsTextInputActive as true. This patch adds an extra SDL_StopTextInput when iOS reports the keyboard will hide.
Sam Lantinga f032f811 2016-10-01T12:43:14 Fixed bug 3318 - testime.c enhancement with GNU Unifont support Simon Hug I'm proposing some changes to the IME test program test/testime.c. The patch includes support for the GNU Unifont hex file, making the SDL_ttf dependency optional. There were also one or two bugs that prevented the text and underline from showing up poperly.
Sam Lantinga 3ac201cf 2016-10-01T12:33:26 Fixed bug 3319 - Getting the POSIX out of testqsort.c Simon Hug There's a call to the POSIX function random in test/testqsort.c. Naturally, Windows doesn't do that. The attached patch changes the call to the SDLtest framework random functions and adds some seed control. Looking at SDLTest_RandomInitTime, I just want to say that 'srand((unsigned int)time(NULL)); a=rand(); srand(clock()); b=rand();' is an absolutely terrible way to initialize a seed on Windows because of its terrible LCG.
Sam Lantinga d870f271 2016-10-01T12:31:31 Fixed bug 3320 - SDL_windows_main.c defines both console application entry points Simon Hug The SDLmain file src/main/windows/SDL_windows_main.c defines both entry points for console applications, main and wmain. This seems to confuse MSVC. It outputs a LNK4067 warning and then chooses main, which is a shame because only wmain has the unicode handling. Using SDLmain.lib provided on libsdl.org, the linker also goes for main. I'm proposing to not define the main entry point at all. wmain should be supported well enough with MSVC.
Sam Lantinga 2cbe9e2b 2016-10-01T12:29:55 Fixed bug 3322 - Missing error checking in testaudioinfo and testaudiohotplug Simon Hug The two tests test/testaudioinfo.c and test/testaudiohotplug.c are missing error checking when they call SDL_GetAudioDeviceName. This function can return NULL which the tests pass straight to SDL_Log.
Sam Lantinga 6f11545a 2016-10-01T12:28:05 Fixed bug 3323 - SDL_LogOutput prints message twice on Windows when linked with libc Simon Hug If SDL2 is compiled with HAVE_LIBC on Windows, the SDL_LogOutput function has two ways of printing a message. WriteConsole and fprintf.
Sam Lantinga 0b576962 2016-10-01T12:17:42 Reset dead keys when the SDL window loses focus, so dead keys pressed in SDL applications don't affect text input into other applications.
Sam Lantinga 1e6e5954 2016-10-01T11:54:02 Fixed bug 3332 - Win32: reset deadkeys in StartTextInput/StopTextInput Eric Wasylishen The bug here is that a dead keys pressed before calling SDL_StartTextInput() carries over into future text input, so the next key pressed will have the deadkey applied to it. This in undesirable, imho, and doesn't occur on OS X (haven't check Linux or elsewhere). It's causing a problem for Quakespasm on German keyboard layouts, where we use the ^ deadkey to toggle the console (which enables/disables text input), and ^ characters are showing up in the TEXTINPUT events.
Sam Lantinga 708def87 2016-10-01T11:48:15 Fixed bug 3338 - console_wmain doesn't null terminate the argv array Simon Hug The function console_wmain in src/main/windows/SDL_windows_main.c does not null terminate the argument list it is creating. As specified by the C standard, "argv[argc] shall be a null pointer." The SDLTest framework makes use of that null pointer and some test programs can cause an access violation because it's missing.
Sam Lantinga 77305d47 2016-10-01T11:46:32 Fixed bug 3345 - SDL_RenderClear inconsistency with ClipRect Simon Hug The description of the SDL_RenderClear function in the SDL_render.h header says the following: "This function clears the entire rendering target, ignoring the viewport." The word "entire" implies that the clipping rectangle set with SDL_RenderSetClipRect also gets ignored. This is left somewhat ambiguous if only the viewport is mentioned. Minor thing, but let's see what the implementations actually do. The software renderer ignores the clipping rectangle when clearing. It even has a comment on this: /* By definition the clear ignores the clip rect */ Most other render drivers (opengl, opengles, opengles2, direct3d, and psp [I assume. Can't test it.]) use the scissor test for the ClipRect and don't disable it when clearing. Clearing will only happen within the clipping rectangle for these drivers. An exception is direct3d11 which uses a clear function that ignores the scissor test.
Sam Lantinga 89c868f4 2016-10-01T11:40:57 Fixed bug 3347 - OpenGL ES renderer doesn't flip projection matrix for target textures Simon Hug When updating the viewport in GLES_UpdateViewport, the OpenGL ES renderer doesn't flip the projection matrix for target textures. The lines, rectangles and textures (if drawn with glDrawArrays) are upside down when drawing to target textures.
Sam Lantinga 061cc5e7 2016-10-01T11:38:53 Fixed bug 3349 - GLES2_RenderReadPixels doesn't use target texture format Simon Hug The OpenGL ES 2 renderer does not check the target texture format when using SDL_RenderReadPixels and just always uses ABGR8888. This can result in swapped or wrong colors. The attached patch adds a check and selects the target texture format, if a texture is set as the target.
Sam Lantinga 51d6371e 2016-10-01T11:34:04 Fixed bug 3350 - GL renderers don't need to flip rows after reading back pixels from the target texture Simon Hug All OpenGL renderers always flip the rows of the pixels that come from glReadPixels. This is unnecessary for target textures since these are already top down. Also, the rect->y value can be used directly for target textures for the same reason. I don't see any code that would handle the logical render size for target textures. Or am I missing something? The attached patch makes the renderers only the flip rows if the data comes from the default framebuffer.
Sam Lantinga 9fff05f8 2016-10-01T11:29:13 Fixed bug 3352 - Adding alpha mask support to SDL_SaveBMP_RW Simon Hug The current SDL_SaveBMP_RW function that saves surfaces to a BMP uses an old bitmap header which doesn't officially support alpha channels. Applications just ignore the byte where the alpha is stored. This can easily be extended by using a newer header version and setting the alpha mask. The attached patch has these changes: - Extending the description of the function in the SDL_surface.h header with the supported formats. - Refining when surfaces get stored to a 32-bit BMP. (Must have bit depth of 8 or higher and must have an alpha mask or colorkey.) - Fixing a small bug that saves 24-bit BGR surfaces with a colorkey in a 24-bit BMP. - Adding code that switches to the bitmap header version 4 if the surface has an alpha mask or colorkey. (I chose version 4 because Microsoft didn't lose its documentation behind a file cabinet like they did with version 3.) - Adding a hint that can disable the use of the version 4 header. This is for people that need the legacy header or like the old behavior better. (I'm not sure about the hint name, though. May need changing if there are any rules to that.)
Sam Lantinga 53e22e4b 2016-10-01T11:22:39 Only use GCC pragmas when we're building with GCC
Sam Lantinga a42c396a 2016-10-01T11:04:45 Fixed bug 3361 - Texture color modulation doesn't work with active NONE blend mode (opengl and opengles) Simon Hug The GL_SetBlendMode and GLES_SetBlendMode functions of the opengl and opengles renderers call the glTexEnvf to set the texture env mode to either GL_MODULATE (the default) or GL_REPLACE for the NONE blend mode. Using GL_REPLACE disables color and alpha modulation for textures. These glTexEnv calls were put in the SetBlendMode function back in 2006 [1], but there the NONE code still used the GL_DECAL mode. The GL_REPLACE mode came in 2008 [2]. I'm a bit confused why that wasn't always GL_MODULATE and a bit surprised nobody reported that yet (unless I missed it). I guess only a few use the gles renderer and the newish shaders mask the issue.
Sam Lantinga 3f1b1629 2016-10-01T10:52:24 Fixed bug 3362 - OpenGL renderer doesn't check if framebuffers are supported when creating target textures Simon Hug The GL_CreateTexture function doesn't have any checks for the case where the driver doesn't support the framebuffer object extension. It will call into GL_GetFBO which will call the non-existent glGenFramebuffersEXT. Also, for some reason GL_CreateContext always sets the SDL_RENDERER_TARGETTEXTURE info flag, even if it is not supported. Changeset cc226dce7536 [1] makes this change, but doesn't explain why. It seems to me like the code would already have taken care of this [2]. The attached patch adds some checks and stops SDL from reporting render target support if there is none. The application can then properly inform the user instead of just crashing.
Sam Lantinga fd1d692b 2016-10-01T10:46:10 Fixed bug 3368 - SDL_Blit_Slow doesn't ignore alpha values in colorkey comparison Simon Hug When the SDL_Blit_Slow function compares the pixel to the color key it does so without removing the alpha component from the pixel value and the key. This is different from the optimized 32-bit blitters which create a rgb mask and apply it to both to filter the alpha out. SDL_Blit_Slow will only skip the pixels with the exact alpha value of the key instead of all pixels with the same color. The attached test case blits a surface with a color key and prints the pixel values to the console. The third row is expected to be skipped.
Sam Lantinga 2ccb46ce 2016-10-01T10:43:01 Fixed bug 3373 - OpenGL implementation differences of glDrawTexfOES Simon Hug It seems not everyone implemented glDrawTexfOES the same. Intel and Mesa ignore the viewport entirely, whereas the Raspberry Pi implementation offsets the coordinates and does viewport clipping. The glDrawTexfOES extension text [1] for the function says "Xs and Ys are given directly in window (viewport) coordinates." I guess this wasn't clear enough. Alex Szpakowski Honestly I'd probably remove that codepath from SDL_Render entirely. It's an OpenGL ES 1-specific extension that isn't likely to give huge performance gains and adds additional maintenance overhead to SDL_Render while also having bugs in some drivers (as seen here).
Bastien Nocera ca8ef2b7 2016-10-01T10:39:03 Fix running autogen.sh out-of-tree As done in GNOME's jhbuild building tool. https://bugzilla.libsdl.org/show_bug.cgi?id=3374
Sam Lantinga 9dfe5400 2016-10-01T10:38:15 We should be using a string constant for the strftime format string
Bastien Nocera 7edd2261 2016-10-01T10:36:24 Fix "format not a string literal" errors With GCC 6.1. https://bugzilla.libsdl.org/show_bug.cgi?id=3375
Sam Lantinga b7e45f8a 2016-10-01T10:28:00 Fixed bug 3336 - Failure to build with MinGW-w64 Kai Sterker There are already patches available from mingw64 that fix the issue https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-SDL2 With those applied, I could compile SDL2 without problems. But of course, it would be preferable if SDL built cleanly from source.
Sam Lantinga 9f854cdb 2016-10-01T10:08:34 Fixed bug 3388 - Fail to build src/thread/windows/SDL_systhread.c on MinGW 4.9.3 Vitaly Novichkov Line 124 ==================================================================== const DWORD flags = thread->stacksize ? STACK_SIZE_PARAM_IS_A_RESERVATION : 0; ==================================================================== Error of compiler: ==================================================================== CC build/SDL_systhread.lo src/thread/windows/SDL_systhread.c: In function 'SDL_SYS_CreateThread': src/thread/windows/SDL_systhread.c:124:45: error: 'STACK_SIZE_PARAM_IS_A_RESERVA TION' undeclared (first use in this function) const DWORD flags = thread->stacksize ? STACK_SIZE_PARAM_IS_A_RESERVATION : 0; ^ src/thread/windows/SDL_systhread.c:124:45: note: each undeclared identifier is r eported only once for each function it appears in make: *** [build/SDL_systhread.lo] Error 1 ==================================================================== Fixing when I adding into begin of the file: ==================================================================== #ifndef STACK_SIZE_PARAM_IS_A_RESERVATION #define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000 #endif ====================================================================
Philipp Wiesemann c2cb0b0f 2016-09-30T23:31:24 iOS: Removed unused constant in demo.
Philipp Wiesemann 7b23eef3 2016-09-30T23:30:54 Fixed crash if allocating memory for mouse clicks failed.
Ryan C. Gordon e64c5186 2016-09-29T23:42:18 windows: Removed hardcoded "1" for mouse clickthrough hint.
Ryan C. Gordon f10db407 2016-09-29T23:15:56 haiku: Patched to compile.
Ryan C. Gordon f2fcd324 2016-09-29T23:12:58 windows: fix borderless windows at desktop resolution (thanks, Evgeny!). Fixes Bugzilla #3404.
Ryan C. Gordon b2510d9c 2016-09-29T23:01:43 x11: fixed incorrect SDL_GetWindowPosition() after resize (thanks, Jason!). Fixes Bugzilla #3272.
Ryan C. Gordon 4f4c4b62 2016-09-29T22:52:41 Added SDL_SetWindowResizable(). (thanks, Ethan!)
Sam Lantinga 257c8972 2016-09-29T16:52:48 Fixed bug 3426 - Fixes for joystick related issues ny00 This report is going to cover three issues, with a suggestion for fixes. For reference, tests were done using an installation of android-x86-5.1-rc1.iso within a VirtualBox session. I've actually used an adapter that accepts up to two Playstation 1/2 controllers. A ZIP file should be attached, with the following contents: - The patch file itself. - Outputs of joysticks lists from testjoystick with different orders (before fixing bug). - Game controllers database entries (for reference). --- Different outputs for different platforms may stem from different tools being used; The Android mapping was manually constructed using a previously available mapping as a base. --- Note that it turns out the Linux mapping is already out there in some form: https://github.com/gabomdq/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt And so, let's begin listing the issues: 1. While changeset https://hg.libsdl.org/SDL/rev/9b540bea3cf1 has good intentions, it appears to make various input devices being mistakenly detected as SDL joysticks. I got lists of the devices from joysticktest, given in the ZIP file. "badordering.txt" is what I get if the device has been plugged since a reboot of the virtual machine, while I've gotten "goodordering.txt" after hot-plugging the USB adapter. As expected, only in the latter case I could use the controller in the test program (assuming it isn't modified). To take care of this, I updated pollInputDevices and added the function SDLActivity.isDeviceSDLJoystick, in order to have a better filter. Note that it also checks that the device id is non-negative, since VIRTUAL_KEYBOARD appears to include a SOURCE_DPAD, and I should probably keep accepting it as an SDL_joystick (good if you want, say, to support multiple independent d-pad devices). I hope the device id filter does not break support for the virtual remote (mentioned in the changeset above). 2. So there's a weird glitch here, where the game controller is reported to have SOURCE_KEYBOARD and SOURCE_JOYSTICK, while each controller button press/release emits a KeyEvent with SOURCE_KEYBOARD only. So obviously any test going over the event's own sources is expected to fail. It is possible to try and filter by the key code, but then there are the dpad key codes, which can also be emitted by actual PC keyboard's key presses/releases (the arrow keys). So instead, I just call the newly added isDeviceSDLJoystick function again and check if the input device (not the event) has any source considered to be a joystick/gamepad for us. 3. Finally, if SDL2 properly detects an SDL_Joystick being connected, but it is not opened, then whenever a KeyEvent is received after a button press/release from the same controller, SDLActivity.onNativePadDown/onNativePadUp returns a negative value. In such a case, the onKey handler continues to check for SOURCE_KEYBOARD (and possibly also SOURCE_MOUSE), which is clearly not desired. And so, in the given patch, the return values of onNativePadDown and onNativePadUp are ignored and "true" is returned either way. (Note: Maybe the native functions should be modified to have the return value of "void".) Finally, as another side-note, I've noticed that the various bitwise tests for sources are wrong. For instance, to check if an InputDevice 'device' has source SOURCE_JOYSTICK, the value (device.getSources() & SOURCE_JOYSTICK) should be compared to SOURCE_JOYSTICK, not 0. However, I think there's enough that this patch covers. At the least, isDeviceSDLJoystick partially solves this.
Sam Lantinga f369d165 2016-09-29T16:40:34 Fixed bug 3427 - Android accelerometer z-axis incorrect Alex Szpakowski As seen here https://bitbucket.org/rude/love/issues/1202/accelerometer-z-axis , the Java code for sending accelerometer data to SDL's C code has an incorrect Z-axis calculation.
Sam Lantinga 5f2e83a9 2016-09-29T16:37:08 Fixed bug 3429 - Update AM_PATH_SDL2() to also check for SDL2.framework neoaggelos It is common for Mac OS X to use the SDL2.framework instead of the classic UNIX dynamic lib. Therefore, it makes sense for AM_PATH_SDL2() to be able to locate it. Attached is a patched sdl2.m4 (updated for that purpose). Changes: * look for SDL2.framework ONLY if pkg-config and sdl2-config tests failed (this is to ensure compatibility with the old behaviour) * adds option ('--disable-sdlframework') to retreat to the old behaviour * adds variable 'SDL2_FRAMEWORK' for the user to specify the exact path to SDL2.framework (e.g. if it is installed in a non-standard location) Open to suggestions for further improvements
Sam Lantinga f1e0b9af 2016-09-29T16:10:08 Added debug output for new window events
Sam Lantinga 67bdbcca 2016-09-29T16:05:29 Implemented SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH on X11
Sam Lantinga d285af2a 2016-09-29T14:48:33 Added Windows support for SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH
Sam Lantinga a13da2fa 2016-09-29T13:34:49 Generalized the hint for whether the application gets a mouse event when clicking on the window to activate it, and is now named SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH. The behavior is defined to not receive the click event, and this hint allows you to override that.
Ryan C. Gordon f33c58b0 2016-09-29T12:04:07 Updated Linux notes on building with Mir and Wayland support.
Sam Lantinga 8ddb4328 2016-09-29T03:59:04 When clicking on a window to give it focus, don't pass the mouse click to the application.
Sam Lantinga e45698d2 2016-09-28T22:24:01 Updated version to 2.0.5 in preparation for release
Philipp Wiesemann f89857f1 2016-09-26T23:09:34 Updated configure script.
Philipp Wiesemann 357c3dd7 2016-09-26T23:09:19 iOS: Updated comment in demo.
Alex Szpakowski f31c7086 2016-09-25T15:02:06 Enable SDL_LoadObject on iOS 8+ and tvOS.
Alex Szpakowski 77bacfd7 2016-09-25T11:46:25 tvOS launch images are now properly supported.
Alex Szpakowski a8b033d7 2016-09-25T00:23:35 Update the code for the iOS demos to handle modern devices. Fixes bug #3337
Alex Szpakowski 40ecac8e 2016-09-25T00:21:12 Don't try to load a launch storyboard on tvOS (it doesn't use them).
Alex Szpakowski 666d3fec 2016-09-24T23:33:49 iOS/tvOS: Try to load the launch screen as a storyboard. Xcode 8 compiles it as a storyboard instead of a nib.
Alex Szpakowski 9165ba7e 2016-09-24T20:12:57 iOS/tvOS: Always send SDL_WINDOWEVENT_FOCUS_GAINED when a window is created on the main screen (fixes bug #3395).
Alex Szpakowski 450fa8cd 2016-09-24T18:46:34 Use OS-provided click counts on macOS and iOS for mouse press and release events.
Alex Szpakowski bac53941 2016-09-24T13:28:40 Fix mouse wheel events on macOS 10.12 (thanks Eric Wasylishen!) Fixes bug #3432
Brandon Schaefer 89c538a4 2016-09-21T18:23:59 Mir: Add gamma support set/get. Still need one more function to complete the set
Brandon Schaefer a729c4f9 2016-09-21T16:28:23 Mir: Add fixme (waiting for a public api to be added)
Brandon Schaefer 705ecf78 2016-09-21T15:57:15 [Mir] Move to the new MirDisplayConfig API
Philipp Wiesemann fc469f6f 2016-09-21T23:07:08 Mac: Fixed markdown formatting in README. The newlines were lost in doxygen output.
Philipp Wiesemann 8e88f081 2016-09-21T23:06:49 Mac: Fixed whitespace around function return type.
Philipp Wiesemann 929b965c 2016-09-21T23:06:38 Fixed compiling of three test programs with C++.
Philipp Wiesemann 85588ea0 2016-09-21T23:06:26 Android: Fixed two warnings about unused variables.
Alex Szpakowski f0fca288 2016-09-18T19:22:09 Handle audio interruptions on iOS/tvOS. Fixes bugs 2569 and 2960.
Ryan C. Gordon 8f8f225b 2016-09-18T18:19:32 Xcode/mac: fix building standalone static and shared libraries.
Ryan C. Gordon 06700a90 2016-09-18T18:07:47 emscripten: get even more aggressive about audio device closing. I still get exceptions thrown sometimes on shutdown without this.
Sam Lantinga b7818d71 2016-09-16T22:28:12 Recommended settings from Xcode 7.3.0
Sam Lantinga 29214826 2016-09-16T22:27:58 Fixed warning with Xcode 7.3.0
Alex Szpakowski 459102a5 2016-09-17T01:36:29 Updated URL in a comment
Alex Szpakowski a96b6f21 2016-09-17T01:31:07 Added a new hint SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION. When set to "1", the orientation of the Apple TV remote affects the axes of the corresponding SDL joystick. It is "0" (disabled) by default.
Alex Szpakowski 4bcce330 2016-09-15T21:49:29 tvOS: Add drop-file support
Alex Szpakowski 4209a1fd 2016-09-15T19:59:57 CoreAudio iOS/tvOS: Use AVFoundation instead of AudioSession. Fixes audio on tvOS. Note that linking with AVFoundation is now required if you don't disable SDL_audio compilation on iOS and tvOS.
Sam Lantinga e5070d20 2016-09-15T08:57:56 Fixed set of libraries needed to build on Mac OS X
Sam Lantinga 93d42e2d 2016-09-15T08:46:14 Hopefully fixed the cmake build on Mac OS X
Sam Lantinga 8c01d588 2016-09-15T08:29:20 Fixed building new coreaudio driver on Mac OS X
Sam Lantinga dbe2997a 2016-09-14T08:45:35 Fixed building for both iOS and tvOS on Xcode 8
Sam Lantinga 7f28853b 2016-09-14T08:20:24 Fixed including OpenGL ES on iOS without any other SDL headers
Sam Lantinga d0898b38 2016-09-14T07:09:35 Allow targeting tvOS
Sam Lantinga 86d4b099 2016-09-13T18:44:28 Fixed spacing
Sam Lantinga 925859aa 2016-09-13T18:43:55 Fixed accidental call to SDL_PrivateJoystickHat()