From ac93c41c2301882827c1a5a6075f8354d40d0f11 Mon Sep 17 00:00:00 2001 From: Erik W Date: Sat, 14 Jun 2025 14:12:21 +0200 Subject: [PATCH] fix(status-area): prevent crash on invalid icon data --- cosmic-applet-status-area/src/components/status_menu.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cosmic-applet-status-area/src/components/status_menu.rs b/cosmic-applet-status-area/src/components/status_menu.rs index 0f41c149..2f2851ed 100644 --- a/cosmic-applet-status-area/src/components/status_menu.rs +++ b/cosmic-applet-status-area/src/components/status_menu.rs @@ -60,6 +60,12 @@ impl State { .into_iter() .max_by_key(|i| (i.width, i.height)) .map(|mut i| { + if i.width <= 0 || i.height <= 0 || i.bytes.is_empty() { + // App sent invalid icon data during initialization - show placeholder until NewIcon signal + eprintln!("Skipping invalid icon: {}x{} with {} bytes, app may still be initializing", + i.width, i.height, i.bytes.len()); + return icon::from_name("dialog-question").symbolic(true).handle(); + } // Convert ARGB to RGBA for pixel in i.bytes.chunks_exact_mut(4) { pixel.rotate_left(1);