add more debugging to try and figure out the segfault bug
This commit is contained in:
parent
e95f07eb12
commit
2c5a4bd379
32
terminator
32
terminator
|
@ -1061,29 +1061,40 @@ class Terminator:
|
|||
pane = (vertical) and gtk.VPaned () or gtk.HPaned ()
|
||||
|
||||
# get the parent of the provided terminal
|
||||
parent = widget.get_parent ()
|
||||
parent = widget.get_parent ()
|
||||
dbg ('SEGBUG: add() Got parent')
|
||||
if isinstance (parent, gtk.Window):
|
||||
dbg ('SEGBUG: parent is a gtk.Window')
|
||||
# We have just one term
|
||||
widget.reparent (pane)
|
||||
dbg ('SEGBUG: reparented widget: %s'%widget)
|
||||
if pos in ("top", "left"):
|
||||
dbg ('SEGBUG: pos is in top/left')
|
||||
pane.remove(widget)
|
||||
dbg ('SEGBUG: removed widget from pane')
|
||||
pane.pack1 (terminal, True, True)
|
||||
dbg ('SEGBUG: packed terminal')
|
||||
pane.pack2 (widget, True, True)
|
||||
dbg ('SEGBUG: packed widget')
|
||||
else:
|
||||
dbg ('SEGBUG: pos is not in top/left')
|
||||
pane.pack1 (widget, True, True)
|
||||
dbg ('SEGBUG: packed widget')
|
||||
pane.pack2 (terminal, True, True)
|
||||
dbg ('SEGBUG: packed terminal')
|
||||
parent.add (pane)
|
||||
dbg ('SEGBUG: added pane to parent')
|
||||
|
||||
position = (vertical) and parent.allocation.height \
|
||||
or parent.allocation.width
|
||||
|
||||
if (isinstance (parent, gtk.Notebook) or isinstance (parent, gtk.Window)) \
|
||||
and \
|
||||
widget.conf.titlebars:
|
||||
if (isinstance (parent, gtk.Notebook) or isinstance (parent, gtk.Window)) and widget.conf.titlebars:
|
||||
#not the only term in the notebook/window anymore, need to reshow the title
|
||||
dbg ('SEGBUG: Showing _titlebox')
|
||||
widget._titlebox.show()
|
||||
|
||||
if isinstance (parent, gtk.Notebook):
|
||||
dbg ('SEGBUG: Parent is a notebook')
|
||||
page = -1
|
||||
|
||||
for i in range(0, parent.get_n_pages()):
|
||||
|
@ -1106,14 +1117,16 @@ class Terminator:
|
|||
parent.set_tab_reorderable(pane, True)
|
||||
parent.set_current_page(page)
|
||||
|
||||
|
||||
position = (vertical) and parent.allocation.height \
|
||||
or parent.allocation.width
|
||||
|
||||
if isinstance (parent, gtk.Paned):
|
||||
dbg ('SEGBUG: parent is a Paned')
|
||||
# We are inside a split term
|
||||
position = (vertical) and widget.allocation.height \
|
||||
or widget.allocation.width
|
||||
|
||||
dbg ('SEGBUG: Preparing to reparent sibling')
|
||||
if (widget == parent.get_child1 ()):
|
||||
widget.reparent (pane)
|
||||
parent.pack1 (pane, True, True)
|
||||
|
@ -1122,22 +1135,28 @@ class Terminator:
|
|||
parent.pack2 (pane, True, True)
|
||||
|
||||
if pos in ("top", "left"):
|
||||
dbg ('SEGBUG: pos is in top/left. Removing and re-ordering')
|
||||
pane.remove(widget)
|
||||
pane.pack1 (terminal, True, True)
|
||||
pane.pack2 (widget, True, True)
|
||||
else:
|
||||
dbg ('SEGBUG: pos is not in top/left. Packing')
|
||||
pane.pack1 (widget, True, True)
|
||||
pane.pack2 (terminal, True, True)
|
||||
|
||||
dbg ('SEGBUG: packing widget and terminal')
|
||||
pane.pack1 (widget, True, True)
|
||||
pane.pack2 (terminal, True, True)
|
||||
dbg ('SEGBUG: packed widget and terminal')
|
||||
|
||||
# show all, set position of the divider
|
||||
dbg ('SEGBUG: Showing pane')
|
||||
pane.show ()
|
||||
dbg ('SEGBUG: Showed pane')
|
||||
pane.set_position (position / 2)
|
||||
dbg ('SEGBUG: Set position')
|
||||
terminal.show ()
|
||||
|
||||
|
||||
# insert the term reference into the list
|
||||
index = self.term_list.index (widget)
|
||||
if pos in ('bottom', 'right'):
|
||||
|
@ -1308,6 +1327,7 @@ class Terminator:
|
|||
terminal = TerminatorTerm (self, self.profile, None, widget.get_cwd())
|
||||
dbg ('SEGBUG: Created TerminatorTerm')
|
||||
pos = vertical and "right" or "bottom"
|
||||
dbg ('SEGBUG: Position is: %s'%pos)
|
||||
self.add(widget, terminal, pos)
|
||||
dbg ('SEGBUG: added TerminatorTerm to container')
|
||||
terminal.show ()
|
||||
|
|
Loading…
Reference in New Issue