--- 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;