Wed, 20 Nov 2019 20:27:45 -0800Use stat() to minimize input device opens when not using udev
Cameron Gutman [Wed, 20 Nov 2019 20:27:45 -0800] rev 13310
Use stat() to minimize input device opens when not using udev

Calling open() on input devices can generate device I/O which blocks
the main thread and causes dropped frames. Using stat() we can avoid
opening anything unless /dev/input has changed since we last polled.

We could have used something fancy like inotify, but it didn't seem
worth the added complexity for this uncommon non-udev case.

Tue, 03 Dec 2019 07:12:55 -0800Fixed bug 4877 - Add support for loading menus from a nib/xib instead of building a hardcoded minimum set
Sam Lantinga [Tue, 03 Dec 2019 07:12:55 -0800] rev 13309
Fixed bug 4877 - Add support for loading menus from a nib/xib instead of building a hardcoded minimum set

Eric Shepherd

Currently, SDL on Cocoa macOS creates a rudimentary menu bar programmatically if none is already present when the app is registered during setup.

SDL could be much more easily and flexibly used on macOS if upon finding that no menus are currently in place, it first looked for the application's main menu nib or xib file and, if found, loaded that instead of programmatically building the menus.

This would then let developers simply drop in a nib file with a menu bar defined in it and it would be installed and used automatically.

Attached is a patch that does just this. It changes the SDL_cocoaevents.m file to:

* In Cocoa_RegisterApp(), before calling CreateApplicationMenus(), it calls a new function, LoadMainMenuNibIfAvailable(), which attempts to load and install the main menu nib file, using the nib name fetched from the Info.plist file. If that succeeds, LoadMainMenuNibIfAvailable() returns true; otherwise false.
* If LMMNIA() returns false, CreateApplicationMenus() is called to programmatically build the menus as before.
* Otherwise, we're done, and using the menus from the nib/xib file!

I made these changes to support a project I'm working on, and felt they were useful enough to be worth offering them for uplift. They should have zero impact on existing projects' behavior, but make Cocoa SDL development miles easier.

Tue, 03 Dec 2019 03:53:06 -0500pulseaudio: don't let FlushCapture get stuck in an infinite loop on shutdown.
Ryan C. Gordon [Tue, 03 Dec 2019 03:53:06 -0500] rev 13308
pulseaudio: don't let FlushCapture get stuck in an infinite loop on shutdown.

Fixes Bugzilla #4645.

Tue, 03 Dec 2019 03:07:34 -0500direct3d11: Fixed incorrect texture coordinates (thanks, Martin!).
Ryan C. Gordon [Tue, 03 Dec 2019 03:07:34 -0500] rev 13307
direct3d11: Fixed incorrect texture coordinates (thanks, Martin!).

Fixes Bugzilla #4860.

Tue, 03 Dec 2019 02:49:01 -0500haiku: Disable pointer history
Gerasim Troeglazov [Tue, 03 Dec 2019 02:49:01 -0500] rev 13306
haiku: Disable pointer history

(note from PulkoMandy on Bugzilla #4442 about why this is a desirable patch:
"The event mask: note that the window and GL view run in their own thread
which I don't expect to be too much CPU bound, and will quickly pop these
messages and forward them to the main thread in our SDL code. Therefore the
B_NO_POINTER_HISTORY should be no problem, and is the default on Haiku
anyway (it was not in BeOS, but we changed that and added a
B_FULL_POINTER_HISTORY flag to request the old behavior explicitly). So, this
seems fine.")

Partially fixes Bugzilla #4442.

Tue, 03 Dec 2019 02:42:53 -0500cmake: ${SDL_CMAKE_DEBUG_POSTFIX} needs to be wrapped in quotes.
Ryan C. Gordon [Tue, 03 Dec 2019 02:42:53 -0500] rev 13305
cmake: ${SDL_CMAKE_DEBUG_POSTFIX} needs to be wrapped in quotes.

Otherwise, if it's an empty string, it causes problems.

Fixes Bugzilla #4117.

Thu, 28 Nov 2019 14:23:24 -0800Updated DPAD binding for 8Bitdo Zero controller
Sam Lantinga [Thu, 28 Nov 2019 14:23:24 -0800] rev 13304
Updated DPAD binding for 8Bitdo Zero controller

Thu, 28 Nov 2019 11:44:17 -0800Fixed trying to use the HIDAPI driver for the original Xbox One S Bluetooth controller
Sam Lantinga [Thu, 28 Nov 2019 11:44:17 -0800] rev 13303
Fixed trying to use the HIDAPI driver for the original Xbox One S Bluetooth controller

Thu, 28 Nov 2019 11:44:15 -0800Fixed mapping controllers that have axes that start at -32768 and then snap to 0 at the first input report
Sam Lantinga [Thu, 28 Nov 2019 11:44:15 -0800] rev 13302
Fixed mapping controllers that have axes that start at -32768 and then snap to 0 at the first input report

Thu, 28 Nov 2019 10:04:05 -0800Added support for the 8Bitdo SN30 Pro, wired connection
Sam Lantinga [Thu, 28 Nov 2019 10:04:05 -0800] rev 13301
Added support for the 8Bitdo SN30 Pro, wired connection