Commit ceaea6a
fix: prevent window blur loss on destruction in treeland platform
1. Added destructor cleanup for PersonalizationWindowContext,
PersonalizationAppearanceContext, and PersonalizationFontContext to
properly destroy wayland protocol objects
2. Added deferred deletion of m_windowContext in
DTreeLandPlatformWindowHelper destructor to prevent dangling pointer
access
3. Fixed the intermittent window blur loss issue by ensuring wayland
objects are properly cleaned up before the parent window is removed from
the window map
Log: Fixed intermittent window blur loss issue in treeland
Influence:
1. Test window creation and destruction with blur effects enabled
2. Verify window blur effect persists during normal usage
3. Test rapid window open/close cycles to reproduce the intermittent
blur loss
4. Verify no crashes or memory leaks when windows are destroyed
5. Test on treeland platform with multiple windows and frequent window
operations
fix: 修复treeland平台上窗口销毁时模糊效果丢失问题
1. 为PersonalizationWindowContext、PersonalizationAppearanceContext和
PersonalizationFontContext添加析构函数,确保正确销毁wayland协议对象
2. 在DTreeLandPlatformWindowHelper析构函数中添加m_windowContext的延迟删
除,防止悬空指针访问
3. 通过在从窗口映射表中移除父窗口前清理wayland对象,修复间歇性窗口模糊丢
失问题
Log: 修复treeland平台上窗口模糊偶现丢失问题
Influence:
1. 测试开启模糊效果时的窗口创建和销毁
2. 验证正常使用时窗口模糊效果持续保持
3. 测试快速打开/关闭窗口循环以重现间歇性模糊丢失问题
4. 验证窗口销毁时无崩溃或内存泄漏
5. 在treeland平台上使用多个窗口和频繁窗口操作进行测试
PMS: BUG-3454891 parent 93b8639 commit ceaea6a
3 files changed
Lines changed: 27 additions & 3 deletions
File tree
- src/plugins/platform/treeland
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
223 | | - | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
224 | 227 | | |
225 | 228 | | |
226 | 229 | | |
| |||
Lines changed: 19 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
76 | 88 | | |
77 | 89 | | |
78 | 90 | | |
| |||
118 | 130 | | |
119 | 131 | | |
120 | 132 | | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
121 | 139 | | |
122 | 140 | | |
123 | 141 | | |
| |||
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
51 | 52 | | |
52 | 53 | | |
53 | 54 | | |
| |||
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
| 60 | + | |
59 | 61 | | |
60 | 62 | | |
61 | 63 | | |
| |||
73 | 75 | | |
74 | 76 | | |
75 | 77 | | |
| 78 | + | |
76 | 79 | | |
77 | 80 | | |
78 | 81 | | |
| |||
0 commit comments