Mon, 12 Nov 2018 19:23:49 -0800Fixed bug 4377 - SDL_PIXELFORMAT enum is anonymous, which prevents its use in a templated function default tip
Sam Lantinga <slouken@libsdl.org> [Mon, 12 Nov 2018 19:23:49 -0800] rev 12408
Fixed bug 4377 - SDL_PIXELFORMAT enum is anonymous, which prevents its use in a templated function

zen3d

While trying to build Pixie lisp (https://github.com/pixie-lang/pixie), which uses SDL for multimedia output, the mandelbrot example won't build. The problem is that internally pixie uses a templated function to dump a value, and gcc chokes because SDL_PIXELFORMAT_RGA8888 is an anonymous enum.

I solved the problem locally by changing from:
enum {
SDL_PIXELFORMAT_UNKNOWN,
... etc. ...
SDL_PIXELFORMAT_YUYV = ... etc ...
};
to:
typedef enum {
SDL_PIXELFORMAT_UNKNOWN,
... etc. ...
SDL_PIXELFORMAT_YUYV = ... etc ...
} SDL_PIXELFORMAT_ENUM;
The net result of this change is that the enum containing SDL_PIXELFORMAT_* is no longer an anonymous enum and can now be used by a templated function.

This local change fixes Pixie lisp for me.

I did notice that you use the idiom
typedef enum {
... etc ...
} SDL_FOO;
elsewhere in your code, so that change to SDL_PIXELFORMAT doesn't look like it would have a negative impact.

Mon, 12 Nov 2018 16:42:49 -0800Fixed bug 4366 - Compile throws a warning on RPI (Raspbian Stretch)
Sam Lantinga <slouken@libsdl.org> [Mon, 12 Nov 2018 16:42:49 -0800] rev 12407
Fixed bug 4366 - Compile throws a warning on RPI (Raspbian Stretch)

midwan

When trying to compile on a Raspberry Pi 3, running Raspbian Stretch (fully updated), a warning appears:

/home/pi/projects/SDL/src/test/SDL_test_memory.c: In function ‘SDL_TrackAllocation’:
/home/pi/projects/SDL/src/test/SDL_test_memory.c:112:109: warning: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 5 has type ‘unw_word_t {aka unsigned int}’ [-Wformat=]
snprintf(entry->stack_names[stack_index], sizeof(entry->stack_names[stack_index]), "%s+0x%llx", sym, offset);

Mon, 12 Nov 2018 16:34:58 -0800Fixed bug 4367 - compatibility version decreased between 2.0.8 and 2.0.9
Sam Lantinga <slouken@libsdl.org> [Mon, 12 Nov 2018 16:34:58 -0800] rev 12406
Fixed bug 4367 - compatibility version decreased between 2.0.8 and 2.0.9

Joshua Root

The change resulting from Bug 4208 changed the compatibility_version of libSDL2 from 9.0.0 to 1.0.0. This is simply wrong.

This means that programs linked against 2.0.9 are considered by the dynamic linker to be compatible with all previous versions of libSDL2. This is not the case since new public symbols have been added.

The way compatibility_version and current_version are meant to work is:
* current_version increases every time the library changes in any way.
* compatibility_version is increased to match current_version whenever new public symbols are added.

Thus both versions should only ever increase. The solution to the Xcode project and autotools not having matching versions should have been to increase the version(s) in the Xcode project.

Reference: https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/VersionInformation.html

Sat, 10 Nov 2018 20:56:23 -0400cocoa: fix building with the macOS 10.7 SDK (thanks Riccardo!)
Alex Szpakowski <slime73@gmail.com> [Sat, 10 Nov 2018 20:56:23 -0400] rev 12405
cocoa: fix building with the macOS 10.7 SDK (thanks Riccardo!)

Fixes bug #4368

Sat, 10 Nov 2018 16:15:48 -0400Add SDL_TouchDeviceType enum and SDL_GetTouchDeviceType(SDL_TouchID id).
Alex Szpakowski <slime73@gmail.com> [Sat, 10 Nov 2018 16:15:48 -0400] rev 12404
Add SDL_TouchDeviceType enum and SDL_GetTouchDeviceType(SDL_TouchID id).

Touch device types include SDL_TOUCH_DEVICE_DIRECT (a touch screen with window-relative coordinates for touches), SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE (a trackpad-style device with absolute device coordinates), and SDL_TOUCH_DEVICE_INDIRECT_RELATIVE (a trackpad-style device with screen cursor-relative coordinates).

Phone screens are an example of a direct device type. Mac trackpads are the indirect-absolute touch device type. The Apple TV remote is an indirect-relative touch device type.

Wed, 07 Nov 2018 07:52:39 -0800Used confflags +=, so each option can be enabled individually, if desired
Sam Lantinga <slouken@libsdl.org> [Wed, 07 Nov 2018 07:52:39 -0800] rev 12403
Used confflags +=, so each option can be enabled individually, if desired

Wed, 07 Nov 2018 07:38:11 -0800The Debian maintainers aren't using these rules, so enable dynamic loading of shared libraries by default for the Steam Linux Runtime
Sam Lantinga <slouken@libsdl.org> [Wed, 07 Nov 2018 07:38:11 -0800] rev 12402
The Debian maintainers aren't using these rules, so enable dynamic loading of shared libraries by default for the Steam Linux Runtime

Tue, 06 Nov 2018 16:57:07 -0800Added Vulkan headers version 1.1.91
Sam Lantinga <slouken@libsdl.org> [Tue, 06 Nov 2018 16:57:07 -0800] rev 12401
Added Vulkan headers version 1.1.91
Downloaded from https://github.com/KhronosGroup/Vulkan-Headers

Wed, 07 Nov 2018 01:08:35 +0100wayland: fix resizing and fullscreen toggling
Sebastian Krzyszkowiak <dos@dosowisko.net> [Wed, 07 Nov 2018 01:08:35 +0100] rev 12400
wayland: fix resizing and fullscreen toggling
For starters, we need to correctly respond to 0,0 configure after unsetting
fullscreen. Also, turns out that there should be no drawing calls at all
in between eglSwapBuffers and wl_egl_window_resize, as otherwise EGL can
already allocate a wrongly sized buffer for a next frame, so handle those
together.

Tue, 06 Nov 2018 23:45:50 +0300close_code.h: #error if included without matching begin_code.h
Ozkan Sezer <sezeroz@gmail.com> [Tue, 06 Nov 2018 23:45:50 +0300] rev 12399
close_code.h: #error if included without matching begin_code.h