I installed mpl from git ("git clone git://github.com/matplotlib/matplotlib.git", unless I was suppose to use one of the branches) and same problem. I looked at my code again and thought there should be a canvas.draw() before calling "c.copy_from_bbox(a.bbox)", but still the same problem. However, I did have it work the first time I added "c.draw()" and used the git mpl, and by work I mean that everything stayed visible on the figure.
When people start coming in to my work I'll ask them to run my sample code and see what happens. It almost seems like mpl is handling the window activation event funny, is there an easy way to print out the callbacks being used by a mpl figure? For now, I will subclass QApplication, and implement "notify()" to print out events as they come in, but still...this is just weird. Thanks.
On 12/14/11 10:30 PM, Eric Firing wrote:
It works for me on linux with mpl from git. I haven't tried to figure
it out, but it is conceivable that the problem you are seeing was fixed
Author: Eric Firing<efiring@...202...>
Date: Tue Oct 18 08:06:21 2011 -1000
backend_qt4agg: draw() immediately calls FigureCanvasAgg.draw()
This is the latest in a series of modifications to the Qt4Agg
drawing strategy going back several years. It simplifies the
code and should solve the problem introduced in 6938b0025; that
is, delaying the Agg draw operation until the paintEvent breaks
code expecting that draw operation to have occurred immediately.
The problem was reported here: