Bug 365662

Summary: Avatar of last changed user displays.
Product: [Plasma] plasmashell Reporter: retired <pepko94>
Component: Application Launcher (Kickoff) widgetAssignee: David Edmundson <kde>
Status: RESOLVED FIXED    
Severity: normal CC: mrbm74, plasma-bugs
Priority: NOR    
Version: 5.7.1   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Logs when editing avatar of user Regina when logged in as user Pepko

Description retired 2016-07-14 11:01:01 UTC
Bob and Jane share a PC.
Bob logs it to his account and decides to change Jane's avatar in systemsettings.
After applying settings he then proceeds to open up kickoff.
Kickoff then displays icon belonging to Jane.
He can override Jane's icon by changing his own.

Reproducible: Always

Steps to Reproduce:
1. Look at your avatar in kickoff
2. Change avatar of someone else
3. Enjoy not your avatar on your kickoff

Actual Results:  
Wrong icon/avatar displayed.

Expected Results:  
Do not set someone else's avatar on my kickoff.
Comment 1 retired 2016-07-14 11:01:47 UTC
Created attachment 100095 [details]
Logs when editing avatar of user Regina when logged in as user Pepko
Comment 2 Martin 2016-07-17 09:25:35 UTC
Having the same problem with 5.6.5 on Kubuntu 16.04.
After installation I added a second user. Then I set the avatar for the first user and then for the second user. Now the avatar of the second user is displayed for the first user in the start menu and in the login manager. But in the settings dialog the avatars are displayed correctly.
Comment 3 David Edmundson 2016-07-17 14:36:21 UTC
Is there a file in your home directory ~/.face or ~/.face.icon   

Is that correct or is it from user2?

Please reset the status to unconfirmed when replying.
Comment 4 retired 2016-07-17 14:43:48 UTC
.face and .face.icon files are correct
I've tried deleting them but if I change user2 icon then correct files are recreated.
Comment 5 Martin 2016-07-17 15:11:26 UTC
In my case (Plasma 5.6.5) as soon as I (user1) change the avatar for user2 the .face and .face.icon files are changed to the new avatar of user2.
Comment 6 Martin 2016-07-17 15:36:48 UTC
Another strange problem with the avatars: When I had set the avatars the first time I saw them at the login screen. But after reboot the avatars are not shown. And setting the avatars again does not change this situation. I'm wondering how sddm can display avatars when home encryption is enabled.
Comment 7 retired 2016-07-18 11:55:24 UTC
(In reply to Martin from comment #6)
> Another strange problem with the avatars: When I had set the avatars the
> first time I saw them at the login screen. But after reboot the avatars are
> not shown. And setting the avatars again does not change this situation. I'm
> wondering how sddm can display avatars when home encryption is enabled.

Sure it can. SDDM can read from "/usr/share/sddm/faces/".  That's how I got it set, manualy, systemsettings is not creating any files there for me.
Comment 8 David Edmundson 2017-01-13 15:27:12 UTC
Git commit 0d43e0379a16fe5f2c58a69ff2db1cf14c28197e by David Edmundson.
Committed on 13/01/2017 at 15:27.
Pushed by davidedmundson into branch 'Plasma/5.9'.

When updating another user's avatar don't save icon into our home

Summary:
We want to save the face using AccountsService, but for backwards
compatibility we also save the icon into ~/.face for old
apps/DisplayManagers that still expect that.

This works when setting a face as the current user, but doesn't make
sense when setting the icon of another user.

We can't fix it to write into another user's home, so instead of trying
just skip that step and only update AccountsService.
Related: bug 360005, bug 371663

Test Plan:
Changed my user's avatar. AccountsService updated ~/.face updated

Changed another user's avatar from my account. Accounts service updated, ~/.face was
unchanged

Reviewers: #plasma, mart

Reviewed By: mart

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D4036

M  +25   -14   src/accountinfo.cpp

https://commits.kde.org/user-manager/0d43e0379a16fe5f2c58a69ff2db1cf14c28197e
Comment 9 retired 2017-01-13 21:33:12 UTC
Tested, seems to work.
Thanks!