|
From: Barry D. <bl...@ad...> - 2003-10-22 05:00:26
|
Thanks John. That fixed the hanging process.
Now a message is coming back "none active" from the
function:
def _get_active(self):
if len(GcfBase._activeQue)==0:
print 'None active'
return None
else: return self._activeQue[-1]
in the _matlab_helpers.py file.
I haven't traced it back further yet.
Cheers.
Barry
--- John Hunter <jdh...@ac...> wrote:
> >>>>> "Barry" == Barry Drake <bl...@ad...>
> writes:
>
> Barry> I'm observing some difference in behavior
> between the two
> Barry> versions. Running some example code in
> 0.29, after closing
> Barry> the plot windows, the python.exe process
> quits normally.
> Barry> The same example using 0.30 hangs the
> process and I have to
> Barry> kill it by hand. This occurs both at the
> command line and
> Barry> from within my editor (normally I execute
> from the editor).
>
> Barry> Any ideas? Do I need to change some set
> up from when I was
> Barry> using 0.29?
>
> Yes. I made several changes to this part of
> matplotlib to iron out
> some interactive bugs, and a new one crept in; I
> didn't notice it in
> my tests. The quick fix is to add the following
> code to
> matplotlib/backends/backend_gtk.py at line 773
>
> if GcfGTK.get_num_figwins()==0 and
> ShowOn().is_mainloop_on():
> gtk.mainquit()
>
> This is in the GcfGTK.destroy function, so the
> entire function should
> read
>
> def destroy(num):
> if not GcfBase.has_fignum(num): return
> figwin = GcfGTK.figs[num]
> figwin.figure.drawable= None
> GcfBase.destroy(num)
> if GcfGTK.get_num_figwins()==0 and
> ShowOn().is_mainloop_on():
> gtk.mainquit()
> destroy = staticmethod(destroy)
>
> This should restore the old functionality -- let me
> know if you see
> anymore strangeness. I'll check the change into
> CVS.
>
> [BTW, I posted the 0.30 announce to this mailing
> list this afternoon,
> but it didn't seem to make it. Hmmm.... Have I
> been moderated out of
> existence :-) ]
>
> Thanks for the bug report,
> John Hunter
|