Browse Source

feat(core): early panic if the PNG icon is not RGBA, closes #6706 (#6712)

Bo 2 years ago
parent
commit
17d5a4f51f
2 changed files with 12 additions and 0 deletions
  1. 5 0
      .changes/early-panic-for-png-not-rgba.md
  2. 7 0
      core/tauri-codegen/src/context.rs

+ 5 - 0
.changes/early-panic-for-png-not-rgba.md

@@ -0,0 +1,5 @@
+---
+"tauri-codegen": 'patch:enhance'
+---
+
+Early panic if the PNG icon is not RGBA.

+ 7 - 0
core/tauri-codegen/src/context.rs

@@ -516,6 +516,13 @@ fn png_icon<P: AsRef<Path>>(
   let mut reader = decoder
     .read_info()
     .unwrap_or_else(|e| panic!("failed to read icon {}: {}", path.display(), e));
+
+  let (color_type, _) = reader.output_color_type();
+
+  if color_type != png::ColorType::Rgba {
+    panic!("icon {} is not RGBA", path.display());
+  }
+
   let mut buffer: Vec<u8> = Vec::new();
   while let Ok(Some(row)) = reader.next_row() {
     buffer.extend(row.data());