Smithay / smithay

A smithy for rusty wayland compositors
MIT License
1.9k stars 167 forks source link

With multiple subsurface, only last created (topmost) subsurface and parent get pointer input #1352

Closed ids1024 closed 7 months ago

ids1024 commented 8 months ago

This issue occurs in Anvil or cosmic-comp, and probably other compositors.

Window::surface_under calls under_from_surface_tree, which uses from_surface_downward. Then:

So there seem there are two issues here:

Not sure how correct the other functions dealing with the surface tree are. More testing could be helpful; not sure what tests wlcs has for that.

Drakulix commented 8 months ago

Working on a fix right now, under_from_surface_tree simply shouldn't handle everything in the filter, but use the processor properly.

children contains the surface itself, so no this is otherwise right, the handling in the filter just breaks the order.