Commit 7634c1e
committed
Fix window close rendering bug with DesktopNeedsRender flag
Problem: Closing last window didn't clear from desktop/taskbar
Root cause: Run() loop's shouldRender check returned false when no windows exist,
preventing UpdateDisplay() from being called to render the clearing.
Solution:
- Add DesktopNeedsRender flag to RenderCoordinator
- Set flag in WindowStateService.CloseWindow() after FillRect
- Check flag in ConsoleWindowSystem.Run() shouldRender logic
- Clear flag after rendering in RenderCoordinator.UpdateDisplay()
This forces UpdateDisplay() to run even when AnyWindowDirty() returns false,
ensuring desktop clearing is rendered when last window closes.
Verified with ForceRenderTests (4 tests, all passing)1 parent 39dac5c commit 7634c1e
3 files changed
Lines changed: 59 additions & 19 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
536 | 536 | | |
537 | 537 | | |
538 | 538 | | |
539 | | - | |
540 | | - | |
| 539 | + | |
| 540 | + | |
541 | 541 | | |
542 | 542 | | |
543 | 543 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1007 | 1007 | | |
1008 | 1008 | | |
1009 | 1009 | | |
1010 | | - | |
| 1010 | + | |
1011 | 1011 | | |
1012 | 1012 | | |
1013 | 1013 | | |
1014 | | - | |
| 1014 | + | |
| 1015 | + | |
1015 | 1016 | | |
| 1017 | + | |
| 1018 | + | |
1016 | 1019 | | |
1017 | 1020 | | |
1018 | 1021 | | |
1019 | 1022 | | |
1020 | 1023 | | |
1021 | | - | |
1022 | | - | |
1023 | | - | |
1024 | | - | |
1025 | | - | |
1026 | | - | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
1027 | 1031 | | |
1028 | 1032 | | |
1029 | 1033 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
43 | 59 | | |
44 | 60 | | |
45 | 61 | | |
| |||
191 | 207 | | |
192 | 208 | | |
193 | 209 | | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
201 | 217 | | |
202 | | - | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
203 | 234 | | |
204 | | - | |
| 235 | + | |
205 | 236 | | |
206 | 237 | | |
207 | 238 | | |
208 | 239 | | |
209 | 240 | | |
| 241 | + | |
210 | 242 | | |
211 | 243 | | |
212 | 244 | | |
| |||
233 | 265 | | |
234 | 266 | | |
235 | 267 | | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
236 | 272 | | |
237 | 273 | | |
238 | 274 | | |
| |||
0 commit comments