From 04aae498675b27e455a6e069abb17fbc28212a82 Mon Sep 17 00:00:00 2001 From: Chris Jones Date: Fri, 26 Dec 2008 22:56:00 +0000 Subject: [PATCH] when we remove a terminal we should remove the vte widget and remove the reference to it from the TerminatorTerm object. It's likely we are still leaking other gtk objects, but that is considerably less important than leaking vte.Terminal objects and thus child processes --- terminatorlib/terminator.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/terminatorlib/terminator.py b/terminatorlib/terminator.py index 45c7df87..7bd6e61a 100755 --- a/terminatorlib/terminator.py +++ b/terminatorlib/terminator.py @@ -770,13 +770,18 @@ class Terminator: grandparent.resize_children() if isinstance(sibling, TerminatorTerm) and isinstance(sibling.get_parent(), gtk.Notebook): sibling._titlebox.hide() - + + widget._vte.get_parent().remove(widget._vte) + widget._vte = None self.term_list.remove (widget) elif isinstance (parent, gtk.Notebook): parent.remove(widget) nbpages = parent.get_n_pages() index = self.term_list.index (widget) + + widget._vte.get_parent().remove(widget._vte) + widget._vte = None self.term_list.remove (widget) if nbpages == 1: if self.window.allocation.height != gtk.gdk.screen_height():