Skip to content

Conversation

@singhashish-wpf
Copy link
Contributor

@singhashish-wpf singhashish-wpf commented Jan 27, 2022

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

Description

There are two reasons the context menu does not display. The first reason is that its owner gets removed from the tree after the right-button-up gesture but before the PopupControlService initiates the display logic. The logic notices that the owner is not being displayed, and therefore doesn't display the context menu. This is by design - you shouldn't display a context menu for an element that isn't itself visible.

The second reason is that the (shared) context menu is in a bad state, where it's marked IsOpen=true, but isn't actually being displayed. The display logic doesn't do anything, since it thinks the menu is already open. This is a bug, left over from the first case, which doesn't reset IsOpen to false when it aborts the display logic. The net effect is that once a context menu doesn't open because of reason 1, it will never open again, even in cases where it should.

The fix is to reset the context menu's state when aborting the display logic.

Customer Impact

ContextMenus stop working

Regression

No

Testing

Ad-hoc around customer scenario.
Standard regression testing.

Risk

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

@singhashish-wpf singhashish-wpf requested a review from a team as a code owner January 27, 2022 07:32
@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 07:32
@singhashish-wpf
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@dipeshmsft dipeshmsft merged commit 002e9bb into dotnet:release/6.0 Feb 7, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Apr 5, 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