From: Bruce S. <bas...@un...> - 2003-10-01 14:02:12
|
Jonathan Brandmeyer found and fixed a major bug in Visual that showed itself mainly in programs that make graphs. He found a mistake in the ordering of locking and unlocking resources associated with making an object visible or invisible. The locking/unlocking sequence was inconsistent between the main thread and the rendering thread. Manipulating obj.visible isn't very common in VPython programs, but the graph module does this a lot when autoscaling to display or hide tick marks as needed along axes. Hence it was programs that make graphs that show the problem most often. This fix doesn't cure all problems with graphing, so there must be another bug lurking somewhere, yet to be found and squashed. But it reduces the frequency of the problems and makes them milder. In particular, you can kill the windows -- no zombies. The remaining problem is that sometimes the graphing window stops graphing while other windows continue along their way, which sounds like a different problem. New Windows installer; other platforms to come shortly. A partial workaround if you're unable to update immediately is to specify fixed graphing axes with something like gdisplay(xmax=100, ymax=50) This helps by reducing the obj.visible manipulations involved in autoscaling the axes. Thank you, Jonathan! Bruce Sherwood |