From: John H. <jdh...@ac...> - 2004-08-25 17:18:11
|
>>>>> "Mark" == Mark Howson <ao...@ds...> writes: Mark> BTW, the embedding_in_wx4 example (among others) exhibits Mark> the same problem for me. I can always reproduce it by Mark> launching and resizing the window from small to large, Mark> without ever releasing the mouse button. This usually Mark> crashes within 10 resizes or so, but as with your Mark> description it's intermittent, it can take longer. This is Mark> with Windows XP, Python 2.3.4, matplotlib 0.61.0, wxPython Mark> 2.5.2.7. It was also present in the last matplotlib and Mark> wxPython releases at least. I seem to remember the plain wx Mark> frontend also being flaky under this kind of 'abuse', but I Mark> can't seem to get that to break now. Mark> I also notice that you get a shear effect on some of the Mark> resizes (where the plot is drawn as a parallelogram). That's Mark> reproducible by shrinking the plot very small, but also Mark> occasionally happens at other sizes. I can't be sure whether Mark> the size/aspect ratio of the window causes that. Thanks for the bug reports, I thing the crash and the shear effect are both part of the same bug that arose from a floating point error in converting figure units to width and height. I believe this is a simple fix. I was able to replicate both of the buggy behaviors on my winxp box, and the following change fixed both. Perhaps you and Heiko can test on your respective scripts and let me know. On site-packages/matplotlib/backends/backend_wxagg.py, replace FigureCanvasWXAgg.draw with def draw(self): """ Render the figure using agg """ DEBUG_MSG("draw()", 1, self) FigureCanvasAgg.draw(self) s = self.tostring_rgb() w = int(self.renderer.width) h = int(self.renderer.height) image = wxEmptyImage(w,h) image.SetData(s) self.bitmap = image.ConvertToBitmap() self.gui_repaint() Let me know! Know if I can just figure out why there is the irritating flicker on resizes in win32.... JDH |