discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=61c12820156f50b6d14ac12b468e6162fc3d700b

commit 61c12820156f50b6d14ac12b468e6162fc3d700b
Author: Mike Blumenkrantz <zm...@samsung.com>
Date:   Thu May 8 15:59:32 2014 -0400

    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 195dd9f..95b4938 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");

-- 


Reply via email to