• Show log

    Commit

  • Hash : ed24c345
    Author : Ethan Lee
    Date : 2021-04-16T21:35:50

    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.
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/SDL.git
    Git SSH git@git.kmx.io:kc3-lang/SDL.git
    Public access ? public
    Description

    Fork of https://github.com/libsdl-org/SDL

    Users
    thodg_m kc3_lang_org thodg_w thodg_l www_kmx_io thodg
    Tags

  • README.md

  • 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)