Random places for the wl_interface is taken during application start
Don't know where to report this one, but let me know if there better place.
I have played around wayland protocols + kwin + qt5-wayland to add yet another function to the wl_output protocol(just to understand how it works). And when I added to each wayland.xml my super cool function, I've caught a error for the Qt clients, that can't start anymore because of
interface 'wl_output' has no event 6
I waste some time to get understand what is going on here. I'm surprisingly realize that is nothing wrong with my new function, because if I drop an already exist one - it still presents in the protocol. So I wen't to the libwayland and start put some more logging in there(WAYLAND_DEBUG isn't help me with that).
After a while I got the problem: during loading a bunch of random libraries that already has builtin some generated wayland stuf, the runtime linker is bind wl_interface not from libQt5WaylandClient.so library, but from libKF5GuiAddons.so! And as it's library is nothing known about my new super cool function - it doesn't have that one in the interface. I logged pointers addresses and find out where it's coming from. My wl_output interface was coming from libKF5GuiAddons.so. And after I have rebuilt this one - the error was gone.
I think this is not really good and can confuse sometime very hard. Why generated per-library wayland interfaces is exports to outside? Is this necessary for somewhat, or just a bug^W feature?
Create interface wl_output, interface events count: 6, 0x7ffff72b9840 -- **taken not from libQt5WaylandClient.so, but it should**
0x7ffff72b8000 0x7ffff72bd000 0x5000 0x39000 r--p /usr/lib/libKF5GuiAddons.so.5.107.0
Create interface zxdg_output_v1, interface events count: 5, 0x7ffff4917b40 -- **this one is fine**
0x7ffff4915000 0x7ffff4922000 0xd000 0x14a000 r--p /usr/lib/libQt5WaylandClient.so.5.15.10