Bug 248908 [Forms] BusyIndicator deadlocks UI thread
Build ID: 3.4.0 Steps To Reproduce: 1. Create a Form editor 2. Listen for PROP_DIRTY events 3. when form is dirty show the BusyIndicator by calling form.setBusy(true) 3. then when editor is not dirty anymore disable the BusyIndicator by calling form.setBusy(false) 4. the application will lock, UI thread is waiting on th synchronized setBusy() while the BusyIndicator thread is also waiting on syncExec(). More information: I have been debugging my RCP application during a whole day to find why the application was freezing. I like to have the BusyIndicator shown when the editor is dirty, and when i save it, the UI locked. Disabling the BusyIndicator solved my problem, i took time to test the BusyIndicator because i thought the problem can not come from the Eclipse Framework itself, but it seems it's a bug ! Thanks.
bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BusyIndicator.java
}
				clearImages();
			}
			if (busyThread == null && !display.isDisposed())
				display.syncExec(new Runnable() {
					public void run() {
						animationImage = null;
						if (!isDisposed())
							redraw();
					}
				});
		}
		
		public void setStop(boolean stop) {
			this.stop = stop;
		}
	}
	private static final int MARGIN = 0;	
	private static final int IMAGE_COUNT = 8;
	private static final int MILLISECONDS_OF_DELAY = 180; 
	private Image[] imageCache;
	protected Image image;
	protected Image animationImage;
	protected BusyThread busyThread;
	
	/**
	 * BusyWidget constructor comment.
	 * 
	 * @param parent
	 *            org.eclipse.swt.widgets.Composite