From 61c12820156f50b6d14ac12b468e6162fc3d700b Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 8 May 2014 15:59:32 -0400 Subject: [PATCH] bugfix: fix systray appindicator icon loading fix T811 --- src/modules/systray/e_mod_notifier_host.c | 24 ++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/modules/systray/e_mod_notifier_host.c b/src/modules/systray/e_mod_notifier_host.c index 195dd9f29..95b493890 100644 --- a/src/modules/systray/e_mod_notifier_host.c +++ b/src/modules/systray/e_mod_notifier_host.c @@ -66,13 +66,27 @@ systray_notifier_item_free(Notifier_Item *item) static void image_load(const char *name, const char *path, Evas_Object *image) { - if (path && strlen(path)) + const char *exts[] = + { + ".png", + ".jpg", + NULL + }; + if (path && path[0]) { - char buf[1024]; - sprintf(buf, "%s/%s", path, name); + char buf[PATH_MAX]; + + snprintf(buf, sizeof(buf), "%s/%s", path, name); if (!e_icon_file_set(image, buf)) - e_util_icon_theme_set(image, "dialog-error"); - return; + { + const char **ext; + + for (ext = exts; *ext; ext++) + { + snprintf(buf, sizeof(buf), "%s/%s%s", path, name, *ext); + if (e_icon_file_set(image, buf)) return; + } + } } if (!e_util_icon_theme_set(image, name)) e_util_icon_theme_set(image, "dialog-error");