Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Oct 21, 2025

Backport of #13978 to release/10.0

/cc @JeremyKuhne

Customer Impact

Changing LinkLabel state during events can cause the app to crash as we'll try to give GDI+ a null pointer. There is no known workaround to this as internal state can't be changed as events are being processed.

A System.Drawing Region disposal was moved to a location that would let it get used after disposal by another holder of the Region. The fix is to move the disposal back to its original location.

Testing

Manual testing of the end users' repro. Existing automated coverage.

This is not plausible to unit test as it requires a long sequence of messages to reproduce. (MouseEnter, MouseHover, MouseUp, and more.)

Risk

Low. Moving the disposal back to where it was originally, which is before the new Region is created and applied.

Microsoft Reviewers: Open in CodeFlow

Disposing in InvalidateLayout would break when accessing the links VisualRegion as it is shared.

Fixes #13973
@github-actions github-actions bot requested a review from a team as a code owner October 21, 2025 22:18
@JeremyKuhne JeremyKuhne added the servicing-consider .NET Shiproom label indicating a PR seeks to enter into a branch under Tell-Mode criteria label Oct 21, 2025
@JeremyKuhne JeremyKuhne added this to the .NET 10.0 milestone Oct 21, 2025
@codecov
Copy link

codecov bot commented Oct 21, 2025

Codecov Report

❌ Patch coverage is 33.33333% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 77.10239%. Comparing base (4ec4481) to head (02fd002).
⚠️ Report is 2 commits behind head on release/10.0.

Additional details and impacted files
@@                  Coverage Diff                   @@
##           release/10.0      #13979         +/-   ##
======================================================
+ Coverage      77.10112%   77.10239%   +0.00127%     
======================================================
  Files              3273        3273                 
  Lines            644931      644932          +1     
  Branches          47692       47692                 
======================================================
+ Hits             497249      497258          +9     
+ Misses           144014      144004         -10     
- Partials           3668        3670          +2     
Flag Coverage Δ
Debug 77.10239% <33.33333%> (+0.00127%) ⬆️
integration 18.97909% <33.33333%> (-0.00495%) ⬇️
production 51.91709% <33.33333%> (+0.00294%) ⬆️
test 97.41248% <ø> (ø)
unit 49.33851% <33.33333%> (+0.00504%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@JeremyKuhne JeremyKuhne added servicing-approved .NET Shiproom approved the PR for merge and removed servicing-consider .NET Shiproom label indicating a PR seeks to enter into a branch under Tell-Mode criteria labels Oct 22, 2025
@JeremyKuhne JeremyKuhne merged commit 41ffcec into release/10.0 Oct 22, 2025
8 checks passed
@JeremyKuhne JeremyKuhne deleted the backport/pr-13978-to-release/10.0 branch October 22, 2025 00:06
@github-actions github-actions bot locked and limited conversation to collaborators Nov 21, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

servicing-approved .NET Shiproom approved the PR for merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants