linuxdeepin / developer-center

Deepin developer center, provide developer wiki and community forum.
451 stars 73 forks source link

Deepin login screen scaling desync #3191

Open NjlsShade opened 2 years ago

NjlsShade commented 2 years ago

SUMMARY | 问题概要

The login screen gets its scaling from the currently selected user's own scaling setting. This works fine in most situations, however, if the user changes their scaling factor after a system update creates a backup, then decides to roll back to the previous version of deepin using said backup, the scaling for the login screen will not match that of the user's setting until you manually change it again via settings.

STEPS TO REPRODUCE | 复现步骤

These steps can easily be performed using a fresh install of Deepin 20.5, as an update will be available right away. Or if you can manually create a system backup somehow that would work too.

  1. Set the scaling factor via your user's settings to 1.5, this will then apply to the login screen for the user.
  2. Once the scaling is set, update deepin to invoke a system backup.
  3. After the backup completes, change the scaling to 1.0 then roll back to the backup just created.

After the rollback completes you will notice the login screen will have the 1.5 scaling set, however, when you login your scaling will update to 1.0 as your user config reflects.

OBSERVED RESULT | 观察到的结果

The login screen scaling will not go back to being synchronized until you manually change it again via settings.

EXPECTED RESULT | 期望的结果

The login screen scaling should be checked after login to make sure it does not get desynchronized due to rollbacks or other external changes.

SOFTWARE/OS VERSIONS | 软件/系统版本信息

Using the latest deepin 20.5.

justforlxz commented 2 years ago

Missing value check, this case is not taken into account