diff --git a/deluge/ui/gtkui/filtertreeview.py b/deluge/ui/gtkui/filtertreeview.py index 330347096..f3ad22ed0 100644 --- a/deluge/ui/gtkui/filtertreeview.py +++ b/deluge/ui/gtkui/filtertreeview.py @@ -37,7 +37,6 @@ import os import gtk import logging -import glib import warnings import deluge.component as component @@ -262,9 +261,12 @@ class FilterTreeView(component.Component): count = model.get_value(row, 3) #Supress Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed - with warnings.catch_warnings(): - warnings.simplefilter("ignore") + original_filters = warnings.filters[:] + warnings.simplefilter("ignore") + try: pix = model.get_value(row, 4) + finally: + warnings.filters = original_filters if pix: self.renderpix.set_property("visible", True) @@ -292,7 +294,7 @@ class FilterTreeView(component.Component): if pix: try: return gtk.gdk.pixbuf_new_from_file(deluge.common.get_pixmap("%s16.png" % pix)) - except glib.GError as e: + except Exception, e: log.warning(e) return self.get_transparent_pix(16, 16) diff --git a/deluge/ui/gtkui/torrentview.py b/deluge/ui/gtkui/torrentview.py index d16b7f2d4..73dfcc2a1 100644 --- a/deluge/ui/gtkui/torrentview.py +++ b/deluge/ui/gtkui/torrentview.py @@ -78,11 +78,16 @@ def cell_data_statusicon(column, cell, model, row, data): """Display text with an icon""" try: icon = ICON_STATE[model.get_value(row, data)] - #Suppress Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed - with warnings.catch_warnings(): - warnings.simplefilter("ignore") + + #Supress Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed + original_filters = warnings.filters[:] + warnings.simplefilter("ignore") + try: if cell.get_property("pixbuf") != icon: cell.set_property("pixbuf", icon) + finally: + warnings.filters = original_filters + except KeyError: pass