Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3:Rings:2-TestDVD
plasma5-workspace
0001-Fix-another-regression-with-rearranging-la...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-Fix-another-regression-with-rearranging-launchers-in.patch of Package plasma5-workspace
From 6cfca1bdf34232d1722c88be22804e65d1c445da Mon Sep 17 00:00:00 2001 From: Fabian Vogt <fabian@ritter-vogt.de> Date: Fri, 24 Feb 2017 16:34:20 +0100 Subject: [PATCH] Fix another regression with rearranging launchers in an activities world. 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.cukic@kde.org Reviewers: #plasma, davidedmundson, mart Reviewed By: mart Subscribers: broulik, fvogt, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D4749 --- libtaskmanager/launchertasksmodel.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libtaskmanager/launchertasksmodel.cpp b/libtaskmanager/launchertasksmodel.cpp index b3cba5ed..a0b3745b 100644 --- a/libtaskmanager/launchertasksmodel.cpp +++ b/libtaskmanager/launchertasksmodel.cpp @@ -449,7 +449,8 @@ void LauncherTasksModel::setLauncherList(const QStringList &serializedLaunchers) } } - if (newActivitiesForLauncher != d->activitiesForLauncher) { + if (newLaunchersOrder != d->launchersOrder + || newActivitiesForLauncher != d->activitiesForLauncher) { // Common case optimization: If the list changed but its size // did not (e.g. due to reordering by a user of this model), // just clear the caches and announce new data instead of -- 2.11.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor