Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

RemoveAtEnd on TreeViewNodeVector broken#10239

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
galenelias wants to merge1 commit intomicrosoft:main
base:main
Choose a base branch
Loading
fromgalenelias:fix-treeview-removeatend

Conversation

@galenelias
Copy link

Ported an app from UWP to WinUI3 and noticed a bunch of UI 'corruption' in our TreeView control when filtering elements. Tracked it down to TreeView.RootNodes().RemoveAtEnd() always removing the first item instead of the last item, which means you are left with a totally unexpected result, as well as being unable to remove all the items due to never being able to remove index 0.

The bug is due to incorrect parameter passing (ideally unused stack variable warnings would be enabled and would catch this), where index was intialized, but never passed to RemoveAt, causing theupdateItemsSource boolean to stand in for an index, causing us to always delete index 0 or 1 instead of N-1.

The workaround is to just manually use RemoveAt instead of RemoveAtEnd.

Description

Pass index to RemoveAtIndex call.

Motivation and Context

RemoveAtEnd is totally unusable on TreeView Nodes collections.

How Has This Been Tested?

I have not built or tested this, as the links to setting up and building this repo in theSetup and build environment section of the contributing document is a dead link, and the change is pretty straightforward.

Screenshots (if appropriate):

N/A

Ported an app from UWP to WinUI3 and noticed a bunch of UI 'corruption'in our TreeView control when filtering elements. Tracked it down toTreeView.RootNodes().RemoveAtEnd() always removing the first iteminstead of the last item, which means you are left with a totallyunexpected result, as well as being unable to remove all the items dueto never being able to remove index 0.The bug is due to incorrect parameter passing (ideally unused stackvariable warnings would be enabled and would catch this), where indexwas intialized, but never passed to RemoveAt, causing the`updateItemsSource` boolean to stand in for an index, causing us toalways delete index 0 or 1 instead of N-1.The workaround is to just manually use RemoveAt instead of RemoveAtEnd.
@microsoft-github-policy-servicemicrosoft-github-policy-servicebot added the needs-triageIssue needs to be triaged by the area owners labelDec 16, 2024
@MartyIX
Copy link
Contributor

@codendone Could someone take a look at this PR please?

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

1 more reviewer

@riverarriverarriverar approved these changes

Reviewers whose approvals may not affect merge requirements

At least 1 approving review is required to merge this pull request.

Assignees

No one assigned

Labels

needs-triageIssue needs to be triaged by the area owners

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

3 participants

@galenelias@MartyIX@riverar

[8]ページ先頭

©2009-2025 Movatter.jp