buffer: switch to memmap2, destroy shm pools, never underflow refcounts

memmap 0.7 is unmaintained (RUSTSEC-2020-0077); memmap2 is a drop-in
replacement. Drop the unused shlex dependency.

Each resize created a new wl_shm_pool that was never destroyed; keep the
pool on the buffer and destroy it with it. A wl_buffer.release for a
buffer we didn't consider acquired used to underflow refcnt and wedge
rendering. Fix the lifetime-elision warnings while here.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Bendik Aagaard Lynghaug
2026-10-03 09:15:54 +00:00
co-authored by Claude Fable 5.1
parent c033335912
commit 6af81b587c
3 changed files with 18 additions and 37 deletions
+1 -2
View File
@@ -16,7 +16,7 @@ wayland-client = { version = "0.30", features = ["calloop", "log"] }
wayland-protocols = { version = "0.30", features = ["client", "unstable", "staging"] }
wayland-protocols-wlr = { version = "0.1", features = ["client"] }
nix = "0.26" # 0.27 is breaking
memmap = "0.7"
memmap2 = "0.9"
fontconfig = { version = "0.8.0", optional = true }
rusttype = "0.9"
# fontdue = "0.7"
@@ -27,7 +27,6 @@ walkdir = "2.4"
unicode-segmentation = "1.10"
fuzzy-matcher = "0.3"
shlex = "1.3"
xkbcommon = { version = "0.8", features = ["wayland"] }