D13488: Make XDGShellV5 co-compilable with XDGWMBase
davidedmundson added a comment. It was an exported symbol, but the relevant header was never exposed REPOSITORY R127 KWayland REVISION DETAIL https://phabricator.kde.org/D13488 To: davidedmundson, #plasma, romangg Cc: rikmills, romangg, kde-frameworks-devel, michaelh, ngraham, bruns
D13488: Make XDGShellV5 co-compilable with XDGWMBase
rikmills added a comment. In libkf5waylandclient5 and libkf5waylandserver5 I see the previously emitted symbol xdg_shell_interface@Base is now reported as MISSING. Can you confirm this is private and/or not an ABI break? Build symbols output: https://paste.kde.org/pfpkps1mb#line-109 REPOSITORY R127 KWayland REVISION DETAIL https://phabricator.kde.org/D13488 To: davidedmundson, #plasma, romangg Cc: rikmills, romangg, kde-frameworks-devel, michaelh, ngraham, bruns
D13488: Make XDGShellV5 co-compilable with XDGWMBase
This revision was automatically updated to reflect the committed changes. Closed by commit R127:63bd1f441644: Make XDGShellV5 co-compilable with XDGWMBase (authored by davidedmundson). REPOSITORY R127 KWayland CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D13488?vs=37034&id=37871 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, romangg Cc: romangg, kde-frameworks-devel, michaelh, ngraham, bruns
D13488: Make XDGShellV5 co-compilable with XDGWMBase
romangg accepted this revision. This revision is now accepted and ready to land. REPOSITORY R127 KWayland BRANCH master REVISION DETAIL https://phabricator.kde.org/D13488 To: davidedmundson, #plasma, romangg Cc: romangg, kde-frameworks-devel, michaelh, ngraham, bruns
D13488: Make XDGShellV5 co-compilable with XDGWMBase
davidedmundson updated this revision to Diff 37034. davidedmundson added a comment. update REPOSITORY R127 KWayland CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D13488?vs=36029&id=37034 BRANCH master 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: romangg, kde-frameworks-devel, michaelh, ngraham, bruns
D13488: Make XDGShellV5 co-compilable with XDGWMBase
davidedmundson added a dependent revision: D13530: Add XDG WmBase support. REPOSITORY R127 KWayland REVISION DETAIL https://phabricator.kde.org/D13488 To: davidedmundson, #plasma Cc: romangg, kde-frameworks-devel, michaelh, ngraham, bruns
D13488: Make XDGShellV5 co-compilable with XDGWMBase
romangg added inline comments. INLINE COMMENTS > xdgshell_v5.cpp:36 > public: > -void setupV5(xdg_shell *shell) override; > +void setupV5(xdg_shell *shell); > void release() override; This should be still an override. > wayland-xdg-shell-v5-client-protocol.h:1 > +/* Generated by wayland-scanner 1.14.0 */ > + Is this file not also changed like the other ones? REPOSITORY R127 KWayland REVISION DETAIL https://phabricator.kde.org/D13488 To: davidedmundson, #plasma Cc: romangg, kde-frameworks-devel, michaelh, ngraham, bruns
D13488: Make XDGShellV5 co-compilable with XDGWMBase
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