| Summary: | Some user profile fields won't apply unless they all have unique new values | ||
|---|---|---|---|
| Product: | [Applications] systemsettings | Reporter: | Alexander Potashev <aspotashev> |
| Component: | kcm_users | Assignee: | Janet Blackquill <uhhadd> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | nate, plasma-bugs-null |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/plasma/plasma-desktop/commit/3308dee942d1982a0aba68fc41368a284afc8e21 | Version Fixed/Implemented In: | 5.20.2 |
| Sentry Crash Report: | |||
Git commit 5cdff9625bf35239f7337911bd1de047bce2546a by Nate Graham, on behalf of Alexander Potashev.
Committed on 25/10/2020 at 18:13.
Pushed by ngraham into branch 'master'.
Fix bug: Some user profile fields won't apply unless they all have unique new values.
Fixes the following bug: Some user profile fields won't apply unless
they all have unique new values.
STEPS TO REPRODUCE
1. Start the Users KCM ("kcmshell5 kcm_users")
2. Select a user
3. Change the full name (the top-most input field) to "foo", change the
email address to "foo@example.com", click Apply.
4. Restart the Users KCM and make sure the change applied.
5. Change the full name to "bar@example.com", change the email address
to "bar@example.com" as well, click Apply.
OBSERVED RESULT: The full name remains "foo", the email address is
changed to "bar@example.com".
EXPECTED RESULT: Both fields should change to "bar@example.com".
Root cause: When the std::map used in UserApplyJob::start() is
initialized, the key-value {"bar@example.com", full name setter ptr} is
being overwritten by key-value {"bar@example.com", email setter ptr}.
M +1 -1 kcms/users/src/user.cpp
https://invent.kde.org/plasma/plasma-desktop/commit/5cdff9625bf35239f7337911bd1de047bce2546a
Git commit 3308dee942d1982a0aba68fc41368a284afc8e21 by Nate Graham, on behalf of Alexander Potashev.
Committed on 25/10/2020 at 18:13.
Pushed by ngraham into branch 'Plasma/5.20'.
Fix bug: Some user profile fields won't apply unless they all have unique new values.
Fixes the following bug: Some user profile fields won't apply unless
they all have unique new values.
STEPS TO REPRODUCE
1. Start the Users KCM ("kcmshell5 kcm_users")
2. Select a user
3. Change the full name (the top-most input field) to "foo", change the
email address to "foo@example.com", click Apply.
4. Restart the Users KCM and make sure the change applied.
5. Change the full name to "bar@example.com", change the email address
to "bar@example.com" as well, click Apply.
OBSERVED RESULT: The full name remains "foo", the email address is
changed to "bar@example.com".
EXPECTED RESULT: Both fields should change to "bar@example.com".
Root cause: When the std::map used in UserApplyJob::start() is
initialized, the key-value {"bar@example.com", full name setter ptr} is
being overwritten by key-value {"bar@example.com", email setter ptr}.
(cherry picked from commit 5cdff9625bf35239f7337911bd1de047bce2546a)
M +1 -1 kcms/users/src/user.cpp
https://invent.kde.org/plasma/plasma-desktop/commit/3308dee942d1982a0aba68fc41368a284afc8e21
|
SUMMARY Some user profile fields won't apply unless they all have unique new values. STEPS TO REPRODUCE 1. Start the Users KCM ("kcmshell5 kcm_users") 2. Select a user 3. Change the full name (the top-most input field) to "foo", change the email address to "foo@example.com", click Apply. 4. Restart the Users KCM and make sure the change applied. 5. Change the full name to "bar@example.com", change the email address to "bar@example.com" as well, click Apply. OBSERVED RESULT The full name remains "foo", the email address is changed to "bar@example.com". EXPECTED RESULT Both fields should change to "bar@example.com". SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION Built from Git master at f7a5514f22465fe02759417333806b59e1238eb6. Root cause: When the std::map used in UserApplyJob::start() is initialized, the key-value {"bar@example.com", full name setter ptr} is being overwritten by key-value {"bar@example.com", email setter ptr}. Proposed fix: https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/172