diff --git a/panels/dock/taskmanager/taskmanager.cpp b/panels/dock/taskmanager/taskmanager.cpp index 868c15f9c..799c7328d 100644 --- a/panels/dock/taskmanager/taskmanager.cpp +++ b/panels/dock/taskmanager/taskmanager.cpp @@ -129,16 +129,17 @@ void TaskManager::handleWindowAdded(QPointer window) } QSharedPointer desktopfile = nullptr; + QString desktopId; if (res.size() > 0) { - desktopfile = DESKTOPFILEFACTORY::createById(res.first().data(m_activeAppModel->roleNames().key("desktopId")).toString(), "amAPP"); + desktopId = res.first().data(m_activeAppModel->roleNames().key("desktopId")).toString(); + } + + if (!desktopId.isEmpty()) { + desktopfile = DESKTOPFILEFACTORY::createById(desktopId, "amAPP"); } if (desktopfile.isNull() || !desktopfile->isValied().first) { - if (res.size() > 0) { - desktopfile = DESKTOPFILEFACTORY::createById(res.first().data(m_activeAppModel->roleNames().key("desktopId")).toString(), "asbtractAPP"); - } else { - desktopfile = DESKTOPFILEFACTORY::createByWindow(window); - } + desktopfile = DESKTOPFILEFACTORY::createByWindow(window); } auto appitem = desktopfile->getAppItem();