diff options
author | Matthias Clasen <mclasen@redhat.com> | 2014-09-05 13:15:14 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2014-09-05 13:15:14 -0400 |
commit | 162990394387e744122273cc6d473b45b133e158 (patch) | |
tree | 12cf4292735c1316570f8ad638f899ddb808faa7 /gtk/gtkicontheme.c | |
parent | f66d84deecd59d4f2d393bb450dd360fad2cf140 (diff) | |
download | gtk+-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.c | 25 |
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; } |