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.

This commit is contained in:
Chris Jones 2008-12-26 20:24:11 +00:00
parent f7d649d724
commit 5c09dc4b6b
2 changed files with 3 additions and 15 deletions

View File

@ -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

View File

@ -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()