Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git
PointerConstraint: remove overly tight assert
This assert is incorrect if Xwayland is enabled and an Override Redirect
window steals the keyboard focus from the parent surface.
It also seems likely to be hit if a Wayland client attempts to use a
pointer constraint on a subsurface. I don't think a pointer constraint
on a subsurface is likely to work entirely correctly and I don't know of
any Wayland clients that try such a thing. We can't let them crash river
by trying though.
river/PointerConstraint.zig | 2 --
1 file changed, 2 deletions(-)
diff --git a/river/PointerConstraint.zig b/river/PointerConstraint.zig
index e833ee8..654debe 100644
--- a/river/PointerConstraint.zig
+++ b/river/PointerConstraint.zig
@@ -105,8 +105,6 @@ pub fn maybeActivate(constraint: *PointerConstraint) void {
pub fn updateState(constraint: *PointerConstraint) void {
const seat: *Seat = @ptrFromInt(constraint.wlr_constraint.seat.data);
- assert(seat.wlr_seat.keyboard_state.focused_surface == constraint.wlr_constraint.surface);
-
constraint.maybeActivate();
if (constraint.state != .active) return;