Skip to content

FastObjectListView - MoveObjects() attempts invalid insertion with index -1 #13

Description

@PyroGenesis

When I used MoveObjects() with an index of 0 with a collection of objects that includes the first object (at index 0), I get an IndexOutOfRangeException because it will try to insert objects at index -1.

I narrowed it down to this block of code in MoveObjects():

foreach (object modelObject in modelObjects) {
int i = this.IndexOf(modelObject);
if (i >= 0 && i <= index)
displacedObjectCount++;
}
index -= displacedObjectCount;

Since, the first object (at index 0) will satisfy the if condition, the index will be decreased from 0 to -1.
Should this condition be changed to if (i >= 0 && i < index) instead?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions