IconEntry, set_icon_from_name: handle case when icon can not be found cleanly

Sugar crashes if the sugar theme has not been set (in sugar-session)
in the set_icon_from_name method since some if the requested icons
can not be found. Handle that case cleanly.

Signed-off-by: Simon Schampijer <simon@laptop.org>
Acked-by: Manuel Quiñones <manuq@laptop.org>
This commit is contained in:
Simon Schampijer 2012-09-17 11:14:31 +02:00
parent 39226e69c5
commit d4934d73a7

View File

@ -15,6 +15,8 @@
# Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA. # Boston, MA 02111-1307, USA.
import logging
from gi.repository import GObject from gi.repository import GObject
from gi.repository import Gtk from gi.repository import Gtk
from gi.repository import Gdk from gi.repository import Gdk
@ -42,6 +44,10 @@ class IconEntry(Gtk.Entry):
icon_info = icon_theme.lookup_icon(name, icon_info = icon_theme.lookup_icon(name,
Gtk.IconSize.SMALL_TOOLBAR, Gtk.IconSize.SMALL_TOOLBAR,
0) 0)
if not icon_info:
logging.warning('IconEntry set_icon_from_name: icon \'%s\' not '
'found in the theme.', name)
return
if icon_info.get_filename().endswith('.svg'): if icon_info.get_filename().endswith('.svg'):
loader = _SVGLoader() loader = _SVGLoader()