From c270109d30c32e74726ceda0e78da353521006eb Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 12 Jun 2024 10:51:28 -0600 Subject: [PATCH] Fix mime icon fallback --- samples/mime/application/x-yaml.yaml | 1 + src/mime_icon.rs | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 samples/mime/application/x-yaml.yaml diff --git a/samples/mime/application/x-yaml.yaml b/samples/mime/application/x-yaml.yaml new file mode 100644 index 0000000..b4f46b7 --- /dev/null +++ b/samples/mime/application/x-yaml.yaml @@ -0,0 +1 @@ +key: value diff --git a/src/mime_icon.rs b/src/mime_icon.rs index 33a847a..a50ff8a 100644 --- a/src/mime_icon.rs +++ b/src/mime_icon.rs @@ -36,11 +36,11 @@ impl MimeIconCache { } let icon_name = icon_names.remove(0); let mut named = icon::from_name(icon_name).size(key.size); - let mut fallback_names = Vec::new(); - for fallback_name in icon_names { - fallback_names.push(fallback_name.into()); - } - if fallback_names.is_empty() { + if !icon_names.is_empty() { + let mut fallback_names = Vec::with_capacity(icon_names.len()); + for fallback_name in icon_names { + fallback_names.push(fallback_name.into()); + } named = named.fallback(Some(icon::IconFallback::Names(fallback_names))); } Some(named.handle())