CommunityToolkit / CommunityToolkit/Labs-Windows
Possible memory leak when reloading images in MarkdownTextBlock
- Dominant language
- C#
- Stars
- 482
- Forks
- 89
- PR merge metrics
- No merged PRs in 30d
Description
### Describe the bug
Found by Copilot in https://github.com/CommunityToolkit/Labs-Windows/pull/771/
> When using IImageProvider, the _image instance is replaced with a new Image object from the provider. This means the Loaded event handler attached in Init() is lost, since it was attached to the original _image instance. However, since this code is already executing within the LoadImage handler and _loaded is set to true immediately after, this might work correctly. Consider whether the event handler should be detached from the old image or if there's a risk of memory leaks from the orphaned handler on the original image object.
### Steps to reproduce
```text
Unknown, need investigation.
```
### Expected behavior
No memory leaks when images are changed.
### Screenshots
_No response_
### Code Platform
- [ ] UWP
- [ ] WinAppSDK / WinUI 3
- [ ] Web Assembly (WASM)
- [ ] Android
- [ ] iOS
- [ ] MacOS
- [ ] Linux / GTK
### Windows Build Number
- [ ] Windows 10 1809 (Build 17763)
- [ ] Windows 10 1903 (Build 18362)
- [ ] Windows 10 1909 (Build 18363)
- [ ] Windows 10 2004 (Build 19041)
- [ ] Windows 10 20H2 (Build 19042)
- [ ] Windows 10 21H1 (Build 19043)
- [ ] Windows 11 21H2 (Build 22000)
- [ ] Other (specify)
### Other Windows Build number
_No response_
### App minimum and target SDK version
- [ ] Windows 10, version 1809 (Build 17763)
- [ ] Windows 10, version 1903 (Build 18362)
- [ ] Windows 10, version 1909 (Build 18363)
- [ ] Windows 10, version 2004 (Build 19041)
- [ ] Other (specify)
### Other SDK version
_No response_
### Visual Studio Version
_No response_
### Visual Studio Build Number
_No response_
### Device form factor
_No response_
### Additional context
_No response_
### Help us help you
Yes, I'd like to be assigned to work on this item.
Contributor guide
Assessment
This issue has not been assessed yet.