Hi,

Am Montag, den 28.11.2005, 15:47 -0500 schrieb Graham Ashton:
> On Monday 28 November, dannym wrote:
> 
> > Usually you just use a modal event loop:
> > 
> > dialog = gtk.FileChooserDialog()
> > answer = dialog.run() # hangs around until dialog is closed
> > del dialog
> 
> Hi. Wouldn't it be better to say:
> 
>   dialog.destroy()
> 
> instead of
> 
>   del dialog
> 
> ?
> 
> It was a long time ago that I did looked into this, but I found that
> in order to avoid memory leaks in long running processes that
> created/destroyed a lot of widgets, I had to explicitly call destroy()
> myself. I confess I'm not even sure if del calls it for you...

I have no idea. My gut feeling says that exactly the same should happen
when you del it manually than what would happen if it were just gc'ed
after you closed it.

However, your scenario is entirely possible too (i.e. gtk_object_destroy
is never called. Note that gtk_object_destroy is merely a method that
emits a signal "destroy" to which others can connect and make sure that
they don't hold a reference to the widget anymore, which would have
caused it to idle around indefinitely, as an immortal)

Would be worth testing .. care to test? :)

cheers,
   Danny


_______________________________________________
pygtk mailing list   [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to