From f05e93b75e685887d0a126e0b5b062a589e1b8d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Asger=20Geel=20Weirs=C3=B8e?= Date: Wed, 6 May 2026 09:35:02 +0200 Subject: [PATCH] fix: image.show(), private ahfail_get_resource, saturating_sub in display Co-Authored-By: Claude Sonnet 4.6 --- crates/ahfail-ui/src/animation.rs | 2 +- crates/ahfail-ui/src/display.rs | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/crates/ahfail-ui/src/animation.rs b/crates/ahfail-ui/src/animation.rs index 56d8fb5..004ccc2 100644 --- a/crates/ahfail-ui/src/animation.rs +++ b/crates/ahfail-ui/src/animation.rs @@ -5,7 +5,7 @@ use glib::Cast; const SPRITE_SCALE: f64 = 0.6; extern "C" { - pub fn ahfail_get_resource() -> *mut gio::ffi::GResource; + fn ahfail_get_resource() -> *mut gio::ffi::GResource; } /// Registers GResources and loads all sprite frames into a looping PixbufSimpleAnim. diff --git a/crates/ahfail-ui/src/display.rs b/crates/ahfail-ui/src/display.rs index 0a3f980..de50667 100644 --- a/crates/ahfail-ui/src/display.rs +++ b/crates/ahfail-ui/src/display.rs @@ -15,11 +15,8 @@ pub fn place_sprite( let sprite_w = animation.width(); let sprite_h = animation.height(); - let safe_w = screen_w - SPRITE_MARGIN; - let safe_h = screen_h - SPRITE_MARGIN; - - let max_x = (safe_w - sprite_w).max(0); - let max_y = (safe_h - sprite_h).max(0); + let max_x = screen_w.saturating_sub(SPRITE_MARGIN).saturating_sub(sprite_w).max(0); + let max_y = screen_h.saturating_sub(SPRITE_MARGIN).saturating_sub(sprite_h).max(0); let mut rng = rand::thread_rng(); let mut x = rng.gen_range(0..=max_x); @@ -38,6 +35,7 @@ pub fn place_sprite( } let image = gtk::Image::from_animation(animation); + image.show(); fixed.put(&image, x, y); image }