|
a48c9e6d
|
2017-08-11T21:16:33
|
|
Fixed bug 3292 - SDL_rwops and 64-bit file I/O
Juha Niemim?
On AmigaOS 4 platform with Newlib 'C' library, there is a problem with failing fseeko64. This seemed to be caused by using fopen instead of fopen64.
|
|
4c239e55
|
2017-08-11T20:54:06
|
|
Fixed bug 3297 - Horizontal and Vertical flip swapped on PSP
Littlefighter19
When trying to mirror something on the PSP, I've stumbled upon the problem,
that using SDL_RenderCopyEx with SDL_FLIP_HORIZONTAL flips the image vertically, vise-versa SDL_FLIP_VERTICAL flips the image horizontally.
Proposed patch would be swapping the check in line 944 with the one in line 948 in SDL_render_psp.c
|
|
79a846d4
|
2017-08-11T19:42:39
|
|
Fixed bug 3334 - SDL_ShowMessageBox uses wrong index and accesses un-allocated memory
romain.lacroix
For the windows implementation of SDL_ShowMessageBox() : ./src/video/windows/SDL_windowsmessagebox.c:345 WIN_ShowMessageBox()
The implementation in 2.0.4 uses "button index" for parameter "id" of function AddDialogButton().
It then expects the value provided in param wParam of function MessageBoxDialogProc() to be a valid index of a button.
It uses this value to index in the array of buttons when DialogBoxIndirect() returns (line 474 : *buttonid = buttons[which].buttonid;)
However, when dismissing this box with Escape, the return value of DialogBoxIndirect will be SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT (=2) which is not always a valid index of array buttons.
When the array buttons has a length less or equal than 2, the memory access is invalid; I can see that the value written to *buttonId is uninitialized memory (random value).
The fix I propose : use value "buttonid" (field of button) for parameter "id" of AddDialogButton(), then copy return value of DialogBoxIndirect() in *buttonid. This way, we will not use an out-of-bounds index in array buttons.
|
|
441d9ba2
|
2017-08-11T19:36:12
|
|
Fixed bug 3341 - SDL_sscanf() problem
e_pluschauskas
Why does SDL_sscanf() always returns the number of format specifiers and doesn't implements standard C library behavior?
|
|
1da252c2
|
2017-08-11T18:56:41
|
|
Fixed crash in bug 3367 - RGBA_FROM_PIXEL macro can't handle SDL_PIXELFORMAT_ARGB2101010
Simon Hug
The RGBA_FROM_PIXEL macro in src/video/blit.h [1] is not designed to work with more than 8 bits per channel and the ARGB2101010 format makes it read outside of the array bounds causing access violations. This can happen during blitting with the BlitNtoNPixelAlpha and SDL_Blit_Slow functions.
When SDL_InitFormat tries to calculate the loss of the channels [2], the Uint8 will wrap around and it will end up at 254 for the 10-bit channels. Clearly way over the 9 entries of the SDL_expand_byte array. (Not that a signed integer would help.) Then the macro tries to access the lookup table with the channel value which could be up to 1023. If the previous indirection didn't cause an access violation this one will.
I guess it's not worth modifying this macro for a format that only a few will use. It will only make the other blitters slower. I don't have good ideas to solve this issue.
Attached is a test case that does three blits. A copy one that work and the two that use the functions mentioned above.
[1] https://hg.libsdl.org/SDL/file/cd1994d4f3c6/src/video/SDL_blit.h#l303
[2] https://hg.libsdl.org/SDL/file/cd1994d4f3c6/src/video/SDL_pixels.c#l540
|
|
df5898b0
|
2017-08-11T13:37:40
|
|
Fixed bug 3464 - Fix for Android hint SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH
ny00
According to the current documentation in SDL_hints.h, if SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH is set to "0" (or not set at all) then mouse input should lead to touch events, along with corresponding *fake* mouse events with mouse id SDL_TOUCH_MOUSEID.
However, while moving a mouse around (actually using a trackpad identified as a mouse), I get SDL mouse motion events with differing mouse ids, as follows:
- If the mouse is moved while a mouse button is pressed, the mouse id is SDL_TOUCH_MOUSEID.
- Otherwise, the mouse id for mouse motion events is 0.
I've attached sample code for reference, which includes logs of the various mouse events (the "which" field is covered).
I believe that no actual mouse event should arrive, if the hint is unset. In particular, no mouse motion event should arrive while no mouse button is pressed.
I'm going to attach a patch which resolves this, while also disabling mouse wheel motion events.
|
|
b3589ed6
|
2017-08-11T13:24:18
|
|
Fixed bug 3492 - SDL_RenderCopyEx angle direction not documented
xyzdragon
Reading https://wiki.libsdl.org/SDL_RenderCopyEx there is no mention what the angle means. Normally in a mathematically environment positive angles translate to counter-clockwise rotations, but in SDL positive angles means clockwise rotation.
|
|
6de66e98
|
2017-08-11T11:54:24
|
|
Fixed bug 3324 - SDL_RenderReadPixels: Wrong rect coordinates with software renderer
Daniel
SDL_RenderReadPixels with SDL_RENDERER_SOFTWARE reads pixels from wrong coordinates.
SW_RenderReadPixels adjusts the rect coordinates according to the viewport. But since this is already done by SDL_RenderReadPixels, the final rect has x2 bigger X and Y.
|
|
658975f3
|
2017-08-11T11:32:00
|
|
Fixed bug 3639 - SDL_GetPrefPath returns a path with two consecutive slashes on Unix if org is omitted
Fabian Greffrath
we use SDL_GetPrefPath() in Chocolate Doom to get a reasonable directory to save and restore config files and savegames:
https://github.com/chocolate-doom/chocolate-doom/blob/sdl2-branch/src/m_config.c#L2162
However, since there is no "organization" behind Chocolate Doom and there is really only one "product" called Chocolate Doom, we pass an empty string for the org parameter and the package string for app.
This leads to two consecutive slashes in the path returned by SDL_GetPrefPath() like this:
/home/user/.local/share//chocolate-doom/
While this is harmless, it sure looks bad.
I believe that it should be possible to either pass a NULL pointer for the org parameter or at least have the function detect an empty string as a means to express "there is no origanization, just a single product". The generation of the path string to be returned by the function will have to get adapted accordingly.
|
|
3c852360
|
2017-08-11T10:42:26
|
|
Fixed bug 3646 - SDL_test_common.c: Add key bindings for testing SDL_SetWindowPosition
Eric Wasylishen
Alt-Up/Down/Left/Right switches between displays using SDL_WINDOWPOS_CENTERED_DISPLAY
Shift-Up/Down/Left/Right shifts the window by 100px
|
|
222bacd8
|
2017-08-11T10:32:47
|
|
Fixed bug 3682 - Toggle text input in checkkeys when the mouse is clicked
Eric Wasylishen
Small change to checkkeys so you can toggle text input mode with a mouse click.
This is needed for testing how dead keys react to toggling mouse input, i.e. these bugs:
|
|
96305832
|
2017-08-11T10:21:19
|
|
Fixed bug 3702 - Clear error messages of SDL_LoadObject for optional libraries
Simon Hug
Some code in SDL loads libraries with SDL_LoadObject to get more information or use newer APIs. SDL_LoadObject may fail, set an error message and SDL will continue with some fallback code. Since SDL will overwrite the error or exit the function with a return value that indicates success, the error form SDL_LoadObject for the optional stuff might as well be cleared right away.
|
|
6e1b11ba
|
2017-08-11T10:18:45
|
|
Fixed bug 3714 - Windows: SDL_WINDOW_FULLSCREEN_DESKTOP broken on 3 monitor setup w/ DPI scaling
Eric Wasylishen 2017-07-26 18:42:58 UTC
I set up an (admittedly exotic) 3-monitor setup, and when I enter fullscreen-desktop on the middle display (#2), the SDL window is off center. (covers half of monitor #2 and most of monitor #3).
The displays are arranged from left to right:
Display #1 (main): 2880x1800, 200% scaling
Display #2: 1920x1200, 150% scaling
Display #3: 1920x1080, 100% scaling
SDL display bounds:
INFO: Bounds: 1440x900 at 0,0
INFO: Bounds: 1281x801 at 1921,0 (these are incorrect)
INFO: Bounds: 1920x1080 at 4800,0
Correct bounds reported by calling EnumDisplayMonitors and printing the LPRECT param of the callback:
1440x900 at (0, 0)
1280x800 at (2880, 0)
1920x1080 at (4800, 0)
It seems like you need 3 displays to reproduce this, and the left two need DPI scaling, and the 3rd display needs to have a different scale factor than the others.
Related: https://bugzilla.libsdl.org/show_bug.cgi?id=3709
SDL: current hg (11235:6a587b9e0ec8)
Windows 10, Version 10.0.15063 Build 15063
Tested with testdraw2 and testgl2, and pressing alt+enter to enter fullscreen desktop.
This patch reworks SDL_windowsmodes.c to use EnumDisplayMonitors instead of EnumDisplayDevices, so we always have an HMONITOR for each SDL display.
With access to an HMONITOR, we can get the monitor bounds in virtual screen coordinates the proper way, by calling GetMonitorInfo. (whereas the original code was doing some calculations - e.g. "data->DeviceMode.dmPosition.x * data->ScaleX" - to try to get virtual screen coordinates. These worked in simple cases, but failed in more complex cases like this bug)
The one potential problem with my patch is, the ChangeDisplaySettingsEx docs say that you're supposed to get the display name from EnumDisplayDevices, but I'm getting the display name from GetMonitorInfo now.
|
|
a05522a0
|
2017-08-11T10:05:45
|
|
Fixed bug 3723 - Possible double free in kmsdrm init code on certain errors
Simon Hug
KMSDRM_VideoInit allocates and frees some connectors and encoders but doesn't set the pointer to NULL after freeing. The cleanup code at the end may free one of those garbage pointer should an error happen in the initialization.
|
|
d0b46f1b
|
2017-08-10T11:57:19
|
|
Fixed bug 3681 - SDL_UpateTexture documentation not specific enough about format requirement
Simon Hug
The documentation of SDL_UpateTexture does not say that the pixel data has to be in the format of the texture.
|
|
843293be
|
2017-08-09T20:26:16
|
|
Fixed bug 3701 - WM_TOUCH message may cause calls to null if touch functions are not properly loaded
Simon Hug
When WIN_WindowProc processes the WM_TOUCH message, it doesn't check if the touch functions have been properly loaded and may call a NULL pointer. It's probably an extremely rare case, but here's a patch that adds some checks anyway.
|
|
a47bf374
|
2017-08-09T20:23:48
|
|
Fixed bug 3728 - [Android] crash when shared libraries are no loaded
Sylvain
On Android, when shared libraries are not correctly loaded (eg SDLActivity.mBrokenLibraries is true), there is a pop-up with an error message.
After user dismisses the pop-up, application crashes:
- because the native function "nativePause()" may no be loaded (if libSDL2.so is not loaded).
- because mSurface is null.
|
|
af44a595
|
2017-08-09T20:20:35
|
|
Fixed bug 3672 - Add joystick to controllerdb
Moritz M-H
The following entry needs to be added to the gamecontrollerdb for the Qanba fighter stick under linux
|
|
73c6cebb
|
2017-08-09T22:43:16
|
|
cmake: Pacify warning about Policy CMP0042 not being set.
|
|
80c6c2fa
|
2017-08-09T22:34:45
|
|
cmake: whoops, Sam and I both fixed this bug at the same time. :)
|
|
496337b3
|
2017-08-09T19:03:10
|
|
Fixed bug 3651 - CMake build does not install CMake package configuration
tschwinger@elitemail.org
Most ironically, although autoconf/automake-based builds install (pretty half-assed) CMake package configuration files, they're missing in installations resulting from CMake-based builds entirely.
A proper configuration file typically also loads target exports (implemented in patch 3572, also fixing this issue - see my comment on that issue for details).
I believe it would be best to let the dinosaurs go extinct and redirect all build efforts to the CMake end for two reasons:
1. It potentially provides the best user experience, but you'd have to give it some love and ship with less quirky buildfiles.
2. It would force distros to build SDL via CMake and thus would ensure target exports are actually available everywhere.
Various CMake patches I submitted today in summary (directly converted from the HG commits and `am`d onto a fork of a git mirror that happened to be on `tip`).
https://github.com/tschw/SDL/commits/patched
Fixing #2576 #3572, #3613, and this fresh ticket, which is almost entirely advertisement ;).
These already do to make SDL much less of a quirky fella to have in your dependency tree...
|
|
d3af447e
|
2017-08-09T18:47:33
|
|
Fixed bug 3590 - CMAKE: typos in CheckMir
Martin Gerhardy
- list(APPEND EXTRA_CFLAGS ${MIR_TOOLKIT_CFLAGS} ${EGL_CLFAGS} ${XKB_CLFLAGS})
+ list(APPEND EXTRA_CFLAGS ${MIR_TOOLKIT_CFLAGS} ${EGL_CFLAGS} ${XKB_CFLAGS})
CFLAGS is spelled wrong in two different ways for EGL and XKB
And while you are on it...
sdl needs mir >= 0.24 afaik - it fails on travis-ci (ubuntu 14.04 LTS with 0.18 installed and in other environments, too (e.g. https://github.com/urho3d/Urho3D/issues/1685)
To fix this one should add a min version check to pkg_check_modules like this
- pkg_check_modules(MIR_TOOLKIT mirclient mircommon)
+ pkg_check_modules(MIR_TOOLKIT mirclient>=0.24 mircommon)
|
|
1b8117be
|
2017-08-09T19:50:18
|
|
cmake: Don't link directly against a libpthread on Android (thanks, Anthony!).
Android has pthreads, but it's just part of their C runtime instead of a
separate library like the usual Linux platforms.
Fixes Bugzilla #3675.
|
|
53d4f5c9
|
2017-08-09T16:20:04
|
|
Fixed bug 3733 - Makefile sleeps for 3 seconds if configure is out of date
|
|
2d67381a
|
2017-08-09T18:41:59
|
|
haiku: non-x86 spins use a normal libstdc++ filename. Handle the differences.
Fixes Bugzilla #3730.
|
|
69092c7e
|
2017-08-09T18:30:48
|
|
haiku: Fixed compiler warning.
|
|
03250690
|
2017-08-09T12:38:20
|
|
Added a private hint for Steam to bypass the controller filtering for the Steam virtual gamepad
|
|
f15dbc8f
|
2017-08-09T12:11:59
|
|
Fixed Linux build
|
|
c49fa37c
|
2017-08-09T11:59:29
|
|
Added SDL hints to filter the set of game controllers reported by SDL
|
|
dc400184
|
2017-08-09T11:58:38
|
|
Added an API SDL_LoadFile_RW() to load all the data from an SDL data stream, and a convenience macro SDL_LoadFile() to load all the data from a file.
|
|
a412ba0d
|
2017-08-09T01:01:41
|
|
haiku: Patched SDL_bopengl.cc to compile on x86-64 Haiku.
Fixes Bugzilla #3729.
|
|
d5215d9d
|
2017-08-09T00:56:05
|
|
Fixed up some compile warnings and errors on x86-64 Haiku.
|
|
64c29577
|
2017-08-09T00:55:27
|
|
Added a FIXME for 2.1 about an API change.
|
|
4e43c631
|
2017-08-08T20:38:23
|
|
Re-added missing entry for the Steam Virtual Gamepad (was Valve Streaming Gamepad)
|
|
ef54d5a8
|
2017-08-07T10:28:59
|
|
Fixed building on various versions of GCC - YUV MMX code is disabled for now
|
|
76306827
|
2017-08-07T00:36:45
|
|
README-linux.md: added libsndio-dev to the package list.
|
|
9dde37ea
|
2017-08-07T00:25:18
|
|
sndio: Fix for some platforms (Linux, for example) that don't define INFTIM.
Fixes Bugzilla #3712.
|
|
27de835d
|
2017-08-05T22:10:55
|
|
emscripten: Fixed compiler warnings about integer to pointer conversions.
Found by buildbot.
|
|
711df8a9
|
2017-08-05T22:10:48
|
|
emscripten: Fixed compiling without OpenGL support.
|
|
f216b446
|
2017-08-05T22:10:36
|
|
kmsdrm: Fixed crashes if allocating memory failed.
|
|
b8a7dd77
|
2017-08-05T22:10:25
|
|
nacl: Fixed freeing static memory on video quit.
|
|
1f698469
|
2017-08-05T22:10:15
|
|
mir: Removed unnecessary function declaration.
|
|
e9ae411a
|
2017-08-04T23:01:01
|
|
Updated generated configure script.
|
|
4723943b
|
2017-08-04T23:00:47
|
|
kmsdrm: Fixed compiling without OpenGL support.
|
|
8aa147fa
|
2017-08-04T23:00:30
|
|
Fixed compiler warnings about type conversions.
Found by buildbot.
|
|
a09efc73
|
2017-08-04T16:18:34
|
|
psp: Force audio channels to stereo if > 2 channels requested (thanks, Solra!).
Fixes Bugzilla #3726.
|
|
cc5ceb11
|
2017-08-04T13:06:56
|
|
Temporary hack to fix bug 3725 - Call made to glGetString before context creation
This breaks bugs 2570, 3145
|
|
56cab6d4
|
2017-08-03T09:48:44
|
|
Added a hint SDL_HINT_TOUCH_MOUSE_EVENTS to control whether touch events generate synthetic mouse events.
|
|
86e95a60
|
2017-08-02T17:45:15
|
|
kmsdrm: Fix tearing in neverputt/ball
https://gfycat.com/FatalFarawayHeron
|
|
c544d2b9
|
2017-08-02T23:42:08
|
|
Add support for Saitek P990 Dual Analog Pad
|
|
fca91451
|
2017-08-02T13:51:14
|
|
kmsdrm: Fix leaking SDL_VideoDevice*
|
|
9dbe5a96
|
2017-08-02T13:38:46
|
|
Fixed bug 3311 - Broken touch positions with SDL_RenderSetLogicalSize & HIGHDPI on iOS
Eric wing
Hi, I think I found a bug when using SDL_WINDOW_ALLOW_HIGHDPI with SDL_RenderSetLogicalSize on iOS. I use SDL_RenderSetLogicalSize for all my stuff. I just tried turning on SDL_WINDOW_ALLOW_HIGHDPI on iOS and suddenly all my touch/mouse positions are really broken/far-off-the-mark.
I actually don't have a real retina device (still) so I'm seeing this using the iOS simulator with a 6plus template.
Attached is a simple test program that can reproduce the problem. It uses RenderSetLogicalSize and draws some moving happy faces (to show the boundaries/space of the LogicalSize and that it is working correctly for that part).
When you click/touch, it will draw one more happy face where your button point is.
If you comment out SDL_WINDOW_ALLOW_HIGHDPI, everything works as expected. But if you compile with it in, the mouse coordinates seem really far off the mark. (Face appears far up and to the left.)
Alex Szpakowski on the mailing list suggests the problem is
"I believe this is a bug in SDL_Render?s platform-agnostic mouse coordinate scaling code. It assumes the units of the mouse coordinates are always in pixels, which isn?t the case where high-DPI is involved (regardless of whether iOS is used) ? they?re actually in ?DPI independent? coordinates (which matches the window size, but not the renderer output size)."
Additionally, if this is correct, the Mac under Retina is also probably affected too and "as well as any other platform SDL adds high-dpi support for in the future".
|
|
082f32d1
|
2017-08-02T10:28:13
|
|
Fixed bug 3722 - Fall back to xinerama/xvidmode if xrandr modes initialization fails
Levi Bard
In some environments, xrandr modes initialization can fail even though xrandr support is present and of a sufficient version.
(The one I encountered was an AWS instance running a virtual display)
The attached patch allows SDL to keep trying other methods if xrandr modes initialization fails (still subject to SDL_VIDEO_X11_REQUIRE_XRANDR).
|
|
4be06670
|
2017-08-02T10:24:47
|
|
Fixed potential free of uninitialized memory (thanks Simon!)
|
|
56363ebf
|
2017-08-02T10:22:48
|
|
Fixed bug 3690 - SDL2 KMS/DRM render context support
Manuel
The attached patch adds support for KMS/DRM context graphics.
It builds with no problem on X86_64 GNU/Linux systems, provided the needed libraries are present, and on ARM GNU/Linux systems that have KMS/DRM support and a GLES2 implementation.
Tested on Raspberry Pi: KMS/DRM is what the Raspberry Pi will use as default in the near future, once the propietary DispmanX API by Broadcom is overtaken by open graphics stack, it's possible to boot current Raspbian system in KMS mode by adding "dtoverlay=vc4-kms-v3d" to config.txt on Raspbian's boot partition.
X86 systems use KMS right away in every current GNU/Linux system.
Simple build instructions:
$./autogen.sh
$./configure --enable-video-kmsdrm
$make
|
|
997c69b9
|
2017-08-01T20:16:10
|
|
Fixed bug 3697 - Main thread gets stuck on left mouse down
Eric Wasylishen
I think I found a better fix.
The problem with https://hg.libsdl.org/SDL/rev/ebdc0738b1b5 is setting the styleMask to 0 clears the NSWindowStyleMaskFullScreen bit, which then confuses Cocoa later when you try to leave fullscreen. Instead I'm just clearing the NSWindowStyleMaskResizable bit, although SetWindowStyle(window, NSWindowStyleMaskFullScreen); seems to also work.
|
|
6391cc3f
|
2017-08-01T20:09:23
|
|
Backed out changeset ebdc0738b1b5 for bug 3697
Eric Wasylishen
Unfortunately this commit seems to have broken exiting desktop-fullscreen.
- Launch testgl2.
- Press alt+enter to go fullscreen-desktop
- Press alt+enter again. The spinning cube will freeze, and the window stays fullscreen desktop.
|
|
e10a98d2
|
2017-07-31T12:57:15
|
|
Fixed bug 3720 - SDL_GL_GetAttribute doesn't check for initialized video driver
Simon Hug
SDL_GL_GetAttribute doesn't check if a video driver has been initialized and will access the SDL_VideoDevice pointer, which is NULL at that point.
I think all of the attributes require an initialized driver, so a simple NULL check should fix it. Patch is attached.
|
|
2ffd6d02
|
2017-07-31T13:49:22
|
|
x11: Make a separate unmapped window to own clipboard selections.
Now the clipboard isn't lost if you destroy a specific SDL_Window, as it
works on other platforms. You will still lose the clipboard data on
SDL_Quit() or process termination, but that's X11 for you; run a
Clipboard Manager daemon.
Fixes Bugzilla #3222.
Fixes Bugzilla #3718.
|
|
ee3f11d5
|
2017-07-30T14:36:01
|
|
Disable static builds for static analysis.
There's really no sense in analyzing everything twice, and this makes the
job finish significantly faster.
|
|
1f016d45
|
2017-07-30T14:09:18
|
|
windows-buildbot-zipper.bat: Check the correct path.
|
|
8efe9cea
|
2017-07-30T10:09:34
|
|
Buildbot should zip up Visual Studio Win64 binaries, too.
|
|
2f74dc9e
|
2017-07-29T23:00:54
|
|
Fixed typos in shape header.
|
|
68ca9d9e
|
2017-07-29T23:00:45
|
|
qnx: Fixed error message.
|
|
cea33bf5
|
2017-07-29T23:00:34
|
|
aix: Removed unused local variable.
Found by Cppcheck.
|
|
84aeab17
|
2017-07-29T23:00:14
|
|
haiku: Changed header paths to be more compatible.
|
|
be005b7c
|
2017-07-28T12:00:10
|
|
evdev: Fix 'Syscall param ioctl(TIOCLINUX) points to uninitialised byte'
https://pastebin.com/raw/tQjG0kG0
|
|
77ca0f27
|
2017-07-27T22:55:18
|
|
Fixed crash if the WASAPI audio device couldn't be recovered
|
|
4a734209
|
2017-07-27T22:52:19
|
|
Fixed infinite recursion if the WASAPI audio device couldn't be recovered
|
|
b0b481d7
|
2017-07-27T08:03:11
|
|
[mir] Same no need to wrap this, which is already being done
|
|
f033ce61
|
2017-07-27T02:41:58
|
|
Fixed typo in WASAPI shutdown code
|
|
ecf9f6a1
|
2017-07-26T18:10:45
|
|
[mir] Point to SDL_EGL_UnloadLibrary vs doing it our selfs
|
|
18f2b27b
|
2017-07-26T13:54:11
|
|
Whoops, forgot to commit the actual fix. :)
|
|
7ecc48c3
|
2017-07-26T13:43:25
|
|
Disable MMX inline assembly on Clang for now.
We should probably rewrite this with SSE compiler intrinsics or something
anyhow.
|
|
03eaddca
|
2017-07-23T19:25:16
|
|
Fixed compiler warnings on QNX.
|
|
67754af8
|
2017-07-21T17:28:47
|
|
Fixed build on older Mac OS X SDKs
|
|
8ac17a2a
|
2017-07-20T20:40:17
|
|
sndio: fixed poll() call (thanks, kdrakehp!).
Fixes Bugzilla #3705.
|
|
ee9cc324
|
2017-07-20T18:16:02
|
|
sndio: More improvements to the OpenBSD audio target (thanks, kdrakehp!).
Fixes Bugzilla #3705.
|
|
177f19af
|
2017-07-20T10:52:43
|
|
Fixed bug 3410 - SDL_WINDOW_HIDDEN flag is inaccurate.
Jason Wyatt
After hiding the window, SDL_WINDOW_HIDDEN/SDL_WINDOW_SHOWN flags on a window are correctly updated. However on the next SDL_PumpEvents, they are set incorrectly.
This appears to be because X11_GetNetWMState does not check whether the _NET_WM_STATE property exists (it shouldn't on unmapped windows, see https://specifications.freedesktop.org/wm-spec/wm-spec-1.3.html#idm140130317598336). This results in an empty list of atoms for the state, which would imply that the window is not hidden.
(Seen on Fedora 24, Gnome)
--
Dan Ginsburg
More details on my proposed patch: I am on Kubuntu 16.04.2. I ran into this same bug, but with Jason's patch I found that actualType != None was true so the SDL_WINDOW_HIDDEN would still not be set. My fix instead is to explicitly check for whether the window is unmapped rather than relying on the returned values in XGetWindowProperty.
|
|
36998b82
|
2017-07-20T10:48:57
|
|
Fixed bug 3689 - MMX YUV renderer crash
felix
The functions in src/render/SDL_yuv_mmx.c contain the following inline assembly snippet:
/* tap dance to workaround the inability to use %%ebx at will... */
/* move one thing to the stack... */
"pushl $0\n" /* save a slot on the stack. */
"pushl %%ebx\n" /* save %%ebx. */
"movl %0, %%ebx\n" /* put the thing in ebx. */
"movl %%ebx,4(%%esp)\n" /* put the thing in the stack slot. */
"popl %%ebx\n" /* get back %%ebx (the PIC register). */
Here's how it ended up in a binary on my old laptop:
0xb5c17dbd <ColorRGBDitherYV12MMX1X+93>: push $0x0
0xb5c17dbf <ColorRGBDitherYV12MMX1X+95>: push %ebx
0xb5c17dc0 <ColorRGBDitherYV12MMX1X+96>: mov 0xc(%esp),%ebx
0xb5c17dc4 <ColorRGBDitherYV12MMX1X+100>: mov %ebx,0x4(%esp)
0xb5c17dc8 <ColorRGBDitherYV12MMX1X+104>: pop %ebx
Apparently the compiler, oblivious to the fact that the assembly snippet manipulates the %esp register, decided to refer to the operand via that same register instead of via %ebp (I believe -fomit-frame-pointer enables this). This causes %ebx to be loaded with the wrong value, which later leads to a null pointer dereference.
Recent GCC can use the %ebx register normally: <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47602#c16>. There is even an explicit constraint "b" for allocating it.
|
|
2008d866
|
2017-07-20T10:46:38
|
|
Fixed bug 3703 - Missing media keys support on Amazon Fire TV remote control
Holger Schemel
Summary: This patch adds support for key events for the "rewind" and "fast forward" media keys on the Amazon Fire TV remote control.
How to reproduce the problem: Run Android build of SDL2 application on the Amazon Fire TV (tested with "stick" version) and log key events.
Expected behaviour: Every key pressed on the Fire TV remote control should result in a corresponding key event (pressed/released).
Observed behaviour: Of the bottom row of buttons on the Fire TV remote control, only the "play/pause" (middle) button generates a key event, while the "rewind" (left) and "fast forward" (right) buttons to not generate any event at all.
The attached patch adds support for these two missing buttons/keys.
Note 1: Some missing definitions were added for the already existing key codes SDL_SCANCODE_APP1 and SDL_SCANCODE_APP2 (to keep up the correct order of enumerations / array positions when adding the two new key codes).
Note 2: Definitions in "scancodes_linux.h" and "scancodes_xfree86.h" (to also add support for these keys on other platforms) were added without testing. However, I was unable to find corresponding definitions for these two media keys for Windows and Mac OS X.
Note 3: I have also updated the (broken) link to the USB usage page standard PDF document (comment in "include/SDL_scancode.h").
|
|
2cc68064
|
2017-07-20T10:39:47
|
|
Fixed bug 3705 - Add capture support to the sndio backend
kdrakehp
The attached patch adds capture support to the sndio backend.
The patch also allows the `OpenDevice' function to accept arbitrary device names.
|
|
01050d4e
|
2017-07-15T17:41:58
|
|
iOS: Use modern replacements for deprecated functions, when available.
|
|
efe179cd
|
2017-07-14T17:42:11
|
|
macOS: Fix compilation when using 10.11 or earlier to build.
|
|
562473c1
|
2017-07-13T23:09:37
|
|
macOS: Address more compiler warnings when building with a recent deployment target.
|
|
bc3ede1e
|
2017-07-13T22:59:02
|
|
macOS: Replace uses of deprecated Cocoa enum names with modern/consistent equivalents.
|
|
e0ea4da4
|
2017-07-12T21:32:10
|
|
Fix a potential crash in macOS 10.7 and earlier.
|
|
8292d73e
|
2017-07-12T21:28:32
|
|
macOS: Expose more display modes on retina screens. Fixes an issue found in BZFlag.
|
|
49f846f1
|
2017-07-11T19:27:50
|
|
Added support for an XBox One wired controller for Leo L?nnenm?ki
|
|
74ca1654
|
2017-07-11T08:16:00
|
|
Fixed bug 3699 - Shaped windows are distorted unless width is divisible by 8
Bogomancer
On X11, windows created using the shaped window API appear distorted unless the width of the shape surface is divisible by 8.
Steps to reproduce:
1) Use your favorite image editor to resize one of the images in test/shapes/ to a width that's not a multiple of 8.
2) Compile and run test/testshape.c on the image you edited.
3) The shaped window will appear twisted and distorted.
It appears the bug was not caught sooner because all the test images are either 640 or 256 pixels wide.
I tracked down the bug to SDL_CalculateShapeBitmap() in SDL_shape.c. The shape surface is reduced to a 1-bit-per-pixel mask, but the original code doesn't take into account that X11 apparently wants each scanline to begin on a new byte.
|
|
34b29c6a
|
2017-07-10T18:40:35
|
|
Fixed bug 3688 - cmake / pthread check related patch proposal
Juha Niemim?ki
Fix for PTHREAD_MUTEX_RECURSIVE_NP check and restoring the original flags
Two fixes proposed:
1) Looks like there is a copy-paste issue regarding PTHREAD_MUTEX_RECURSIVE_NP check.
2) Compiler flag restoration doesn't look symmetrical regarding if/endif blocks. Moved to an outer block (if PTHREADS).
|
|
3c09265d
|
2017-07-10T18:31:28
|
|
Fixed bug 3609 - Windows build fails due to conflicting types for 'XINPUT_GAMEPAD_EX'
Ozkan Sezer
(In reply to Ryan C. Gordon from comment #9)
> I've put this patch in as https://hg.libsdl.org/SDL/rev/7213ae46e870 ...can
> you verify this works on the latest MinGW?
>
> Thanks,
> --ryan.
This patch is wrong: the structure in question has nothing to do with any
gcc version in use. I suggest reverting this adding a conigury check for
it, instead. Something like the following should do it: (configure needs
regenerating.)
|
|
cd79d8cc
|
2017-07-10T17:16:12
|
|
Fixed bug 3696 - SDL_ShowMessageBox displays different error from intended
Mark Callow
SDL_ShowMessageBox calls SDL_CaptureMouse which, in the UIKit driver, raises a ?That operation is not supported? error, overwriting the SDL error that an application may be trying to report.
This is because UIKit SDL_CaptureMouse returns SDL_Unsupported() which ends up calling SDL_SetError() which has the following code:
/* If we are in debug mode, print out an error message */
SDL_LogDebug(SDL_LOG_CATEGORY_ERROR, "%s", SDL_GetError());
The SDL_GetError call here overwrites the static buffer?..
Although an application can avoid this by using SDL_GetErrorMsg(char* errstr, int maxlen) to avoid the static buffer, SDL should be fixed.
The fix is simple. In SDL_SetError change
SDL_LogDebug(SDL_LOG_CATEGORY_ERROR, "%s", SDL_GetError());
to
SDL_LogDebug(SDL_LOG_CATEGORY_ERROR, "%s", error);
where error is the pointer to the buffer where it assembled the message.
|
|
37722d01
|
2017-07-10T17:07:19
|
|
Fixed bug 3697 - Main thread gets stuck on left mouse down
Amruth Raj
- My app runs in full screen to play video(I use SDL_WINDOW_FULLSCREEN_DESKTOP)
- Cmd-tab to go out of full screen to another app
- Cmd-tab again to get back to my app
- Press left mouse button at one of the edges of the screen, don't release yet.
After this point the main thread is stuck until I release the left mouse button and hence video rendering doesn't happen anymore.
On debugging more, I see that thread 0 is stuck as shown below with sendEvent processing left mouse down. It comes out only after it receives a left mouse up. There are some frames below which show NSWindowResizing, but my window flag doesn't have SDL_WINDOW_RESIZABLE set.
Thread 0:: CrBrowserMain Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fffbe13d34a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fffbe13c797 mach_msg + 55
2 com.apple.CoreFoundation 0x00007fffa889d434 __CFRunLoopServiceMachPort + 212
3 com.apple.CoreFoundation 0x00007fffa889c8c1 __CFRunLoopRun + 1361
4 com.apple.CoreFoundation 0x00007fffa889c114 CFRunLoopRunSpecific + 420
5 com.apple.HIToolbox 0x00007fffa7dfdebc RunCurrentEventLoopInMode + 240
6 com.apple.HIToolbox 0x00007fffa7dfdcf1 ReceiveNextEventCommon + 432
7 com.apple.HIToolbox 0x00007fffa7dfdb26 _BlockUntilNextEventMatchingListInModeWithFilter + 71
8 com.apple.AppKit 0x00007fffa6396a54 _DPSNextEvent + 1120
9 com.apple.AppKit 0x00007fffa6b127ee -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796
10 com.apple.AppKit 0x00007fffa66f568d +[NSWindow(NSWindowResizing) _mouseHysteresisCheck:withExpiration:andDistance:finalMouseLocation:] + 525
11 com.apple.AppKit 0x00007fffa65eedb5 -[NSWindow(NSWindowResizing) _hitTestWithHysteresisCheck:forEvent:allowWindowDragging:] + 394
12 com.apple.AppKit 0x00007fffa6c8f0db -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 1873
13 com.apple.AppKit 0x00007fffa6c8ca6c -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 1942
14 com.apple.AppKit 0x00007fffa6c8bf0a -[NSWindow(NSEventRouting) sendEvent:] + 541
15 org.libsdl.SDL2 0x000000010d46d74a -[SDLWindow sendEvent:] + 90
16 com.apple.AppKit 0x00007fffa6b10681 -[NSApplication(NSEvent) sendEvent:] + 1145
17 org.libsdl.SDL2 0x000000010d46532b -[SDLApplication sendEvent:] + 139
18 org.libsdl.SDL2 0x000000010d466b2f Cocoa_PumpEvents + 495
19 org.libsdl.SDL2 0x000000010d44c1d5 SDL_PumpEvents_REAL + 53
20 org.libsdl.SDL2 0x000000010d44c2f5 SDL_WaitEventTimeout_REAL + 53
21 org.libsdl.SDL2 0x000000010d44c2b7 SDL_PollEvent_REAL + 23
22 org.libsdl.SDL2 0x000000010d51bb24 SDL_PollEvent + 36
23 libTest.dylib 0x000000010cf3e0e8 SDLEventProcessor::processEvents(int) + 568
24 Test 0x000000010cde6bba BrowserApp::RunAppMessageLoop(BAInstData*, CefStringBase, CefStringBase) + 810
25 Test 0x000000010ce04bbc main + 17980
26 libdyld.dylib 0x00007fffbe016235 start + 1
I further noticed that while entering full screen in SDL_cocoawindow.m NSResizableWindowMask is set. If I clear it inside windowDidEnterFullScreen, then, the issue doesn't repro.
This is discussed at https://discourse.libsdl.org/t/main-thread-gets-stuck-on-left-mouse-down/22753/3 and thanks to Eric for the pointers.
|
|
66f072eb
|
2017-07-10T15:55:13
|
|
Updated Visual Studio 2008 project
|
|
88100237
|
2017-07-09T23:00:43
|
|
Updated generated configure script.
|
|
707ee5be
|
2017-07-09T23:00:35
|
|
Fixed typo in log message in testime program.
|
|
44246cda
|
2017-07-09T23:00:25
|
|
Fixed compiler warning about redundant declaration.
SDL_RecordGesture() is already in the gesture header with additional specifiers.
|
|
10764b20
|
2017-07-07T23:00:47
|
|
Fixed missing audio entries in configure summary.
|
|
c3bf69ca
|
2017-07-07T23:00:22
|
|
haiku: Fixed compiling without OpenGL support.
|