On 09/04/2013 at 14:51, xxxxxxxx wrote:
Hi Scott,
your thread is still running while the Execute() method has already reached its end. At the point
you check if the thread is still running, the thread is actually still running, and you never happen
to reach this statement again. Try this instead:
if self.thread and self.thread.IsRunning() :
print "Cannot start render, still running ..."
else:
self.thread.Start()
If you pressed the command in Cinema, it will start to render. If you then press it again and
rendering is not done at this point, it will tell you about this, otherwise it will start a new
render thread.
You do not have to call End() on the thread object. If you wanted to wait until the thread is
finished, you would again block Cinema's main-thread resulting in a temporary freeze.
PS: One usually explictly binds a thread to a context, it is rather unusual to create one thread
object and start it more than once. 
Best,
-NIklas