diff -r d6dafc5d983f -r 1627c337e51e javauis/eswt_qt/org.eclipse.swt/Eclipse SWT/qt/org/eclipse/swt/widgets/TreeItem.java --- a/javauis/eswt_qt/org.eclipse.swt/Eclipse SWT/qt/org/eclipse/swt/widgets/TreeItem.java Fri Oct 15 12:29:39 2010 +0300 +++ b/javauis/eswt_qt/org.eclipse.swt/Eclipse SWT/qt/org/eclipse/swt/widgets/TreeItem.java Fri Oct 29 11:49:32 2010 +0300 @@ -778,7 +778,9 @@ void releaseChildren_pp(boolean destroy) { if (childrenItems != null) { for (int i = childrenItemCount-1; i >= 0; i--) { - TreeItem item = _getItem(i); + // Don't use _getItem() here, in a VIRTUAL style Tree it would + // cause children items to be created. + TreeItem item = childrenItems[i]; if (item != null && !item.isDisposed()) { item.release(destroy);