Potential fix for agf3d issue.
diff --git a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf3d/src/org/eclipse/amp/agf3d/ScapeEditRoot3DPart.java b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf3d/src/org/eclipse/amp/agf3d/ScapeEditRoot3DPart.java
index f3b8ac3..86d0cc5 100644
--- a/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf3d/src/org/eclipse/amp/agf3d/ScapeEditRoot3DPart.java
+++ b/org.eclipse.amp.agf/plugins/org.eclipse.amp.agf3d/src/org/eclipse/amp/agf3d/ScapeEditRoot3DPart.java
@@ -32,6 +32,7 @@
import org.eclipse.draw3d.IFigure3D;
import org.eclipse.draw3d.ISceneListener;
import org.eclipse.draw3d.ISurface;
+import org.eclipse.draw3d.LightweightSystem3D;
import org.eclipse.draw3d.RenderContext;
import org.eclipse.draw3d.SurfaceLayout;
import org.eclipse.draw3d.camera.ICamera;
@@ -60,6 +61,13 @@
public synchronized void update(IModel model) {
beginPainting();
+ LightweightSystem3D lws = ((GraphicalViewer3D) getViewer()).getLightweightSystem3D();
+ while (lws.getUpdateManager3D().getCanvas() == null) {
+ try {
+ Thread.sleep(50);
+ } catch (InterruptedException e) {
+ }
+ }
if (firstTime) {
animateCamera = false;
moveCameraHelicopter();