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