From b9a688013f554d71db8eb3f5e6f984202ce08907 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 21 Apr 2011 18:29:59 +0100 Subject: [PATCH] Fix #1786: Don't reorder duplicate columns, need to dig how duplicate columns got into the state file, and also skip non visible columns. --- deluge/ui/gtkui/listview.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/deluge/ui/gtkui/listview.py b/deluge/ui/gtkui/listview.py index 4185c1445..b96ca1ad2 100644 --- a/deluge/ui/gtkui/listview.py +++ b/deluge/ui/gtkui/listview.py @@ -615,7 +615,15 @@ class ListView: if column.get_title() == header: return column + restored_columns = [] for col_state in self.state: + if col_state.name in restored_columns: + # Duplicate column in state!?!?!? + continue + elif not col_state.visible: + # Column is not visible, no need to reposition + continue + column_at_position = columns[col_state.position] if col_state.name == column_at_position.get_title(): # It's in the right position @@ -624,4 +632,5 @@ class ListView: self.treeview.move_column_after(column, column_at_position) # Get columns again to keep reordering since positions have changed columns = self.treeview.get_columns() + restored_columns.append(col_state.name) self.create_new_liststore()