Skip to content
This repository was archived by the owner on Jul 21, 2025. It is now read-only.

Conversation

@KubeRoot
Copy link

Fixes the following two (related) issues:

  • After selecting entry A, then entry B, going back in history, and reselecting entry B, the decompiler output will now include both the results for A and B concatenated together. The results for A then persist when selecting any other entry, appearing above the decompilation for the actually selected entry.
  • After selecting entry A, then entry B, and going back in history, entry A does not appear to be selected on the list.

This PR changes TreeFlattener to implement IList<object>.
The cause of the issue is the following line in Avalonia: SelectionModel.cs#L36
Specifically, when changing the selection programmatically, the SelectionModel tries to find the indices of any entries added to the selection in the source, to generate the ranges. However, since the source is casted to IEnumerable<object> here, casting the TreeFlattener results in null, causing the SelectionModel to abort updating the selection.'

Might be superseded by:

Looks like an update to Avalonia might fix this issue: ba7e8a2
It seems like the current master branch uses IEnumerable instead of IEnumerable<T>, which should sidestep the problem.

@KubeRoot
Copy link
Author

KubeRoot commented Dec 1, 2023

After getting the Avalonia v11 upgrade to (barely) run and testing, it seems to indeed not have the issue this fixes. I'm gonna leave this open just in case, but probably should be closed in favor of the Avalonia upgrade.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant