fix: 修复启动任务栏引起AM崩溃的问题
将迭代器检查修改为列表检查‘ ’ Log: Influence: 重启任务栏,观察AM服务是否会崩溃 Task: https://pms.uniontech.com/task-view-226125.html Change-Id: I1e53235c9df552fc345170ce19134c90362d0cf7
This commit is contained in:
parent
12d08de069
commit
7b22381002
@ -614,8 +614,9 @@ void Entry::newInstance(uint32_t timestamp)
|
|||||||
// 检查应用窗口分离、合并状态
|
// 检查应用窗口分离、合并状态
|
||||||
void Entry::check()
|
void Entry::check()
|
||||||
{
|
{
|
||||||
for (auto iter = m_windowInfoMap.begin(); iter != m_windowInfoMap.end(); iter++) {
|
QList<WindowInfoBase *> windows = m_windowInfoMap.values();
|
||||||
m_dock->attachOrDetachWindow(iter.value());
|
for (WindowInfoBase *window : windows) {
|
||||||
|
m_dock->attachOrDetachWindow(window);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -623,12 +624,13 @@ void Entry::check()
|
|||||||
void Entry::forceQuit()
|
void Entry::forceQuit()
|
||||||
{
|
{
|
||||||
QMap<int, QVector<WindowInfoBase*>> pidWinInfoMap;
|
QMap<int, QVector<WindowInfoBase*>> pidWinInfoMap;
|
||||||
for (auto iter = m_windowInfoMap.begin(); iter != m_windowInfoMap.end(); iter++) {
|
QList<WindowInfoBase *> windows = m_windowInfoMap.values();
|
||||||
int pid = iter.value()->getPid();
|
for (WindowInfoBase *window : windows) {
|
||||||
|
int pid = window->getPid();
|
||||||
if (pid != 0) {
|
if (pid != 0) {
|
||||||
pidWinInfoMap[pid].push_back(iter.value());
|
pidWinInfoMap[pid].push_back(window);
|
||||||
} else {
|
} else {
|
||||||
iter.value()->killClient();
|
window->killClient();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -648,11 +650,7 @@ void Entry::forceQuit()
|
|||||||
|
|
||||||
void Entry::presentWindows()
|
void Entry::presentWindows()
|
||||||
{
|
{
|
||||||
QList<uint> windows;
|
QList<uint> windows = m_windowInfoMap.keys();
|
||||||
for (auto iter = m_windowInfoMap.begin(); iter != m_windowInfoMap.end(); iter++) {
|
|
||||||
windows.push_back(iter.key());
|
|
||||||
}
|
|
||||||
|
|
||||||
m_dock->presentWindows(windows);
|
m_dock->presentWindows(windows);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user