Summary
BreadcrumbDropDownOpenCoordinator.CloseCore never clears its _closePending flag on the
successful close path. The flag latches true after the first close that actually closes the
host and is never reset. RequestOpen consults that stale flag and can silently return a
already-closed sentinel task instead of opening the drop-down, dropping a legitimate reopen
request with no error and no log.
Environment
- OS/version: Windows 11 Pro 10.0.26200
- Runtime: .NET Framework 4.8.1 WinForms VSTO add-in with Microsoft WebView2
- Affected path: QuickFiler item folder-selector breadcrumb drop-down open/close lifetime
Steps to Reproduce
- Open the breadcrumb drop-down so
_host.IsOpen is true.
- Close it through a path that reaches
CloseCore and where _host.Close(reason) returns true.
_closePending is now permanently true.
- Cause the host to become open again through a path that does not route through
CloseCore/RequestOpen - for example SetDroppedDown(true) at :108-112, where
_openSelector() reports no change and _isSelectorOpen() is true.
- Call
RequestOpen.
- Observe that the guard at
:92 is satisfied (_closePending stale-true and _host.IsOpen
true) and ClosedTask is returned. The open request is discarded silently.
Expected Behavior
_closePending describes an in-flight close. Once _host.Close has completed successfully the
close is no longer pending, so a subsequent RequestOpen should proceed and open the drop-down.
Actual Behavior
_closePending remains true for the remaining lifetime of the coordinator, so RequestOpen can
short-circuit to ClosedTask whenever the host is open.
Logs / Screenshots
(not provided in potential file)
Impact / Severity
The user-visible symptom is a folder-selector drop-down that intermittently refuses to reopen until
the viewer is recycled. The failure is silent - no exception, no log line - which makes it
expensive to diagnose from a bug report. Severity is Medium because reaching the state requires the
specific reopen path in step 3 rather than the common open/close cycle.
Source
From: docs/features/potential/2026-08-07-breadcrumb-dropdown-coordinator-stale-closepending-drops-reopen.md
Summary
BreadcrumbDropDownOpenCoordinator.CloseCorenever clears its_closePendingflag on thesuccessful close path. The flag latches
trueafter the first close that actually closes thehost and is never reset.
RequestOpenconsults that stale flag and can silently return aalready-closed sentinel task instead of opening the drop-down, dropping a legitimate reopen
request with no error and no log.
Environment
Steps to Reproduce
_host.IsOpenis true.CloseCoreand where_host.Close(reason)returnstrue._closePendingis now permanentlytrue.CloseCore/RequestOpen- for exampleSetDroppedDown(true)at:108-112, where_openSelector()reports no change and_isSelectorOpen()is true.RequestOpen.:92is satisfied (_closePendingstale-true and_host.IsOpentrue) and
ClosedTaskis returned. The open request is discarded silently.Expected Behavior
_closePendingdescribes an in-flight close. Once_host.Closehas completed successfully theclose is no longer pending, so a subsequent
RequestOpenshould proceed and open the drop-down.Actual Behavior
_closePendingremainstruefor the remaining lifetime of the coordinator, soRequestOpencanshort-circuit to
ClosedTaskwhenever the host is open.Logs / Screenshots
(not provided in potential file)
Impact / Severity
The user-visible symptom is a folder-selector drop-down that intermittently refuses to reopen until
the viewer is recycled. The failure is silent - no exception, no log line - which makes it
expensive to diagnose from a bug report. Severity is Medium because reaching the state requires the
specific reopen path in step 3 rather than the common open/close cycle.
Source
From: docs/features/potential/2026-08-07-breadcrumb-dropdown-coordinator-stale-closepending-drops-reopen.md