diff options
author | mathieui <mathieui@mathieui.net> | 2012-12-15 21:49:11 +0100 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2012-12-15 21:49:11 +0100 |
commit | 4f084671d3a345043b92495b6b4147dbad76428e (patch) | |
tree | 73d1cae3dc845ba4d8df4a7f2d8dd1de0728aa4b | |
parent | 9f7a16141ab7f4ac6b094eb5d0836507e3edf80c (diff) | |
download | poezio-4f084671d3a345043b92495b6b4147dbad76428e.tar.gz poezio-4f084671d3a345043b92495b6b4147dbad76428e.tar.bz2 poezio-4f084671d3a345043b92495b6b4147dbad76428e.tar.xz poezio-4f084671d3a345043b92495b6b4147dbad76428e.zip |
(should) Fix #2175 ; prevent bugs caused by tab gaps
-rw-r--r-- | src/core.py | 6 | ||||
-rw-r--r-- | src/tabs.py | 7 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/core.py b/src/core.py index e74ecd01..6bd54efb 100644 --- a/src/core.py +++ b/src/core.py @@ -1012,6 +1012,10 @@ class Core(object): if config.get('create_gaps', 'false').lower() == 'true': if nb >= len(self.tabs) - 1: self.tabs.remove(tab) + nb -= 1 + while not self.tabs[nb]: # remove the trailing gaps + self.tabs.pop() + nb -= 1 else: self.tabs[nb] = tabs.GapTab() else: @@ -1506,6 +1510,8 @@ class Core(object): self.current_tab().on_lose_focus() if isinstance(nb, int): if 0 <= nb < len(self.tabs): + if not self.tabs[nb]: + return self.current_tab_nb = nb else: for tab in self.tabs: diff --git a/src/tabs.py b/src/tabs.py index c9c5d153..33f91c57 100644 --- a/src/tabs.py +++ b/src/tabs.py @@ -269,7 +269,7 @@ class Tab(object): """ Called on each screen refresh (when something has changed) """ - raise NotImplementedError + pass def get_name(self): """ @@ -389,6 +389,9 @@ class GapTab(Tab): def get_name(self): return '' + def refresh(self): + log.debug('WARNING: refresh() called on a gap tab, this should not happen') + class ChatTab(Tab): """ A tab containing a chat of any type. @@ -611,7 +614,7 @@ class ChatTab(Tab): return self._text_buffer.messages def command_say(self, line): - raise NotImplementedError + pass def on_line_up(self): return self.text_win.scroll_up(1) |