<table><tr><td style="">davidedmundson created this revision.<br />davidedmundson added a reviewer: Plasma.<br />Restricted Application added a project: Frameworks.<br />Restricted Application added a subscriber: kde-frameworks-devel.<br />davidedmundson requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D13488">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>When we add WMBase (the new name stable XdgShell)  we get a clash with<br />
XDGShellV5. This clash consists of all functions in the generated C file<br />
which clashes at linker time, as well as multiple xdg_blah_interface<br />
structs which would get redefined.</p>

<p>XDGShellV5 in practice is used by literally no-one (Qt never defaulted<br />
to it if wl-shell was available) and has been dropped from GTK when<br />
they added v6. But it's used by some kwin unit tests so breaking<br />
would cause issues for stable kwin release tests... so it's a pain.</p>

<p>We can't mod the XML as we need the strings sent down the wire to remain<br />
the same and we need the same names for our forward declared structs<br />
that the client code can cast to.</p>

<p>This patch copies the generated files and modifies them manually.<br />
Hacky, but we know this code will never change again - and IMHO this<br />
task isn't one worth investing too much time into.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Finished my XDG WM Base patch (see next phab) and things compile \o/</p>

<p>Unit test still passes</p>

<p>Ran: QT_WAYLAND_SHELL_INTEGRATION=xdg-shell-v5 dolphin --platform wayland and verified it worked</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R127 KWayland</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D13488">https://phabricator.kde.org/D13488</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/client/CMakeLists.txt<br />
src/client/registry.cpp<br />
src/client/xdgshell_v5.cpp<br />
src/compat/wayland-xdg-shell-v5-client-protocol.h<br />
src/compat/wayland-xdg-shell-v5-protocol.c<br />
src/compat/wayland-xdg-shell-v5-server-protocol.h<br />
src/server/CMakeLists.txt<br />
src/server/xdgshell_v5_interface.cpp</div></div></div><br /><div><strong>To: </strong>davidedmundson, Plasma<br /><strong>Cc: </strong>kde-frameworks-devel, michaelh, ngraham, bruns<br /></div>