diff --git a/plugins/src/desktop_entries/mod.rs b/plugins/src/desktop_entries/mod.rs index d98144f..b5bbaa3 100644 --- a/plugins/src/desktop_entries/mod.rs +++ b/plugins/src/desktop_entries/mod.rs @@ -78,9 +78,6 @@ impl App { if deduplicator.contains(appid) { return None; } - // Always cache already visited entries to allow overriding entries e.g. by - // placing a modified copy in ~/.local/share/applications/ - deduplicator.insert(appid.to_owned()); de.name(&self.locales)?; @@ -136,6 +133,13 @@ impl App { return None; } + // Always cache already visited entries to allow overriding entries e.g. by + // placing a modified copy in ~/.local/share/applications/ + // + // We only do this when we can add an entry to our list, otherwise we risk + // ignoring user overrides or valid applications due to shell URL handlers + deduplicator.insert(appid.to_owned()); + Some(de) }) })