You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Oh! this is an interesting one. Thanks for the nice simple reproducer, and sorry it took me so long to get to.
Normally GTK makes sure popups are unmapped before parents. However we need to delete our Wayland objects before the GTK unmap handler runs (or else we get a different protocol error), so we override it to do our stuff first. This causes us to unmap parents before children, causing this problem.
There's not an obvious way to let GTK handle unmapping children, so instead I opted to keep a list of children and handle unmapping myself. This adds a little complexity but seems to work.
With some improvements to the integration test system I managed to add a test for this bug, so that should keep it from popping up again.
If the window is not layer-shell, GTK displays a warning, but this does not cause a protocol error.
Code to reproduce the issue:
Steps to reproduce the issue:
I get these logs in labwc, but it crashes with any compositor:
If you comment out the layer-shell part in the code above, it doesn't crash and here are the logs:
gtk-layer-shell 0.8.2
gtk 3.24.41
The text was updated successfully, but these errors were encountered: