my application was working fine on models other than Nokia, but used to freeze on Nokia phones. I was wondering why. With the emulator (Nokia Developer's Suite 2.2) I found out the following:

Calling Canvas.repaint() requires somehow some 'work' of the system's Thread that is used for calling Canvas.paint(Graphics g).

Suppose the following implementation of paint:

paint(Graphics g){
.....// do preparations
..........//paint the stuff

Now, calling from my own thread
will cause a deadlock, if paint() is currently executed and it is incidently in the code segment marked "do preparations"

That's why I assume that repaint() somehow waits for the painting thread. Is this true, and if yes, why is this necessary? There is nothing about this in the j2me specs.

Best regards,