fix: 修复Intel显卡图标误显示为AMD及插件加载失败
1. CMakeLists.txt 链接 libdde-shell 库 (Dde::Shell),修复 undefined symbol:
ds::DApplet::staticMetaObject 导致 .so 加载失败、弹框空白的问题
2. parseGpuVendorShort 用正则单词边界匹配厂商名称,修复 indexOf('ati')
误匹配 'corporation' 中的子串导致 Intel 显卡显示 AMD 图标的问题
This commit is contained in:
@@ -12,6 +12,7 @@ set(CMAKE_AUTOMOC ON)
|
|||||||
|
|
||||||
find_package(Qt6 REQUIRED COMPONENTS Core Quick DBus LinguistTools)
|
find_package(Qt6 REQUIRED COMPONENTS Core Quick DBus LinguistTools)
|
||||||
find_package(Dtk6 REQUIRED COMPONENTS Core)
|
find_package(Dtk6 REQUIRED COMPONENTS Core)
|
||||||
|
find_package(DDEShell REQUIRED)
|
||||||
|
|
||||||
# 插件 ID
|
# 插件 ID
|
||||||
set(PLUGIN_ID "org.deepin.ds.graphics-driver")
|
set(PLUGIN_ID "org.deepin.ds.graphics-driver")
|
||||||
@@ -63,6 +64,7 @@ target_link_libraries(org.deepin.ds.graphics-driver PRIVATE
|
|||||||
Qt6::Quick
|
Qt6::Quick
|
||||||
Qt6::DBus
|
Qt6::DBus
|
||||||
Dtk6::Core
|
Dtk6::Core
|
||||||
|
Dde::Shell
|
||||||
)
|
)
|
||||||
|
|
||||||
# 安装到dde-shell插件目录
|
# 安装到dde-shell插件目录
|
||||||
|
|||||||
@@ -572,13 +572,14 @@ AppletItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 识别 GPU 厂商简称
|
// 识别 GPU 厂商简称
|
||||||
|
// 注意:用单词边界匹配,避免 "corporation" 中的 "ati" 等子串误匹配
|
||||||
function parseGpuVendorShort(info) {
|
function parseGpuVendorShort(info) {
|
||||||
var name = info.toLowerCase()
|
var name = parseGpuName(info).toLowerCase()
|
||||||
if (name.indexOf("nvidia") !== -1) return "NV"
|
if (/nvidia/.test(name)) return "NV"
|
||||||
if (name.indexOf("amd") !== -1 || name.indexOf("ati") !== -1 || name.indexOf("advanced micro") !== -1) return "AMD"
|
if (/\bamd\b/.test(name) || /\bati\b/.test(name) || /advanced micro/.test(name)) return "AMD"
|
||||||
if (name.indexOf("intel") !== -1) return "Intel"
|
if (/intel/.test(name)) return "Intel"
|
||||||
if (name.indexOf("qualcomm") !== -1) return "QC"
|
if (/qualcomm/.test(name)) return "QC"
|
||||||
if (name.indexOf("microsoft") !== -1) return "MS"
|
if (/microsoft/.test(name)) return "MS"
|
||||||
return "GPU"
|
return "GPU"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user