hein created this revision. Restricted Application added a project: Plasma.
REVISION SUMMARY The new activity-aware implementation of LauncherTasksModel::setLauncherList() would only accept the passed list when it changed any activities associations, not when the order changed. This would effectively turn TasksModel::move involving launcher tasks into a no-op. Rearranging launchers works like this: 1. A client calls TasksModel::move one or many times. TasksModel::move updates TasksModel's internal sort mapping and implements it, causing a visible order change in any views. 2. When it is done calling move(), the client calls TasksModel::syncLaunchers. TasksModel::syncLaunchers calls LauncherTasksModel::setLauncherList with a new list derived from its sort mapping, and updates its sort mapping in expectation of row indices changing in the launcher tasks source model. Due to the above bug, the sort mapping would be adjusted in expectation of changes the launcher tasks model would not actually do, appearing to undo the moves the next time a view is updated from source data. CCMAIL:ivan.cu...@kde.org REPOSITORY R120 Plasma Workspace BRANCH Plasma/5.9 REVISION DETAIL https://phabricator.kde.org/D4749 AFFECTED FILES libtaskmanager/launchertasksmodel.cpp EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: hein, #plasma, davidedmundson, mart Cc: plasma-devel, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol