2011/9/22 Enlightenment SVN <no-re...@enlightenment.org>:
> Log:
> elementary: fix trying to use the best available icon size.
>
>
> Author:       cedric
> Date:         2011-09-22 06:51:22 -0700 (Thu, 22 Sep 2011)
> New Revision: 63537
> Trac:         http://trac.enlightenment.org/e/changeset/63537
>
> Modified:
>  trunk/elementary/src/lib/elm_icon.c trunk/elementary/src/lib/els_icon.c
>
> Modified: trunk/elementary/src/lib/elm_icon.c
> ===================================================================
> --- trunk/elementary/src/lib/elm_icon.c 2011-09-22 12:39:49 UTC (rev 63536)
> +++ trunk/elementary/src/lib/elm_icon.c 2011-09-22 13:51:22 UTC (rev 63537)
> @@ -397,14 +397,16 @@
>
>    _els_smart_icon_size_get(wd->img, &w, &h);
>  #ifdef ELM_EFREET
> -   if ((wd->freedesktop.use) && (!((w - wd->freedesktop.requested_size) % 
> 16)))
> +   if (wd->freedesktop.use && wd->stdicon)
>      {
> +        int size;
>         /* This icon has been set to a freedesktop icon, and the requested
>            appears to have a different size than the requested size, so try to
>            request another, higher resolution, icon.
>  FIXME: Find a better heuristic to determine if there should be
>  an icon with a different resolution. */
> -        _icon_freedesktop_set(wd, obj, wd->stdicon, w);
> +       size = ((w / 16) + 1) * 16;
> +       _icon_freedesktop_set(wd, obj, wd->stdicon, size);
>      }
>  #endif
>    _els_smart_icon_scale_up_set(wd->img, wd->scale_up);
> @@ -683,11 +685,22 @@
>    ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
>    Widget_Data *wd = elm_widget_data_get(obj);
>    Eina_Bool ret;
> +   const char *tmp_file;
> +   const char *tmp_group;
>
>    if (!wd) return EINA_FALSE;
>    EINA_SAFETY_ON_NULL_RETURN_VAL(file, EINA_FALSE);
> -   if (wd->stdicon) eina_stringshare_del(wd->stdicon);
> -   wd->stdicon = NULL;
> +
> +   _els_smart_icon_file_get(wd->img, &tmp_file, &tmp_group);
> +   if ((tmp_file == file || (file && tmp_file && !strcmp(tmp_file, file)))
> +       && (group == tmp_group || (group && tmp_group && !strcmp(group, 
> tmp_group))))
> +     return EINA_TRUE;
> +
> +   if (!wd->freedesktop.use)
> +     {
> +        if (wd->stdicon) eina_stringshare_del(wd->stdicon);
> +       wd->stdicon = NULL;
> +     }

This breaks building Elementary without Efreet.

>    if (eina_str_has_extension(file, ".edj"))
>      ret = _els_smart_icon_file_edje_set(wd->img, file, group);
>    else
>
> Modified: trunk/elementary/src/lib/els_icon.c
> ===================================================================
> --- trunk/elementary/src/lib/els_icon.c 2011-09-22 12:39:49 UTC (rev 63536)
> +++ trunk/elementary/src/lib/els_icon.c 2011-09-22 13:51:22 UTC (rev 63537)
> @@ -117,6 +117,7 @@
>  _els_smart_icon_file_key_set(Evas_Object *obj, const char *file, const char 
> *key)
>  {
>    Smart_Data *sd;
> +   Evas_Coord w, h;
>
>    sd = evas_object_smart_data_get(obj);
>    if (!sd) return EINA_FALSE;
> @@ -126,6 +127,8 @@
>    sd->preloading = EINA_TRUE;
>    sd->show = EINA_TRUE;
>    evas_object_hide(sd->obj);
> +   _els_smart_icon_size_get(obj, &w, &h);
> +   evas_object_image_load_size_set(sd->obj, w, h);
>    evas_object_image_preload(sd->obj, EINA_FALSE);
>    if (evas_object_image_load_error_get(sd->obj) != EVAS_LOAD_ERROR_NONE)
>      {
>
>
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure contains a
> definitive record of customers, application performance, security
> threats, fraudulent activity and more. Splunk takes this data and makes
> sense of it. Business sense. IT sense. Common sense.
> http://p.sf.net/sfu/splunk-d2dcopy1
> _______________________________________________
> enlightenment-svn mailing list
> enlightenment-...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>

------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2dcopy2
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to