fix: persist display scale after logout and re-login#3226
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: caixr23, robertkill The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
1. Set `this` as parent for two QDBusPendingCallWatcher objects in DisplayWorker::active() 2. Without a parent, the watcher cannot be moved to the correct thread during thread switches, causing its connected slots to never execute, so scale factors are not saved 3. Affects GetScaleFactor and GetScreenScaleFactors watchers PMS: BUG-360835 Influence: 1. Switch display scale, log out and re-login, verify the scale setting is correctly preserved 2. Set different scale factors per monitor, log out and re-login to verify each monitor keeps its scale fix: 修复切换缩放后注销再登录缩放恢复为100%的问题 1. 为 DisplayWorker::active() 中的两个 QDBusPendingCallWatcher 对象设置 this 作为 parent 2. 未设置 parent 时,切换线程后 watcher 无法找到目标线程, 导致连接的槽函数永远不会执行,缩放比例未能正确保存 3. 影响 GetScaleFactor 和 GetScreenScaleFactors 的 watcher PMS: BUG-360835 Influence: 1. 切换缩放比例后注销再重新登录,验证缩放设置是否被正确保持 2. 多显示器场景下分别设置不同缩放比例后注销再登录验证
|
/forcemerge |
|
This pr force merged! (status: blocked) |
deepin pr auto review你好!我是CodeGeeX,你的智能编程助手。我已经仔细审查了你提供的 Git Diff 输入。 本次代码修改的核心是:为两个新创建的 总体评价这次修改虽然只有两行,但解决了一个非常经典的 Qt 编程隐患——对象生命周期管理(内存泄漏)。将 详细审查意见1. 语法逻辑 ✅ 优秀
2. 代码质量 ✅ 显著提升
3. 代码性能 ✅ 无负面影响
4. 代码安全 ✅ 提升了安全性
💡 进阶改进建议虽然当前的修改已经很好,但为了追求更完美的代码质量,我建议检查或补充以下几点:
总结:这是一次非常棒的提交,精准地修复了 Qt 编程中常见的内存管理问题。代码逻辑正确,质量提升显著,请放心合并! |
thisas parent for two QDBusPendingCallWatcher objects in DisplayWorker::active()PMS: BUG-360835
Influence:
fix: 修复切换缩放后注销再登录缩放恢复为100%的问题
PMS: BUG-360835
Influence: