javauis/m3g_qt/javasrc/javax/microedition/m3g/Graphics3D.java
branchGCC_SURGE
changeset 40 c6043ea9b06a
parent 21 2a9601315dfc
parent 35 85266cc22c7f
--- a/javauis/m3g_qt/javasrc/javax/microedition/m3g/Graphics3D.java	Thu Jun 17 22:39:53 2010 +0100
+++ b/javauis/m3g_qt/javasrc/javax/microedition/m3g/Graphics3D.java	Fri Jun 18 16:25:31 2010 +0100
@@ -24,6 +24,7 @@
 import org.eclipse.swt.widgets.*;
 import org.eclipse.swt.graphics.*;
 import org.eclipse.swt.internal.qt.graphics.*;
+import org.eclipse.swt.internal.qt.GCData;
 import com.nokia.mj.impl.rt.support.ShutdownListener;
 import com.nokia.mj.impl.rt.support.ApplicationUtils;
 import com.nokia.mj.impl.nokialcdui.LCDUIInvoker;
@@ -214,7 +215,8 @@
             {
                 public void doRun()
                 {
-                    iSurfaceHandle = (LCDUIInvoker.getGc(finalG)).getWindowSurface().getHandle();
+                    LCDUIInvoker.startExternalRendering( finalG );
+                    iSurfaceHandle = LCDUIInvoker.getWindowSurface(finalG).getHandle();
                     iIsImageTarget = _bindGraphics(
                                          handle,
                                          iSurfaceHandle,
@@ -277,15 +279,17 @@
         }
         else if (currentTarget instanceof Graphics)
         {
-            Platform.executeInUIThread(
-                new M3gRunnable()
-            {
-                public void doRun()
+                final Graphics finalG = (Graphics)currentTarget;
+                Platform.executeInUIThread(
+                    new M3gRunnable()
                 {
-                    _releaseGraphics(handle,
-                                     iSurfaceHandle, iIsImageTarget, iIsProperRenderer);
-                }
-            });
+                    public void doRun()
+                    {
+                        _releaseGraphics(handle,
+                                         iSurfaceHandle, iIsImageTarget, iIsProperRenderer);
+                        LCDUIInvoker.endExternalRendering( finalG );
+                    }
+                });
             /*
             Graphics g = (Graphics) currentTarget;