@@ -341,6 +341,7 @@ void LauncherModel::runningChanged(const QString &appId, bool running)
341341 if (idx >= 0) {
342342 LauncherItem *item = m_list.at(idx);
343343 item->setRunning(running);
344+ m_asAdapter->syncItems(m_list);
344345 Q_EMIT dataChanged(index(idx), index(idx), {RoleRunning});
345346 }
346347}
@@ -351,8 +352,8 @@ void LauncherModel::countChanged(const QString &appId, int count)
351352 if (idx >= 0) {
352353 LauncherItem *item = m_list.at(idx);
353354 item->setCount(count);
354− Q_EMIT dataChanged(index(idx), index(idx), {RoleCount});
355355 m_asAdapter->syncItems(m_list);
356+ Q_EMIT dataChanged(index(idx), index(idx), {RoleCount});
356357 }
357358}
358359
@@ -404,7 +405,8 @@ void LauncherModel::refresh()
404405 item->setName(desktopFile.displayName());
405406 item->setIcon(desktopFile.icon());
406407 item->setPinned(item->pinned()); // update pinned text if needed
407− Q_EMIT dataChanged(index(idx), index(idx), {RoleName, RoleIcon});
408+ item->setRunning(item->running());
409+ Q_EMIT dataChanged(index(idx), index(idx), {RoleName, RoleIcon, RoleRunning});
408410 }
409411 }
410412