fix: 修复任务栏最近打开区域偶现锁屏图标

在创建应用窗口对象的时候,过滤锁屏的图标

Log:
Influence: 进入wayland,任务栏时尚模式,打开显示最新打开应用,锁屏,进入桌面,观察任务栏最近打开区域是否存在锁屏图标
Bug: https://pms.uniontech.com/bug-view-171529.html
Change-Id: I43d3d98fea4f2c0cdaec62b551e275ba2960c624
This commit is contained in:
donghualin 2022-11-21 14:39:48 +08:00
parent 8b31d63212
commit 2a229d30c8
2 changed files with 12 additions and 4 deletions

View File

@ -50,10 +50,18 @@ void WaylandManager::registerWindow(const QString &objPath)
return;
}
QString appId = plasmaWindow->AppId();
QStringList list {"dde-dock", "dde-launcher", "dde-clipboard", "dde-osd", "dde-polkit-agent", "dde-simple-egl", "dmcs"};
if (list.indexOf(appId) >= 0)
if (!plasmaWindow->IsValid() || !plasmaWindow->isValid()) {
qWarning() << "PlasmaWindow is not valid:" << objPath;
delete plasmaWindow;
return;
}
QString appId = plasmaWindow->AppId();
QStringList list {"dde-dock", "dde-launcher", "dde-clipboard", "dde-osd", "dde-polkit-agent", "dde-simple-egl", "dmcs", "dde-lock"};
if (list.indexOf(appId) >= 0 || appId.startsWith("No such object path")) {
delete plasmaWindow;
return;
}
XWindow winId = XCB->allocId(); // XCB中未发现释放XID接口
XWindow realId = plasmaWindow->WindowId();

View File

@ -40,7 +40,7 @@ WindowInfoK::WindowInfoK(PlasmaWindow *window, XWindow _xid)
WindowInfoK::~WindowInfoK()
{
delete m_plasmaWindow;
}
bool WindowInfoK::shouldSkip()