mirror of https://github.com/icsharpcode/ILSpy.git
Browse Source
Three small follow-ups to #3705's lazy-resource fix: * Replace `_ = RefreshInternalAsync()` with `RefreshInternalAsync().HandleExceptions()`. The previous fire-and- forget discard silently swallowed any exception thrown outside the explicit Catch helper on GetMetadataFileAsync; HandleExceptions is the codebase's idiomatic helper that surfaces the failure into the decompile text view. * Look up the path-root assembly via AssemblyList.FindAssembly (an O(1) hash lookup keyed by OrdinalIgnoreCase, with Path.GetFullPath canonicalisation) instead of an O(n) foreach with case-sensitive string equality. Same shape used by the rest of the codebase. * Detect the user navigating during the GetMetadataFileAsync await (which can take ~2s for a sizeable WPF assembly) and bail out of the path-restore. Without this, clicking another tree node mid- refresh would be silently overwritten when the deferred SelectNode jumped back to the captured pre-refresh path. No behavior change for the .baml refresh fix itself. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>pull/3726/head
1 changed files with 16 additions and 6 deletions
Loading…
Reference in new issue