Terminal-Start übersteht nicht ladbares Dock-Icon (z. B. TCC-geschützter Pfad) — Meldung statt Panic
This commit is contained in:
@@ -54,8 +54,13 @@ pub fn set_dock_icon(path: &str) {
|
||||
use objc2_foundation::NSString;
|
||||
|
||||
let mtm = MainThreadMarker::new().expect("set_dock_icon läuft nicht auf dem Main-Thread");
|
||||
let img = NSImage::initWithContentsOfFile(NSImage::alloc(), &NSString::from_str(path))
|
||||
.unwrap_or_else(|| panic!("Dock-Icon nicht ladbar: {path}"));
|
||||
// Nicht ladbar (Datei weg, TCC-geschützter Ordner wie ~/Downloads): Terminal
|
||||
// ohne eigenes Dock-Icon starten statt den Prozess zu beenden.
|
||||
let Some(img) = NSImage::initWithContentsOfFile(NSImage::alloc(), &NSString::from_str(path))
|
||||
else {
|
||||
eprintln!("Dock-Icon nicht ladbar, Terminal startet ohne: {path}");
|
||||
return;
|
||||
};
|
||||
// unsafe laut objc2-Signatur; das NSImage stammt aus einer Datei und ist gültig.
|
||||
unsafe {
|
||||
NSApplication::sharedApplication(mtm).setApplicationIconImage(Some(&img));
|
||||
|
||||
Reference in New Issue
Block a user