From 133e1ae81dd47b7243859695e6a53f7ba36ecdc9 Mon Sep 17 00:00:00 2001 From: Ferdinand Schober Date: Sun, 21 Jun 2026 19:04:49 +0200 Subject: [PATCH] hotfix: plasma 6.7 reporting Barrier ID 1 Still not 100% sure of the root cause, but it looks like plasma is reporting 1 as the barrier id in all cases... --- input-capture/src/libei.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/input-capture/src/libei.rs b/input-capture/src/libei.rs index 42b8fbe..f7520cd 100644 --- a/input-capture/src/libei.rs +++ b/input-capture/src/libei.rs @@ -413,7 +413,15 @@ async fn do_capture_session( }; // find client corresponding to barrier - let pos = *pos_for_barrier_id.get(&barrier_id).expect("invalid barrier id"); + let pos = match pos_for_barrier_id.get(&barrier_id) { + Some(id) => *id, + None => { + log::warn!("INVALID BARRIER ID: Id {barrier_id} does not exist!"); + let id = find_corresponding_client(&barriers, activated.cursor_position().expect("no cursor position reported by compositor")); + let pos = *pos_for_barrier_id.get(&id).expect("invalid barrier id"); + pos + }, + }; current_pos.replace(Some(pos)); // client entered => send event