diff --git a/crates/gpui/src/platform/linux/wayland/client.rs b/crates/gpui/src/platform/linux/wayland/client.rs index 0255dd8776c6ca19599f4500a87308c177b7eba7..80da04794a5071f83bba5ca9f1af5423da05fa21 100644 --- a/crates/gpui/src/platform/linux/wayland/client.rs +++ b/crates/gpui/src/platform/linux/wayland/client.rs @@ -1498,7 +1498,13 @@ impl Dispatch for WaylandClientStatePtr { state.enter_token = None; } if let Some(style) = state.cursor_style { - if let Some(cursor_shape_device) = &state.cursor_shape_device { + if let CursorStyle::None = style { + let wl_pointer = state + .wl_pointer + .clone() + .expect("window is focused by pointer"); + wl_pointer.set_cursor(serial, None, 0, 0); + } else if let Some(cursor_shape_device) = &state.cursor_shape_device { cursor_shape_device.set_shape(serial, style.to_shape()); } else { let scale = window.primary_output_scale();