Author: snjeza
Date: 2008-04-16 04:31:40 -0400 (Wed, 16 Apr 2008)
New Revision: 7544
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java
Log:
JBIDE-2074 NPE when executing JUnit tests for VPE
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java 2008-04-16
08:27:52 UTC (rev 7543)
+++
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java 2008-04-16
08:31:40 UTC (rev 7544)
@@ -19,6 +19,8 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.ProgressEvent;
+import org.eclipse.swt.browser.ProgressListener;
import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
@@ -83,7 +85,8 @@
private IVpeToolBarManager vpeToolBarManager;
private FormatControllerManager formatControllerManager = new
FormatControllerManager();
private VpeController controller;
- private Link link = null;
+ private Link link = null;
+ private boolean loaded;
public void doSave(IProgressMonitor monitor) {
}
@@ -234,16 +237,24 @@
super.onDispose();
}
};
+ loaded = false;
+ xulRunnerEditor.getBrowser().addProgressListener(new ProgressListener() {
+ public void changed(ProgressEvent event) {
+ }
+
+ public void completed(ProgressEvent event) {
+ loaded = true;
+ xulRunnerEditor.getBrowser().removeProgressListener(this);
+ }
+
+ });
xulRunnerEditor.setURL(INIT_URL);
// Wait while visual part is loaded
- Display.getCurrent().syncExec( new Runnable() {
- public void run() {
- while( Display.getCurrent().readAndDispatch() && getController()==null) {
- }
-
- }
- });
+ while (!loaded) {
+ if (!Display.getCurrent().readAndDispatch())
+ Display.getCurrent().sleep();
+ }
xulRunnerEditor.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
}
catch (Exception e) {
Show replies by date