javauis/eswt_qt/org.eclipse.swt/Eclipse SWT/qt/org/eclipse/swt/widgets/Tree.java
changeset 87 1627c337e51e
parent 35 85266cc22c7f
equal deleted inserted replaced
80:d6dafc5d983f 87:1627c337e51e
   976     }
   976     }
   977 
   977 
   978     void releaseChildren_pp(boolean destroy) {
   978     void releaseChildren_pp(boolean destroy) {
   979         if (topLevelItems != null) {
   979         if (topLevelItems != null) {
   980             for (int i = topLevelItemCount-1; i >= 0; i--) {
   980             for (int i = topLevelItemCount-1; i >= 0; i--) {
   981                 TreeItem item = _getItem(i);
   981                 // Cannot use _getItem here, since in a VIRTUAL style Tree it may cause
   982                 if(item.cached){
   982                 // creating a new TreeItem, which doesn't make sense when trying to release
       
   983                 // all children.
       
   984                 TreeItem item = topLevelItems[i];
       
   985                 if(item != null && item.cached){
   983                     if (item != null && !item.isDisposed() ) {
   986                     if (item != null && !item.isDisposed() ) {
   984                         item.childrenItemCount = 0;
   987                         item.childrenItemCount = 0;
   985                         item.childrenItems = null;
   988                         item.childrenItems = null;
   986                         item.childrenItemsHandle = null;
   989                         item.childrenItemsHandle = null;
   987                         item.itemHandle = 0;
   990                         item.itemHandle = 0;