hein updated this revision to Diff 46916.
hein added a comment.

  Further fixes to sync & co
  
  - Adding a desktop could emit wrong model transactions (wrong container count 
was used to calculate append index).
  - `updateModifiedState` (previously `checkModifiedState`) now handles cases 
where desktop counts and names remained the same despite the user triggering 
with remove/add actions. This can happen when removing a desktop retaining the 
default name and adding a desktop back, for example. In this case the method 
will replace dummy with server ids so that the data structures match again, 
then avoid doing a sync to the server and disable the Apply button.
  - During sync, when syncing ids replace any dummy ids with server ids in the 
data structures. For cases similar to above - a desktop was replaced with an 
identically-named one, and is not handled by a remove/create -, otherwise the 
following block will emit setDesktopName D-Bus calls with invalid ids.

REPOSITORY
  R108 KWin

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D14542?vs=46895&id=46916

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D14542

AFFECTED FILES
  kcmkwin/kwindesktop/CMakeLists.txt
  kcmkwin/kwindesktop/Messages.sh
  kcmkwin/kwindesktop/desktop.desktop
  kcmkwin/kwindesktop/desktopnameswidget.cpp
  kcmkwin/kwindesktop/desktopnameswidget.h
  kcmkwin/kwindesktop/desktopsmodel.cpp
  kcmkwin/kwindesktop/desktopsmodel.h
  kcmkwin/kwindesktop/kcm_kwin_virtualdesktops.desktop
  kcmkwin/kwindesktop/main.cpp
  kcmkwin/kwindesktop/main.h
  kcmkwin/kwindesktop/main.ui
  kcmkwin/kwindesktop/package/contents/ui/main.qml
  kcmkwin/kwindesktop/package/metadata.desktop
  kcmkwin/kwindesktop/virtualdesktops.cpp
  kcmkwin/kwindesktop/virtualdesktops.h

To: hein, mart, davidedmundson, ltoscano, zzag
Cc: davidedmundson, broulik, plasma-devel, kwin, mkulinski, ragreen, 
jackyalcine, Pitel, iodelay, bwowk, ZrenBot, lesliezhai, ali-mohamed, 
hardening, jensreuterberg, abetts, sebas, apol, mart

Reply via email to