Skip to content
  • David Edmundson's avatar
    Make XDGShellV5 co-compilable with XDGWMBase · 63bd1f44
    David Edmundson authored
    Summary:
    When we add WMBase (the new name stable XdgShell)  we get a clash with
    XDGShellV5. This clash consists of all functions in the generated C file
    which clashes at linker time, as well as multiple xdg_blah_interface
    structs which would get redefined.
    
    XDGShellV5 in practice is used by literally no-one (Qt never defaulted
    to it if wl-shell was available) and has been dropped from GTK when
    they added v6. But it's used by some kwin unit tests so breaking
    would cause issues for stable kwin release tests... so it's a pain.
    
    We can't mod the XML as we need the strings sent down the wire to remain
    the same and we need the same names for our forward declared structs
    that the client code can cast to.
    
    This patch copies the generated files and modifies them manually.
    Hacky, but we know this code will never change again - and IMHO this
    task isn't one worth investing too much time into.
    
    Test Plan:
    Finished my XDG WM Base patch (see next phab) and things compile \o/
    
    Unit test still passes
    
    Ran: QT_WAYLAND_SHELL_INTEGRATION=xdg-shell-v5 dolphin --platform wayland and verified it worked
    
    Reviewers: #plasma, romangg
    
    Reviewed By: #plasma, romangg
    
    Subscribers: romangg, kde-frameworks-devel
    
    Tags: #frameworks
    
    Differential Revision: https://phabricator.kde.org/D13488
    63bd1f44