summaryrefslogtreecommitdiff
path: root/gtk/gtkicontheme.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2014-09-05 13:15:14 -0400
committerMatthias Clasen <mclasen@redhat.com>2014-09-05 13:15:14 -0400
commit162990394387e744122273cc6d473b45b133e158 (patch)
tree12cf4292735c1316570f8ad638f899ddb808faa7 /gtk/gtkicontheme.c
parentf66d84deecd59d4f2d393bb450dd360fad2cf140 (diff)
downloadgtk+-162990394387e744122273cc6d473b45b133e158.tar.gz
GtkIconTheme: Make suffix_from_name NULL-safe
This can happen sometimes with GFileIcons that are not representable as a local path. Better not to crash in this case.
Diffstat (limited to 'gtk/gtkicontheme.c')
-rw-r--r--gtk/gtkicontheme.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c
index f4fc82fa33..8ac6dd6d6d 100644
--- a/gtk/gtkicontheme.c
+++ b/gtk/gtkicontheme.c
@@ -2840,18 +2840,19 @@ string_from_suffix (IconSuffix suffix)
static IconSuffix
suffix_from_name (const gchar *name)
{
- IconSuffix retval;
-
- if (g_str_has_suffix (name, ".symbolic.png"))
- retval = ICON_SUFFIX_SYMBOLIC_PNG;
- else if (g_str_has_suffix (name, ".png"))
- retval = ICON_SUFFIX_PNG;
- else if (g_str_has_suffix (name, ".svg"))
- retval = ICON_SUFFIX_SVG;
- else if (g_str_has_suffix (name, ".xpm"))
- retval = ICON_SUFFIX_XPM;
- else
- retval = ICON_SUFFIX_NONE;
+ IconSuffix retval = ICON_SUFFIX_NONE;
+
+ if (name != NULL)
+ {
+ if (g_str_has_suffix (name, ".symbolic.png"))
+ retval = ICON_SUFFIX_SYMBOLIC_PNG;
+ else if (g_str_has_suffix (name, ".png"))
+ retval = ICON_SUFFIX_PNG;
+ else if (g_str_has_suffix (name, ".svg"))
+ retval = ICON_SUFFIX_SVG;
+ else if (g_str_has_suffix (name, ".xpm"))
+ retval = ICON_SUFFIX_XPM;
+ }
return retval;
}