diff --git a/src/threaded.rs b/src/threaded.rs index 8a06ffd..fb63e73 100644 --- a/src/threaded.rs +++ b/src/threaded.rs @@ -667,7 +667,9 @@ fn implement_seat( } } else if let Some(pointer) = pointer.take() { // Release old pointer - pointer.release(); + if pointer.as_ref().version() >= 3 { + pointer.release(); + } } if capabilities.contains(Capability::Keyboard) { @@ -731,7 +733,9 @@ fn implement_seat( } } else if let Some(keyboard) = keyboard.take() { // Release old keyboard - keyboard.release(); + if keyboard.as_ref().version() >= 3 { + keyboard.release(); + } } } _ => (),