Required Information

Version(s) of Ext GWT
3.0.1

Browser versions and OS
(and desktop environment, if applicable)
FireFox 17.0.5 on Win7 Enterprise SP1

Virtual Machine
No

Description
Drag&Drop crashes the app right away on starting to drag, if a folder and one of its child-folders and one of its child-leafs is selected.
(not all the time; seems like order of selection is important)

Run mode
- production mode v3.0.1 (Sencha Demo)
- development mode, v3.0.0b (my app)

Steps to reproduce the problem
  1. Go to Reordering Tree Example
  2. Choose folder "overview" and drag it onto folder "Windows"
  3. Open folders "Windows" and "overview"
  4. Choose folder "Windows" and select all items to the bottom including leaf "Overview" in fodler "overview" by holding shift key while clicking leaf "overview"
  5. try to drag the whole selection; this leads to UmbrellaException

Expected result
Starting drag process

Actual result
"Error: One or more exceptions caught, see full set in UmbrellaException#getCauses"

Test case
Code:
none, see above
Helpful Information
"Reordering TreeGrid and "TreeGrid to TreeGrid" Examples show same problem.

Debugging already done
In DevMode of GXT3.0.0b I got this:
Code:
Caused by: java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
    at java.util.ArrayList.RangeCheck(ArrayList.java:547)
    at java.util.ArrayList.remove(ArrayList.java:387)
    at com.sencha.gxt.dnd.core.client.TreeDragSource.onDragStart(TreeDragSource.java:133)
Seems like a leaf, which has been removed in the cycle before, cause its parent is selected too, gets removed again, cause its grandparent is selected too.
Possible fix
Break while loop after remove! After a remove operation, index i points to a different item or out of bounds. The ladder one made me notice this faulty behaivor. But pointing to a different item (and possibly removing it) is a naughty bug!