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
/*******************************************************************************
 * Copyright (c) 2006, 2009 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *     Stefan Mucke - fix for Bug 156456 
 *******************************************************************************/
package org.eclipse.ui.internal.forms.widgets;
import java.io.IOException;
import java.net.URL;
import org.eclipse.core.runtime.FileLocator;