Skip to content

fix: empty wallpaper in multitaskview workspace#1018

Draft
deepin-wm wants to merge 1 commit into
linuxdeepin:masterfrom
deepin-wm:fix/wm34-empty-wallpaper-multitaskview
Draft

fix: empty wallpaper in multitaskview workspace#1018
deepin-wm wants to merge 1 commit into
linuxdeepin:masterfrom
deepin-wm:fix/wm34-empty-wallpaper-multitaskview

Conversation

@deepin-wm

@deepin-wm deepin-wm commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Changes

  1. Fix workspaceId using index instead of actual workspace ID in WallpaperManager config
  2. Fix MultitaskviewProxy.qml wallpaper binding to use delegate workspace model instead of current workspace
  3. Update copyright year from 2024 to 2024-2026 in MultitaskviewProxy.qml (file modified in 2026)
  4. Add retry mechanism for wallpaper Surface lookup failure with max 5 retries and exponential backoff
  5. Add empty list guard in syncAddWorkspace to prevent workspaces[0] out-of-bounds access
  6. Add containsWorkspace method to WallpaperOutputConfig for ID-based workspace existence check
  7. Add syncRemoveWorkspace to clean up config on workspace removal, with Helper public wrapper for proper encapsulation

Testing

  1. Test adding new workspace in multitaskview and verify wallpaper displays correctly
  2. Test removing workspace and verify wallpaper config is cleaned up
  3. Test wallpaper Surface retry mechanism with slow-loading surfaces
  4. Test workspace wallpaper switching between multiple workspaces

变更内容

  1. 修复 WallpaperManager 配置中 workspaceId 使用索引而非实际工作区 ID 的问题
  2. 修复 MultitaskviewProxy.qml 中壁纸绑定使用代理工作区模型而非当前工作区的问题
  3. 更新 MultitaskviewProxy.qml 版权年份从 2024 至 2024-2026(文件于 2026 年修改)
  4. 添加壁纸 Surface 查找失败时的重试机制,最大重试 5 次并使用指数退避
  5. 在 syncAddWorkspace 中添加空列表保护,防止 workspaces[0] 越界访问
  6. 添加 containsWorkspace 方法用于基于 ID 的工作区存在性检查
  7. 添加 syncRemoveWorkspace 方法在删除工作区时清理配置,并通过 Helper 公共方法包装以保持正确的封装性

测试建议

  1. 测试多任务视图中添加新工作区并验证壁纸正常显示
  2. 测试删除工作区并验证壁纸配置被正确清理
  3. 测试壁纸 Surface 重试机制在慢加载场景下的表现
  4. 测试多个工作区之间切换壁纸的显示

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @deepin-wm, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@deepin-wm deepin-wm force-pushed the fix/wm34-empty-wallpaper-multitaskview branch from e2b80b5 to 5c9a59f Compare June 18, 2026 12:22
@deepin-ci-robot

Copy link
Copy Markdown

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@deepin-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: deepin-wm

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

1 similar comment
@deepin-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: deepin-wm

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@deepin-wm deepin-wm force-pushed the fix/wm34-empty-wallpaper-multitaskview branch 2 times, most recently from 863c1f6 to 97835a3 Compare June 18, 2026 13:18
1. Fix workspaceId using index instead of actual workspace
   ID in WallpaperManager config
2. Fix MultitaskviewProxy.qml wallpaper binding to use
   delegate workspace model instead of current workspace
3. Update copyright year from 2024 to 2024-2026 in
   MultitaskviewProxy.qml (file modified in 2026)
4. Add retry mechanism for wallpaper Surface lookup
   failure with max 5 retries and exponential backoff
5. Add empty list guard in syncAddWorkspace to prevent
   workspaces[0] out-of-bounds access
6. Add containsWorkspace method to WallpaperOutputConfig
   for ID-based workspace existence check
7. Add syncRemoveWorkspace to clean up config on
   workspace removal, with Helper public wrapper for
   proper encapsulation

Log: Fixed empty wallpaper when adding new workspace
in multitaskview

Influence:
1. Test adding new workspace in multitaskview and
   verify wallpaper displays correctly
2. Test removing workspace and verify wallpaper config
   is cleaned up
3. Test wallpaper Surface retry mechanism with
   slow-loading surfaces
4. Test workspace wallpaper switching between
   multiple workspaces

fix: 多任务视图添加工作区壁纸为空

1. 修复 WallpaperManager 配置中 workspaceId 使用索引
   而非实际工作区 ID 的问题
2. 修复 MultitaskviewProxy.qml 中壁纸绑定使用代理
   工作区模型而非当前工作区的问题
3. 更新 MultitaskviewProxy.qml 版权年份从 2024
   至 2024-2026(文件于 2026 年修改)
4. 添加壁纸 Surface 查找失败时的重试机制,最大
   重试 5 次并使用指数退避
5. 在 syncAddWorkspace 中添加空列表保护,防止
   workspaces[0] 越界访问
6. 添加 containsWorkspace 方法用于基于 ID 的工作区
   存在性检查
7. 添加 syncRemoveWorkspace 方法在删除工作区时
   清理配置,并通过 Helper 公共方法包装以保持
   正确的封装性

Log: 修复多任务视图添加工作区时壁纸显示为空的问题

Influence:
1. 测试多任务视图中添加新工作区并验证壁纸正常显示
2. 测试删除工作区并验证壁纸配置被正确清理
3. 测试壁纸 Surface 重试机制在慢加载场景下的表现
4. 测试多个工作区之间切换壁纸的显示
@deepin-wm deepin-wm force-pushed the fix/wm34-empty-wallpaper-multitaskview branch from 97835a3 to 702f3e6 Compare June 18, 2026 13:51
@deepin-wm deepin-wm changed the title WM-34: fix empty wallpaper in multitaskview workspace fix: empty wallpaper in multitaskview workspace Jun 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants