elm_icon_external: cleanup ERR msg in error case
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>
Wed, 17 Jun 2015 12:53:37 +0000 (14:53 +0200)
committerCedric BAIL <cedric@osg.samsung.com>
Wed, 17 Jun 2015 13:59:19 +0000 (15:59 +0200)
Summary:
Setting the group without checking it exists causes a errormessage, this
is pretty annoying for people which want to set a standart icon. And
give a better errormessage if the standart setting failed.

Reviewers: raster, cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D2686

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
src/edje_externals/elm_icon.c

index 1ac65b5..979cc0b 100644 (file)
@@ -84,8 +84,16 @@ external_icon_state_set(void *data EINA_UNUSED, Evas_Object *obj,
         edje = evas_object_smart_parent_get(obj);
         edje_object_file_get(edje, &file, NULL);
 
-        if (!elm_image_file_set(obj, file, p->icon))
-          elm_icon_standard_set(obj, p->icon);
+        if (!edje_file_group_exists(file, p->icon))
+          {
+            if (!elm_icon_standard_set(obj, p->icon))
+              ERR("Failed to set standard icon! (%s)", p->icon);
+          }
+        else if (!elm_image_file_set(obj, file, p->icon))
+          {
+            if (!elm_icon_standard_set(obj, p->icon))
+              ERR("Failed to set standard icon! (%s)", p->icon);
+          }
      }
 }
 
@@ -153,8 +161,16 @@ external_icon_param_set(void *data EINA_UNUSED, Evas_Object *obj,
              edje = evas_object_smart_parent_get(obj);
              edje_object_file_get(edje, &file, NULL);
 
-             if (!elm_image_file_set(obj, file, param->s))
-               elm_icon_standard_set(obj, param->s);
+             if (!edje_file_group_exists(file, param->s))
+               {
+                 if (!elm_icon_standard_set(obj, param->s))
+                   ERR("Failed to set standard icon! (%s)", param->s);
+               }
+             else if (!elm_image_file_set(obj, file, param->s))
+               {
+                 if (!elm_icon_standard_set(obj, param->s))
+                   ERR("Failed to set standard icon as fallback! (%s)", param->s);
+               }
              return EINA_TRUE;
           }
      }