I pretty sure I have found a bug in the S60 implementation of JSR-226.

The code below should not produce any visible output but there is a grey box visible on a S60 emulator or device.

Its seems to be the combination of using ScalableGraphics.setTransparency() with a value less than 1 and Graphics.setClip() with a clip region less that full screen.

Has anyone come across this before? Can anyone figure out a workaround? Having to set the clip to full screen is seriously effecting the performance of my app :-(

import javax.microedition.m2g.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class Midlet extends MIDlet {

    public void startApp() {
      Canvas canvas = new Canvas() {
        protected void paint(Graphics g) {
          g.setClip(getWidth()/4, getHeight()/4, getWidth()/2, getHeight()/2);
          ScalableGraphics sg = ScalableGraphics.createInstance();
          sg.render(0, 0, SVGImage.createEmptyImage(null));

    public void pauseApp() {

    public void destroyApp(boolean unconditional) {