|
d2c8c509
|
2016-10-01T14:54:05
|
|
Fixed build for X11
|
|
7b34f47e
|
2016-10-01T14:50:22
|
|
Fixed windows build
|
|
fa0f4176
|
2016-10-01T14:48:18
|
|
Fixed build warnings and errors
|
|
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.
|
|
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).
|
|
359f59ae
|
2016-10-01T14:22:10
|
|
Fixed bug 3130 - Spacebar not responding
Alex Baines
Make sure group is valid before passing it to XkbKeysymToKeycode.
|
|
555e6c96
|
2016-10-01T14:18:29
|
|
Fix SDL not resizing window when Android screen resolution changes
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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 ?
|
|
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.
|
|
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.
|
|
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.
|
|
f4b26cd8
|
2016-10-01T13:16:31
|
|
Removed carriage returns from previous patch
|
|
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.
|
|
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.
|
|
571f4ce8
|
2016-10-01T17:05:29
|
|
Fix CMake setting an incorrect video backend on iOS
|
|
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?
|
|
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.
|
|
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.
|
|
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.
|
|
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).
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.)
|
|
53e22e4b
|
2016-10-01T11:22:39
|
|
Only use GCC pragmas when we're building with GCC
|
|
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.
|
|
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.
|
|
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.
|
|
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).
|
|
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
|
|
9dfe5400
|
2016-10-01T10:38:15
|
|
We should be using a string constant for the strftime format string
|
|
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
|
|
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.
|
|
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
====================================================================
|
|
c2cb0b0f
|
2016-09-30T23:31:24
|
|
iOS: Removed unused constant in demo.
|
|
7b23eef3
|
2016-09-30T23:30:54
|
|
Fixed crash if allocating memory for mouse clicks failed.
|
|
e64c5186
|
2016-09-29T23:42:18
|
|
windows: Removed hardcoded "1" for mouse clickthrough hint.
|
|
f10db407
|
2016-09-29T23:15:56
|
|
haiku: Patched to compile.
|
|
f2fcd324
|
2016-09-29T23:12:58
|
|
windows: fix borderless windows at desktop resolution (thanks, Evgeny!).
Fixes Bugzilla #3404.
|
|
b2510d9c
|
2016-09-29T23:01:43
|
|
x11: fixed incorrect SDL_GetWindowPosition() after resize (thanks, Jason!).
Fixes Bugzilla #3272.
|
|
4f4c4b62
|
2016-09-29T22:52:41
|
|
Added SDL_SetWindowResizable(). (thanks, Ethan!)
|
|
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.
|
|
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.
|
|
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
|
|
f1e0b9af
|
2016-09-29T16:10:08
|
|
Added debug output for new window events
|
|
67bdbcca
|
2016-09-29T16:05:29
|
|
Implemented SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH on X11
|
|
d285af2a
|
2016-09-29T14:48:33
|
|
Added Windows support for SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH
|
|
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.
|
|
f33c58b0
|
2016-09-29T12:04:07
|
|
Updated Linux notes on building with Mir and Wayland support.
|
|
8ddb4328
|
2016-09-29T03:59:04
|
|
When clicking on a window to give it focus, don't pass the mouse click to the application.
|
|
e45698d2
|
2016-09-28T22:24:01
|
|
Updated version to 2.0.5 in preparation for release
|
|
f89857f1
|
2016-09-26T23:09:34
|
|
Updated configure script.
|
|
357c3dd7
|
2016-09-26T23:09:19
|
|
iOS: Updated comment in demo.
|
|
f31c7086
|
2016-09-25T15:02:06
|
|
Enable SDL_LoadObject on iOS 8+ and tvOS.
|
|
77bacfd7
|
2016-09-25T11:46:25
|
|
tvOS launch images are now properly supported.
|
|
a8b033d7
|
2016-09-25T00:23:35
|
|
Update the code for the iOS demos to handle modern devices. Fixes bug #3337
|
|
40ecac8e
|
2016-09-25T00:21:12
|
|
Don't try to load a launch storyboard on tvOS (it doesn't use them).
|
|
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.
|
|
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).
|
|
450fa8cd
|
2016-09-24T18:46:34
|
|
Use OS-provided click counts on macOS and iOS for mouse press and release events.
|
|
bac53941
|
2016-09-24T13:28:40
|
|
Fix mouse wheel events on macOS 10.12 (thanks Eric Wasylishen!)
Fixes bug #3432
|
|
89c538a4
|
2016-09-21T18:23:59
|
|
Mir: Add gamma support set/get. Still need one more function to complete the set
|
|
a729c4f9
|
2016-09-21T16:28:23
|
|
Mir: Add fixme (waiting for a public api to be added)
|
|
705ecf78
|
2016-09-21T15:57:15
|
|
[Mir] Move to the new MirDisplayConfig API
|
|
fc469f6f
|
2016-09-21T23:07:08
|
|
Mac: Fixed markdown formatting in README.
The newlines were lost in doxygen output.
|
|
8e88f081
|
2016-09-21T23:06:49
|
|
Mac: Fixed whitespace around function return type.
|
|
929b965c
|
2016-09-21T23:06:38
|
|
Fixed compiling of three test programs with C++.
|
|
85588ea0
|
2016-09-21T23:06:26
|
|
Android: Fixed two warnings about unused variables.
|
|
f0fca288
|
2016-09-18T19:22:09
|
|
Handle audio interruptions on iOS/tvOS. Fixes bugs 2569 and 2960.
|
|
8f8f225b
|
2016-09-18T18:19:32
|
|
Xcode/mac: fix building standalone static and shared libraries.
|
|
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.
|
|
b7818d71
|
2016-09-16T22:28:12
|
|
Recommended settings from Xcode 7.3.0
|
|
29214826
|
2016-09-16T22:27:58
|
|
Fixed warning with Xcode 7.3.0
|
|
459102a5
|
2016-09-17T01:36:29
|
|
Updated URL in a comment
|
|
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.
|
|
4bcce330
|
2016-09-15T21:49:29
|
|
tvOS: Add drop-file support
|
|
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.
|
|
e5070d20
|
2016-09-15T08:57:56
|
|
Fixed set of libraries needed to build on Mac OS X
|
|
93d42e2d
|
2016-09-15T08:46:14
|
|
Hopefully fixed the cmake build on Mac OS X
|
|
8c01d588
|
2016-09-15T08:29:20
|
|
Fixed building new coreaudio driver on Mac OS X
|
|
dbe2997a
|
2016-09-14T08:45:35
|
|
Fixed building for both iOS and tvOS on Xcode 8
|
|
7f28853b
|
2016-09-14T08:20:24
|
|
Fixed including OpenGL ES on iOS without any other SDL headers
|
|
d0898b38
|
2016-09-14T07:09:35
|
|
Allow targeting tvOS
|
|
86d4b099
|
2016-09-13T18:44:28
|
|
Fixed spacing
|
|
925859aa
|
2016-09-13T18:43:55
|
|
Fixed accidental call to SDL_PrivateJoystickHat()
|