rowett wrote:When you do a g.update() in a Python script does it render synchronously, or just schedule a render to happen at the next OnPaint?
Funny you should ask that. Pattern rendering is only done via OnPaint, but an Update() call is meant to force that to occur immediately. That's true on Mac and Windows, but on Linux the OnPaint event is only generated the next time events are processed, which when a script is running means when we call Yield(), which only happens at most 10 times per second.
I only learned this a couple of weeks ago while writing a script that did some heavy animation -- the animation was nice and smooth on Mac/Win but jerky on Linux. I fixed the problem by adding some wxGTK-specific code in wxscript.cpp so that Yield() is called after a g.update or when g.autoupdate is turned on. I've just committed those changes so you might like to try them and see if they somehow prevent the weird bug.