davidedmundson created this revision. davidedmundson added a reviewer: Plasma. Restricted Application added a project: Frameworks. Restricted Application added a subscriber: kde-frameworks-devel. davidedmundson requested review of this revision.
REVISION 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 REPOSITORY R127 KWayland REVISION DETAIL https://phabricator.kde.org/D13488 AFFECTED FILES src/client/CMakeLists.txt src/client/registry.cpp src/client/xdgshell_v5.cpp src/compat/wayland-xdg-shell-v5-client-protocol.h src/compat/wayland-xdg-shell-v5-protocol.c src/compat/wayland-xdg-shell-v5-server-protocol.h src/server/CMakeLists.txt src/server/xdgshell_v5_interface.cpp To: davidedmundson, #plasma Cc: kde-frameworks-devel, michaelh, ngraham, bruns