diff --git a/Cargo.lock b/Cargo.lock index e79584c8..0353933d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1722,9 +1722,9 @@ dependencies = [ [[package]] name = "input" -version = "0.9.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbdc09524a91f9cacd26f16734ff63d7dc650daffadd2b6f84d17a285bd875a9" +checksum = "f9793345a65d71317763a33066b5d8351f8760dde8d4930fe9e39b5f14a7959d" dependencies = [ "bitflags 2.11.0", "input-sys", @@ -1735,9 +1735,9 @@ dependencies = [ [[package]] name = "input-sys" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd4f5b4d1c00331c5245163aacfe5f20be75b564c7112d45893d4ae038119eb0" +checksum = "36eee07d8e02bd95bf52b2e642cf13d33701b94c6e4b04fbf1d1fb07e9cb19e7" [[package]] name = "insta" @@ -3470,7 +3470,7 @@ checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" [[package]] name = "smithay" version = "0.7.0" -source = "git+https://github.com/Smithay/smithay.git?rev=dce4d34e7421559b661af9c519904f4b24346148#dce4d34e7421559b661af9c519904f4b24346148" +source = "git+https://github.com/Smithay/smithay.git?rev=dba255cd18c1a808c85a1d1144ad48e0b3f44b8f#dba255cd18c1a808c85a1d1144ad48e0b3f44b8f" dependencies = [ "aliasable", "appendlist", @@ -3545,7 +3545,7 @@ dependencies = [ [[package]] name = "smithay-drm-extras" version = "0.1.0" -source = "git+https://github.com/Smithay/smithay.git?rev=dce4d34e7421559b661af9c519904f4b24346148#dce4d34e7421559b661af9c519904f4b24346148" +source = "git+https://github.com/Smithay/smithay.git?rev=dba255cd18c1a808c85a1d1144ad48e0b3f44b8f#dba255cd18c1a808c85a1d1144ad48e0b3f44b8f" dependencies = [ "drm", "libdisplay-info", @@ -4120,9 +4120,9 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa75f400b7f719bcd68b3f47cd939ba654cedeef690f486db71331eec4c6a406" +checksum = "2857dd20b54e916ec7253b3d6b4d5c4d7d4ca2c33c2e11c6c76a99bd8744755d" dependencies = [ "cc", "downcast-rs", @@ -4134,9 +4134,9 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.13" +version = "0.31.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab51d9f7c071abeee76007e2b742499e535148035bb835f97aaed1338cf516c3" +checksum = "645c7c96bb74690c3189b5c9cb4ca1627062bb23693a4fad9d8c3de958260144" dependencies = [ "bitflags 2.11.0", "rustix 1.1.4", @@ -4157,9 +4157,9 @@ dependencies = [ [[package]] name = "wayland-cursor" -version = "0.31.13" +version = "0.31.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b3298683470fbdc6ca40151dfc48c8f2fd4c41a26e13042f801f85002384091" +checksum = "4a52d18780be9b1314328a3de5f930b73d2200112e3849ca6cb11822793fb34d" dependencies = [ "rustix 1.1.4", "wayland-client", @@ -4168,9 +4168,9 @@ dependencies = [ [[package]] name = "wayland-egl" -version = "0.32.10" +version = "0.32.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "429e5852d67d4be674b0e413962186b5115f77012e765617ee97b6480d5d6ea7" +checksum = "9b97bdb7c49e5bd9b7562f38ff84f0dad47079fdc9e926f691a787f6dbc05451" dependencies = [ "wayland-backend", "wayland-sys", @@ -4178,9 +4178,9 @@ dependencies = [ [[package]] name = "wayland-protocols" -version = "0.32.11" +version = "0.32.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b23b5df31ceff1328f06ac607591d5ba360cf58f90c8fad4ac8d3a55a3c4aec7" +checksum = "563a85523cade2429938e790815fd7319062103b9f4a2dc806e9b53b95982d8f" dependencies = [ "bitflags 2.11.0", "wayland-backend", @@ -4191,9 +4191,9 @@ dependencies = [ [[package]] name = "wayland-protocols-misc" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "429b99200febaf95d4f4e46deff6fe4382bcff3280ee16a41cf887b3c3364984" +checksum = "6e9567599ef23e09b8dad6e429e5738d4509dfc46b3b21f32841a304d16b29c8" dependencies = [ "bitflags 2.11.0", "wayland-backend", @@ -4217,9 +4217,9 @@ dependencies = [ [[package]] name = "wayland-protocols-wlr" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78248e4cc0eff8163370ba5c158630dcae1f3497a586b826eca2ef5f348d6235" +checksum = "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234" dependencies = [ "bitflags 2.11.0", "wayland-backend", @@ -4231,9 +4231,9 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.31.9" +version = "0.31.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c86287151a309799b821ca709b7345a048a2956af05957c89cb824ab919fa4e3" +checksum = "9c324a910fd86ebdc364a3e61ec1f11737d3b1d6c273c0239ee8ff4bc0d24b4a" dependencies = [ "proc-macro2", "quick-xml 0.39.2", @@ -4242,9 +4242,9 @@ dependencies = [ [[package]] name = "wayland-server" -version = "0.31.12" +version = "0.31.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63736a4a73e781cf6a736aa32c5d6773c3eb5389197562742a8c611b49b5e359" +checksum = "cc1846eb04c49182e04f4a099e2a830a2b745610bbc1d61246e206f29c7000a0" dependencies = [ "bitflags 2.11.0", "downcast-rs", @@ -4255,9 +4255,9 @@ dependencies = [ [[package]] name = "wayland-sys" -version = "0.31.10" +version = "0.31.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374f6b70e8e0d6bf9461a32988fd553b59ff630964924dad6e4a4eb6bd538d17" +checksum = "d8eab23fefc9e41f8e841df4a9c707e8a8c4ed26e944ef69297184de2785e3be" dependencies = [ "dlib", "libc", diff --git a/Cargo.toml b/Cargo.toml index ddda9d91..5e43df28 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,14 +31,14 @@ tracy-client = { version = "0.18.4", default-features = false } [workspace.dependencies.smithay] # version = "0.4.1" git = "https://github.com/Smithay/smithay.git" -rev = "dce4d34e7421559b661af9c519904f4b24346148" +rev = "dba255cd18c1a808c85a1d1144ad48e0b3f44b8f" # path = "../smithay" default-features = false [workspace.dependencies.smithay-drm-extras] # version = "0.1.0" git = "https://github.com/Smithay/smithay.git" -rev = "dce4d34e7421559b661af9c519904f4b24346148" +rev = "dba255cd18c1a808c85a1d1144ad48e0b3f44b8f" # path = "../smithay/smithay-drm-extras" [package] @@ -77,7 +77,7 @@ fastrand = "2.3.0" futures-util = { version = "0.3.32", default-features = false, features = ["std", "io"] } git-version = "0.3.9" glam = "0.32.1" -input = { version = "0.9.1", features = ["libinput_1_21"] } +input = { version = "0.10.0", features = ["libinput_1_21"] } keyframe = { version = "1.1.1", default-features = false } libc = "0.2.182" libdisplay-info = "0.3.0" @@ -97,9 +97,9 @@ smithay-drm-extras.workspace = true tracing-subscriber.workspace = true tracing.workspace = true tracy-client.workspace = true -wayland-backend = "0.3.14" -wayland-scanner = "0.31.9" -wayland-server = { version = "0.31.12", features = ["libwayland_1_23"] } +wayland-backend = "0.3.15" +wayland-scanner = "0.31.10" +wayland-server = { version = "0.31.13", features = ["libwayland_1_23"] } xcursor = "0.3.10" zbus = { version = "5.13.2", optional = true } diff --git a/src/backend/tty.rs b/src/backend/tty.rs index 37503c0e..175833d4 100644 --- a/src/backend/tty.rs +++ b/src/backend/tty.rs @@ -1419,7 +1419,7 @@ impl Tty { // Create the compositor. let res = DrmCompositor::new( - OutputModeSource::Auto(output.clone()), + OutputModeSource::Auto(output.downgrade()), surface, None, device.allocator.clone(), @@ -1449,7 +1449,7 @@ impl Tty { .create_surface(crtc, mode, &[connector.handle()])?; DrmCompositor::new( - OutputModeSource::Auto(output.clone()), + OutputModeSource::Auto(output.downgrade()), surface, None, device.allocator.clone(), diff --git a/src/handlers/compositor.rs b/src/handlers/compositor.rs index 19a3c2c4..f38b2934 100644 --- a/src/handlers/compositor.rs +++ b/src/handlers/compositor.rs @@ -508,7 +508,7 @@ impl CompositorHandler for State { // So, this may come out empty, and then the toplevel pre-commit hook will be removed in the // subsequent toplevel_destroyed() call. if let Some(hook) = self.niri.dmabuf_pre_commit_hook.remove(surface) { - remove_pre_commit_hook(surface, hook); + remove_pre_commit_hook(surface, &hook); } } } @@ -572,13 +572,13 @@ impl State { let s = surface.clone(); if let Some(prev) = self.niri.dmabuf_pre_commit_hook.insert(s, hook) { error!("tried to add dmabuf pre-commit hook when there was already one"); - remove_pre_commit_hook(surface, prev); + remove_pre_commit_hook(surface, &prev); } } pub fn remove_default_dmabuf_pre_commit_hook(&mut self, surface: &WlSurface) { if let Some(hook) = self.niri.dmabuf_pre_commit_hook.remove(surface) { - remove_pre_commit_hook(surface, hook); + remove_pre_commit_hook(surface, &hook); } else { error!("tried to remove dmabuf pre-commit hook but there was none"); } diff --git a/src/input/mod.rs b/src/input/mod.rs index d46166a0..86c74eb0 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -4678,7 +4678,11 @@ pub fn apply_libinput_settings(config: &niri_config::Input, device: &mut input:: let _ = device.config_tap_set_enabled(c.tap); let _ = device.config_dwt_set_enabled(c.dwt); let _ = device.config_dwtp_set_enabled(c.dwtp); - let _ = device.config_tap_set_drag_lock_enabled(c.drag_lock); + let _ = device.config_tap_set_drag_lock_enabled(if c.drag_lock { + input::DragLockState::EnabledTimeout + } else { + input::DragLockState::Disabled + }); let _ = device.config_scroll_set_natural_scroll_enabled(c.natural_scroll); let _ = device.config_accel_set_speed(c.accel_speed.0); let _ = device.config_left_handed_set(c.left_handed); diff --git a/src/layer/mapped.rs b/src/layer/mapped.rs index f52ff83b..fbaa6fc6 100644 --- a/src/layer/mapped.rs +++ b/src/layer/mapped.rs @@ -328,6 +328,6 @@ impl MappedLayer { impl Drop for MappedLayer { fn drop(&mut self) { - remove_pre_commit_hook(self.surface.wl_surface(), self.pre_commit_hook.clone()); + remove_pre_commit_hook(self.surface.wl_surface(), &self.pre_commit_hook); } } diff --git a/src/window/mapped.rs b/src/window/mapped.rs index 292833f1..bf596ee1 100644 --- a/src/window/mapped.rs +++ b/src/window/mapped.rs @@ -598,7 +598,7 @@ impl Mapped { impl Drop for Mapped { fn drop(&mut self) { - remove_pre_commit_hook(self.toplevel().wl_surface(), self.pre_commit_hook.clone()); + remove_pre_commit_hook(self.toplevel().wl_surface(), &self.pre_commit_hook); } }