From f1ab68d14db7063a3b201d62de2bdefd53be12f9 Mon Sep 17 00:00:00 2001 From: Dave Andreoli Date: Sun, 25 Jan 2015 15:39:43 +0100 Subject: [PATCH] Icon: no more reimplement sizing_eval The code there was trying to reload the icon to have an image that should match the requested size, this was totally wrong, the calculation was always resulting in an image bigger than the needed. It was also useless as this logic is yet handled in the resize callback. --- legacy/elementary/src/lib/elm_icon.c | 27 --------------------------- legacy/elementary/src/lib/elm_icon.eo | 1 - 2 files changed, 28 deletions(-) diff --git a/legacy/elementary/src/lib/elm_icon.c b/legacy/elementary/src/lib/elm_icon.c index 55f4269731..0b79a4222d 100644 --- a/legacy/elementary/src/lib/elm_icon.c +++ b/legacy/elementary/src/lib/elm_icon.c @@ -309,33 +309,6 @@ _icon_freedesktop_set(Evas_Object *obj, return EINA_FALSE; } -EOLIAN static void -_elm_icon_elm_image_sizing_eval(Eo *obj, Elm_Icon_Data *sd) -{ - int w, h; - - if (sd->in_eval) return; - - sd->in_eval++; - elm_image_object_size_get(obj, &w, &h); - - if (sd->freedesktop.use && sd->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. */ - size = ((w / 16) + 1) * 16; - _icon_freedesktop_set(obj, sd->stdicon, size); - } - - eo_do_super(obj, MY_CLASS, elm_obj_image_sizing_eval()); - - sd->in_eval--; -} - static void _edje_signal_callback(void *data, Evas_Object *obj EINA_UNUSED, diff --git a/legacy/elementary/src/lib/elm_icon.eo b/legacy/elementary/src/lib/elm_icon.eo index e9e0fe10e6..7ba7c3f990 100644 --- a/legacy/elementary/src/lib/elm_icon.eo +++ b/legacy/elementary/src/lib/elm_icon.eo @@ -101,7 +101,6 @@ class Elm_Icon (Elm_Image) Evas.Object_Smart.del; Elm_Widget.theme_apply; Elm_Image.memfile.set; - Elm_Image.sizing_eval; Efl.File.file.set; } events {