Iterator.remove() could be called twice when refreshing keys
authorTim Boudreau <tboudreau@netbeans.org>
Sun, 08 Jul 2012 20:46:58 -0400
changeset 1784867eb479f8734
parent 17847 227da6813a4f
child 17849 77f384fa7ef5
Iterator.remove() could be called twice when refreshing keys
nodejs/manifest.mf
nodejs/src/org/netbeans/modules/nodejs/NodeProjectSourceNodeFactory.java
     1.1 --- a/nodejs/manifest.mf	Sat Jun 30 04:04:12 2012 -0400
     1.2 +++ b/nodejs/manifest.mf	Sun Jul 08 20:46:58 2012 -0400
     1.3 @@ -3,5 +3,5 @@
     1.4  OpenIDE-Module-Layer: org/netbeans/modules/nodejs/layer.xml
     1.5  OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/nodejs/Bundle.properties
     1.6  OpenIDE-Module-Requires: org.openide.modules.os.Unix
     1.7 -OpenIDE-Module-Specification-Version: 1.18
     1.8 +OpenIDE-Module-Specification-Version: 1.19
     1.9  
     2.1 --- a/nodejs/src/org/netbeans/modules/nodejs/NodeProjectSourceNodeFactory.java	Sat Jun 30 04:04:12 2012 -0400
     2.2 +++ b/nodejs/src/org/netbeans/modules/nodejs/NodeProjectSourceNodeFactory.java	Sun Jul 08 20:46:58 2012 -0400
     2.3 @@ -235,7 +235,7 @@
     2.4          }
     2.5          Collections.sort(keys);
     2.6          keys.addAll(0, sources);
     2.7 -        for (Iterator<Key> it=keys.iterator(); it.hasNext();) {
     2.8 +        outer:        for (Iterator<Key> it=keys.iterator(); it.hasNext();) {
     2.9              Key k = it.next();
    2.10              if (k.type == KeyTypes.MISSING_LIBRARY) {
    2.11                  for (Key k1 : new LinkedList<Key>(keys)) {
    2.12 @@ -244,11 +244,14 @@
    2.13                      }
    2.14                      if (k.toString().equals(k1.toString()) && k1.type != KeyTypes.MISSING_LIBRARY) {
    2.15                          it.remove();
    2.16 +                        break outer;
    2.17                      } else if (k.type == k1.type && k.toString().equals(k1.toString())) {
    2.18                          it.remove();
    2.19 +                        break outer;
    2.20                      }
    2.21                      if (k.fld != null && k1.fld != null && k.fld.equals(k1.fld)) {
    2.22                          it.remove();
    2.23 +                        break outer;
    2.24                      }
    2.25                  }
    2.26              }