Skip to content

Conversation

@dipeshmsft
Copy link
Member

Addresses #5442
This is a port of a servicing fix in .NET 4.7-4.8.

Description

As part of a mitigation for an OS problem (delivering WM_CHAR messages after the related WM_KEYDOWN message has been marked "handled"), WPF reorders the thread's message queue by removing a certain private message, then re-inserting it at the end of the queue. This happens early while acting on a WM_KEYDOWN, but has the (undocumented) side-effect of overwriting the "extra info" associated with the WM_KEYDOWN.

This is fixed by preserving the "extra info" across the call that removes the private message.

Customer Impact

Extra info attached to a WM_KEYDOWN is lost.

Regression

No.

Testing

Ad-hoc around customer scenario.
Standard regression testing.

Risk

Low. Port of a .NETFx servicing fix released earlier this year.

@ghost ghost added the PR metadata: Label to tag PRs, to facilitate with triage label Jan 27, 2022
@ghost ghost requested review from SamBent, fabiant3 and ryalanms January 27, 2022 12:07
@leecow leecow added this to the 3.1.24 milestone Feb 3, 2022
@dipeshmsft dipeshmsft merged commit 5243ad6 into dotnet:release/3.1 Feb 7, 2022
@dipeshmsft dipeshmsft deleted the pr5838-3.1 branch March 14, 2022 02:27
@ghost ghost locked as resolved and limited conversation to collaborators Apr 13, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

PR metadata: Label to tag PRs, to facilitate with triage Servicing-approved

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants