From 5c09dc4b6b7225742d99b4e0dbe272571d7ad199 Mon Sep 17 00:00:00 2001 From: Chris Jones Date: Fri, 26 Dec 2008 20:24:11 +0000 Subject: [PATCH] turns out that we are somehow sucking at unreferencing our objects, so we need to start tightening these things up. stop calling destroy() on anything other than toplevels, it makes no sense. Don't send the sighup, only because I want to track this down properly. --- terminatorlib/terminator.py | 9 +++------ terminatorlib/terminatorterm.py | 9 --------- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/terminatorlib/terminator.py b/terminatorlib/terminator.py index dd518092..45c7df87 100755 --- a/terminatorlib/terminator.py +++ b/terminatorlib/terminator.py @@ -718,7 +718,7 @@ class Terminator: dbg ('SEGBUG: showed TerminatorTerm') terminal.spawn_child () dbg ('SEGBUG: spawned child') - return terminal + return def remove(self, widget): """Remove a TerminatorTerm from the Terminator view and terms list @@ -730,7 +730,7 @@ class Terminator: # We are the only term if not self.on_delete_event (parent, gtk.gdk.Event (gtk.gdk.DELETE)): self.on_destroy_event (parent, gtk.gdk.Event (gtk.gdk.DESTROY)) - return + return True if isinstance (parent, gtk.Paned): index = self.term_list.index (widget) @@ -768,7 +768,6 @@ class Terminator: sibling.reparent (grandparent) if not self._zoomed: grandparent.resize_children() - parent.destroy () if isinstance(sibling, TerminatorTerm) and isinstance(sibling.get_parent(), gtk.Notebook): sibling._titlebox.hide() @@ -797,7 +796,6 @@ class Terminator: gdparent.pack2(sibling) if isinstance(sibling, TerminatorTerm) and sibling.conf.titlebars and sibling.conf.extreme_tabs: sibling._titlebox.show() - parent.destroy() if self.conf.focus_on_close == 'prev' or ( self.conf.focus_on_close == 'auto' and focus_on_close == 'prev'): if index == 0: index = 1 self.term_list[index - 1]._vte.grab_focus () @@ -818,9 +816,8 @@ class Terminator: dbg ("closeterm function called while in zoomed mode. Restoring previous layout before closing.") self.toggle_zoom(widget, not self._maximised) - widget.sighup() + #widget.sighup() if self.remove(widget): - widget.destroy () return True return False diff --git a/terminatorlib/terminatorterm.py b/terminatorlib/terminatorterm.py index 4ddf1d27..38aa4c4a 100755 --- a/terminatorlib/terminatorterm.py +++ b/terminatorlib/terminatorterm.py @@ -501,12 +501,6 @@ text/plain err (_('Unable to start shell: ') + shell) return (-1) - def sighup (self): - try: - os.kill(self._pid, signal.SIGHUP) - except OSError: - dbg('Unable to send SIGHUP to %d' % self._pid) - def get_cwd (self): """ Return the current working directory of the subprocess. This function requires OS specific behaviours @@ -1294,6 +1288,3 @@ text/plain notebookpage[0].set_tab_label(notebookpage[1], label) notebookpage = self.terminator.get_first_notebook_page(notebookpage[0]) - def destroy(self): - self._vte.destroy() -