Fix a couple of subtle bugs relating to closing tabs. Closes LP #556490
This commit is contained in:
parent
182a0971bb
commit
f488231ad1
|
@ -216,12 +216,12 @@ class Notebook(Container, gtk.Notebook):
|
||||||
err('TabLabel::closetab: called on non-Notebook: %s' % widget)
|
err('TabLabel::closetab: called on non-Notebook: %s' % widget)
|
||||||
return
|
return
|
||||||
|
|
||||||
for i in xrange(0, nb.get_n_pages()):
|
for i in xrange(0, nb.get_n_pages() + 1):
|
||||||
if label == nb.get_tab_label(nb.get_nth_page(i)):
|
if label == nb.get_tab_label(nb.get_nth_page(i)):
|
||||||
tabnum = i
|
tabnum = i
|
||||||
break
|
break
|
||||||
|
|
||||||
if not tabnum:
|
if tabnum is None:
|
||||||
err('TabLabel::closetab: %s not in %s. Bailing.' % (label, nb))
|
err('TabLabel::closetab: %s not in %s. Bailing.' % (label, nb))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -231,6 +231,10 @@ class Notebook(Container, gtk.Notebook):
|
||||||
if maker.isinstance(child, 'Terminal'):
|
if maker.isinstance(child, 'Terminal'):
|
||||||
dbg('Notebook::closetab: child is a single Terminal')
|
dbg('Notebook::closetab: child is a single Terminal')
|
||||||
child.close()
|
child.close()
|
||||||
|
# FIXME: We only do this del and return here to avoid removing the
|
||||||
|
# page below, which child.close() implicitly does
|
||||||
|
del(label)
|
||||||
|
return
|
||||||
elif maker.isinstance(child, 'Container'):
|
elif maker.isinstance(child, 'Container'):
|
||||||
dbg('Notebook::closetab: child is a Container')
|
dbg('Notebook::closetab: child is a Container')
|
||||||
dialog = self.construct_confirm_close(self.window, _('tab'))
|
dialog = self.construct_confirm_close(self.window, _('tab'))
|
||||||
|
|
Loading…
Reference in New Issue