Simple Directmedia Layer
Go to file
Ethan Lee ed24c3452a wayland: Implement basic window move events via wl_surface_listener.
This unearthed an unspeakably large amount of bugs in the wl_output enumerator,
notably the fact that the wl_output user pointer was to temporary memory!
This was "fixed" in e862856, and was then pointed out as a leak in 4183211,
which was undone in d9ba204. The busted fix was correct that the malloc was an
issue, but wrong about _why_; SDL_AddVideoDisplay copies by value and does not
reuse the pointer, so generally you want your VideoDisplay to be on the stack,
but of course the callbacks don't allow that, so a malloc was a workaround. But
we can do better and just host our temporary display inside WaylandOutputData
because that will be persistent while also not leaking.

Wait, wasn't I talking about move events? Right, that: wl_surface_listener does
at least give us the ability to know what monitor we're on, even though we have
no idea where we are on the monitor. All we need to do is check the wl_output
against the display list and then push a move event that both indicates the
correct display while also not being _too_ much of a lie (but enough of a lie
to where our event doesn't get discarded as "undefined" or whatever). The index
check for the video display is what spawned the great nightmare you see before
you; aside from the bugfix this is actually a really basic patch.
2021-04-16 21:12:02 -07:00
.github Delete gh-pages.yml 2021-04-01 16:36:06 -04:00
acinclude acinclude/libtool.m4: Apply macos11 patch from libtool bug #44605 2021-01-09 00:11:20 +03:00
android-project Added support for the wired Amazon Luna gamepad on Android 2021-03-26 15:07:10 -07:00
android-project-ant Added the old ant Android build project structure 2017-10-28 12:11:25 -07:00
build-scripts wikiheaders: fixed regex for converting markdown bold+italic to mediawiki. 2021-03-25 12:52:15 -04:00
cmake configure/cmake: Hook up Emscripten threads (disabled by default). 2021-04-04 00:16:30 -04:00
debian debian: Align to debian packaging scheme 2021-04-07 13:57:23 -07:00
docs Revert "Update wiki.libsdl.org urls to libsdl-org/SDL/wiki (#4069)" 2021-04-01 12:15:28 -04:00
include Android: add AAudio entry in CMake SDL_config 2021-04-16 13:04:36 +02:00
src wayland: Implement basic window move events via wl_surface_listener. 2021-04-16 21:12:02 -07:00
test bump minimum required autoconf version and revise autogen.sh 2021-04-14 23:20:40 +03:00
VisualC Added Stadia controller source file to Visual Studio and Xcode projects 2021-01-24 00:51:26 -05:00
VisualC-WinRT Add SDL_cond implementation using Windows Condition Variables 2020-12-28 11:43:11 -08:00
visualtest fix permissions of a few files 2021-02-22 15:44:32 +03:00
wayland-protocols wayland: Drop support for kwin specific decoration management 2021-04-07 13:54:07 -07:00
Xcode fix permissions of a few files 2021-02-22 15:44:32 +03:00
Xcode-iOS Added weak linking to hidapi framework 2020-11-17 10:29:36 -08:00
.gitignore git: Ignore debian generated files 2021-04-05 15:38:32 -04:00
Android.mk AAudio: add compilation to Android.mk, but not activated in SDL_config_android.h 2021-04-15 21:03:10 +02:00
autogen.sh bump minimum required autoconf version and revise autogen.sh 2021-04-14 23:20:40 +03:00
BUGS.txt Cleaned up a few more Bugzilla mentions. 2021-02-12 14:46:49 -05:00
cmake_uninstall.cmake.in Fixed bug 3867 - Can't find install_manifest.txt when running 'uninstall' target 2017-10-12 08:44:45 -07:00
CMakeLists.txt Android: enable audio driver OpenSLES when building with CMake 2021-04-16 09:44:07 +02:00
configure rename PKG_CONFIG_LIBS_PRIV to PKGCONFIG_LIBS_PRIV 2021-04-14 21:40:50 +03:00
configure.ac bump minimum required autoconf version and revise autogen.sh 2021-04-14 23:20:40 +03:00
CREDITS.txt Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
INSTALL.txt Fixed up legacy MoinMoin URLs at wiki.libsdl.org 2021-04-01 12:20:33 -04:00
LICENSE.txt license: Fixing the license file to be correctly scooped up by Github automation 2021-02-17 13:08:13 -05:00
Makefile.in SDL: Updated patches for HAIKU 2021-03-13 18:36:01 -08:00
Makefile.minimal Added a dummy sensor driver 2018-08-21 13:29:21 -07:00
Makefile.os2 old os2 analogue joystick code ported from SDL-1.2. disabled by default, 2021-01-24 00:51:25 -05:00
Makefile.pandora Added a dummy sensor driver 2018-08-21 13:29:21 -07:00
Makefile.psp added SDL_strtokr() as a replacement for POSIX strtok_r (bug #4046.) 2019-11-20 20:40:50 +03:00
Makefile.wiz Added a dummy sensor driver 2018-08-21 13:29:21 -07:00
README-SDL.txt More HTTPS changes in the documentation. 2017-02-16 16:52:03 -05:00
README.md Update and rename README.txt to README.md 2021-03-20 18:46:37 -04:00
sdl2-config-version.cmake.in cmake: Forgot to add this file to revision control. 2020-02-25 14:52:03 -05:00
sdl2-config.cmake.in build: Merge pkg-config Libs.private into Libs for static-only builds 2020-04-11 23:38:34 +01:00
sdl2-config.in build: Don't duplicate Libs in Libs.private in pkg-config file 2020-04-12 13:24:36 +01:00
sdl2.m4 acinclude & sdl2.m4 updates: 2020-12-22 17:00:28 +03:00
sdl2.pc.in rename PKG_CONFIG_LIBS_PRIV to PKGCONFIG_LIBS_PRIV 2021-04-14 21:40:50 +03:00
SDL2.spec.in license: Fixed references to COPYING.txt that are now LICENSE.txt. 2021-02-18 11:07:26 -05:00
SDL2Config.cmake Fixed bug 3651 - CMake build does not install CMake package configuration 2017-08-09 19:03:10 -07:00
TODO.txt Fixed up legacy MoinMoin URLs at wiki.libsdl.org 2021-04-01 12:20:33 -04:00
WhatsNew.txt Fixed the name of the PS5 hint 2020-12-09 10:39:36 -08:00

Simple DirectMedia Layer (SDL) Version 2.0

https://www.libsdl.org/

Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.

More extensive documentation is available in the docs directory, starting with README.md

Enjoy!

Sam Lantinga (slouken@libsdl.org)