From af73b434fee811d72b63fdf7a17f6510e5196cda Mon Sep 17 00:00:00 2001 From: Wang Zichong Date: Tue, 3 Feb 2026 15:14:34 +0800 Subject: [PATCH] fix: use desktop-id as fallback name for ill-formed desktop entries MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 针对一些不规范的 desktop 文件,例如没有提供当前地区的显示名称,也没有 提供默认(无地区)显示名称的情况下,fallback到使用原始 desktop id 作为 对用户呈现的名称. PMS: BUG-349847 Log: --- src/ddeintegration/appmgr.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ddeintegration/appmgr.cpp b/src/ddeintegration/appmgr.cpp index 54426701..2492631c 100644 --- a/src/ddeintegration/appmgr.cpp +++ b/src/ddeintegration/appmgr.cpp @@ -94,6 +94,11 @@ static AppMgr::AppItem *parseDBus2AppItem(const ObjectInterfaceMap &source) parseDBusField(appInfo, u8"Name").value(), parseDBusField(appInfo, u8"GenericName").value()); + // just in case the entry is ill-formed, doesn't have a valid display name, fallback to use its desktop-id instead. + if (item->displayName.isEmpty()) { + item->displayName = item->id; + } + if (auto value = parseDBusField(appInfo, u8"Name")) { item->name = parseName(value.value()); }