Community
Participate
Working Groups
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12 (.NET CLR 3.5.30729) Build Identifier: M20090211-1700 I have been using Ganymede on a new machine (Vista 32 bit) with a single workspace (default) for a couple of months now with no issues. I created a new workspace to work on a different branch of code. In the new workspace, I set up two classpath variables and noticed I set the directory in one wrong. I selected it, hit "Edit", changed the directory to the correct one and clicked "OK". When I click "OK" on the "Preferences" window I am prompted to do a full rebuild. It doesn't matter if I choose "Yes" or "No", I get the "Progress Information" window informing me that it is "Setting classpath variables..." and it just sits there. I have let it go for over 30 minutes without any changes. If I click "Cancel" the button depresses, but again, it just sits there. I have to kill the process in task manager (which warns me the application is waiting for my input?). If I switch back to the old workspace, edit a classpath variable, then switch to the new workspace, SOMETIMES it will let me edit a classpath variable successfully, but not always. I can always successfully edit the classpath variables in my original workspace. The classpath variable names in the new workspace are the same as those I have in the old workspace - I don't know if this is a factor or not. Reproducible: Sometimes Steps to Reproduce: 1. Create new workspace 2. Create classpath variables 3. Edit Folder element of classpath variable 4. Choose "No" when prompted to rebuild workspace
Reproduced in HEAD with these steps: - new workspace - import org.eclipse.jdt.ui as source - define a classpath variable "VAR" that points to a folder - edit build path of o.e.jdt.ui and add variable VAR (without extension) - while the project is rebuilding, open Preferences > Classpath Variables, modify the variable to point to another folder, and click OK, OK
The problem is that org.eclipse.jdt.internal.ui.wizards.buildpaths.VariableBlock.performOk() opens a ProgressMonitorDialog. It should use IProgressService (not sure if that's possible from within a dialog) or a Job.
Fixed in HEAD of org.eclipse.jdt.internal.ui.wizards.buildpaths.VariableBlock.
Startting to verify...
Verified for 3.6 M3 with I20091026-1800. The progress bar is shown now but there is a lot of flickering that happens due to many items "Queueing viewer updates" flashing in and out of the list. Filed bug 293412 to track.