? Pm.diff Index: src/org/netbeans/api/projects/ProjectMember.java =================================================================== RCS file: /cvs/projects/core/src/org/netbeans/api/projects/Attic/ProjectMember.java,v retrieving revision 1.1.2.27 diff -c -r1.1.2.27 ProjectMember.java *** src/org/netbeans/api/projects/ProjectMember.java 26 Aug 2003 14:50:08 -0000 1.1.2.27 --- src/org/netbeans/api/projects/ProjectMember.java 5 Sep 2003 21:01:19 -0000 *************** *** 53,59 **** * @author Vitezslav Stejskal */ public final class ProjectMember implements ProjectContext { - /** Name of property valid */ public static final String PROP_VALID = "ProjectMember-property-valid"; //NOI18N /** Name of property broken */ --- 53,58 ---- *************** *** 65,72 **** private PropertyChangeSupport propSupp = null; - private boolean environmentConstruction = false; - /** Creates a new instance of ProjectMember */ ProjectMember (Project project, ProjectMemberList.Item item) { this.project = project; --- 64,69 ---- *************** *** 487,505 **** setLookups(lkps); } ! protected void beforeLookup(Lookup.Template template) { if (getLookups().length == 0) { // XXX: hot fix, really bad, deadlocks // synchronized (item.getLock()) { if (!item.isValid() || item.isBroken()) { setLookups(new Lookup [] { Lookup.EMPTY }); ! } else if (!environmentConstruction) { ! try { ! environmentConstruction = true; ! setLookups(createLookup()); ! } finally { ! environmentConstruction = false; ! } } // } } --- 484,497 ---- setLookups(lkps); } ! protected synchronized void beforeLookup(Lookup.Template template) { if (getLookups().length == 0) { // XXX: hot fix, really bad, deadlocks // synchronized (item.getLock()) { if (!item.isValid() || item.isBroken()) { setLookups(new Lookup [] { Lookup.EMPTY }); ! } else { ! setLookups(createLookup()); } // } }