Index: GlobalCommandsProvider.java =================================================================== RCS file: /cvs/vcsgeneric/src/org/netbeans/modules/vcs/advanced/globalcommands/GlobalCommandsProvider.java,v retrieving revision 1.9 diff -u -r1.9 GlobalCommandsProvider.java --- GlobalCommandsProvider.java 31 Mar 2005 12:51:44 -0000 1.9 +++ GlobalCommandsProvider.java 6 Apr 2005 10:22:02 -0000 @@ -59,11 +59,16 @@ private int numberOfFinishedCmdsToCollect = RuntimeFolderNode.DEFAULT_NUM_OF_FINISHED_CMDS_TO_COLLECT; private boolean runtimeCreated = false; private boolean expertMode = false; + private boolean initialized = false; /** Creates a new instance of GlobalCommandsProvider - to be called only by the Lookup system. * Do not call directly! */ public GlobalCommandsProvider() { + instance = this; + } + + private synchronized void initialize() { ProfilesFactory factory = ProfilesFactory.getDefault(); String names[] = factory.getProfilesNames(); for (int i = 0; i < names.length; i++) { @@ -75,7 +80,7 @@ profile.addPropertyChangeListener(this); } factory.addPropertyChangeListener(WeakListeners.propertyChange(this, factory)); - instance = this; + initialized = true; } /** @@ -141,6 +146,11 @@ } private void collectCommands() { + synchronized (this) { + if (!initialized) { + initialize(); + } + } Profile[] profiles = (Profile[]) profilesByNames.values().toArray(new Profile[0]); commands = createCommandsFromProfiles(profiles); fillCommands(commands);