elementary: fix various bug in elm_icon related to ethumb usage.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 28 Jun 2011 14:32:42 +0000 (14:32 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 28 Jun 2011 14:32:42 +0000 (14:32 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@60759 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/elm_icon.c
src/lib/els_icon.c

index dd47180..2671aca 100644 (file)
@@ -111,7 +111,7 @@ _icon_size_min_get(Evas_Object *icon)
 static void
 _icon_thumb_stop(Widget_Data *wd, void *ethumbd)
 {
-   if (wd->thumb.id > 0)
+   if (wd->thumb.id >= 0)
      {
         ethumb_client_generate_cancel(ethumbd, wd->thumb.id, NULL, NULL, NULL);
         wd->thumb.id = -1;
@@ -159,7 +159,7 @@ _icon_thumb_display(Widget_Data *wd)
           }
 
         if (video)
-          ret = _els_smart_icon_file_edje_set(wd->img, wd->thumb.thumb.path, "movie/thumb");
+          ret = _els_smart_icon_file_edje_set(wd->img, wd->thumb.thumb.path, wd->thumb.thumb.key);
      }
 
    if (!ret)
@@ -286,6 +286,7 @@ _icon_thumb_exists(Ethumb_Client *client __UNUSED__, Ethumb_Exists *thread, Eina
      }
    else if ((wd->thumb.id = ethumb_client_generate(ethumbd, _icon_thumb_cb, wd, NULL)) == -1)
      {
+        ERR("Generate was unable to start !");
         /* Failed to generate thumbnail */
         _icon_pending_request--;
      }
@@ -301,10 +302,9 @@ _icon_thumb_apply(Widget_Data *wd)
    _icon_thumb_stop(wd, ethumbd);
 
    if (!wd->thumb.file.path) return ;
-   fprintf(stderr, "thumb\n");
 
    _icon_pending_request++;
-   ethumb_client_file_set(ethumbd, wd->thumb.file.path, wd->thumb.file.key);
+   if (!ethumb_client_file_set(ethumbd, wd->thumb.file.path, wd->thumb.file.key)) return ;
    ethumb_client_size_set(ethumbd, _icon_size_min_get(wd->img), _icon_size_min_get(wd->img));
    wd->thumb.exists = ethumb_client_thumb_exists(ethumbd, _icon_thumb_exists, wd);
 }
index 70ea88b..4df62a6 100644 (file)
@@ -88,7 +88,10 @@ _els_smart_icon_file_key_set(Evas_Object *obj, const char *file, const char *key
    evas_object_hide(sd->obj);
    evas_object_image_preload(sd->obj, EINA_FALSE);
    if (evas_object_image_load_error_get(sd->obj) != EVAS_LOAD_ERROR_NONE)
-     return EINA_FALSE;
+     {
+        ERR("Things are going bad for '%s' (%p)", file, sd->obj);
+        return EINA_FALSE;
+     }
    _smart_reconfigure(sd);
    return EINA_TRUE;
 }