diff --git a/deluge/ui/gtkui/gtkui.py b/deluge/ui/gtkui/gtkui.py index e476e911c..bb0429af7 100644 --- a/deluge/ui/gtkui/gtkui.py +++ b/deluge/ui/gtkui/gtkui.py @@ -263,6 +263,8 @@ class GtkUI(object): def pre_shutdown(self, *args, **kwargs): """Modal dialogs can prevent the application exiting so destroy mainwindow""" + # Ensure columns state is saved + self.torrentview.save_state() self.mainwindow.window.destroy() def print_rpc_stats(self): diff --git a/deluge/ui/gtkui/torrentview.py b/deluge/ui/gtkui/torrentview.py index d84c10e41..8b08617f7 100644 --- a/deluge/ui/gtkui/torrentview.py +++ b/deluge/ui/gtkui/torrentview.py @@ -358,19 +358,20 @@ class TorrentView(ListView, component.Component): def shutdown(self): """Called when GtkUi is exiting""" - if self.window.visible(): - self.save_state() + self.save_state() def save_state(self): """ Saves the state of the torrent view. """ - ListView.save_state(self, "torrentview.state") + if self.window.visible(): + ListView.save_state(self, "torrentview.state") def remove_column(self, header): """Removes the column with the name 'header' from the torrentview""" self.save_state() - ListView.remove_column(self, header) + if self.window.visible(): + ListView.remove_column(self, header) def set_filter(self, filter_dict): """