From 62fa400e5d94b8f6792f9e94d8fc12e1401a5fdb Mon Sep 17 00:00:00 2001 From: cedric Date: Thu, 23 Jun 2011 15:56:31 +0000 Subject: [PATCH] elementary: fix stringshare refcounting. git-svn-id: https://svn.enlightenment.org/svn/e/trunk/elementary@60639 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/elm_icon.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/lib/elm_icon.c b/src/lib/elm_icon.c index f4173fa..50964b3 100644 --- a/src/lib/elm_icon.c +++ b/src/lib/elm_icon.c @@ -642,18 +642,6 @@ _icon_size_min_get(Evas_Object *icon) return (size < 32) ? 32 : size; } -/** - * Set the theme, as standard, for an icon. - * If theme was not found and it is the absolute path of an image file, this - * image will be used. - * - * @param obj The icon object - * @param name The theme name - * - * @return (1 = success, 0 = error) - * - * @ingroup Icon - */ static Eina_Bool _elm_icon_standard_set(Widget_Data *wd, Evas_Object *obj, const char *name) { @@ -706,12 +694,27 @@ _elm_icon_standard_resize(void *data, void *event_info __UNUSED__) { Widget_Data *wd = data; + const char *refup = eina_stringshare_ref(wd->stdicon); if (!_elm_icon_standard_set(wd, obj, wd->stdicon)) evas_object_event_callback_del_full(obj, EVAS_CALLBACK_RESIZE, _elm_icon_standard_resize, wd); + + eina_stringshare_del(refup); } +/** + * Set the theme, as standard, for an icon. + * If theme was not found and it is the absolute path of an image file, this + * image will be used. + * + * @param obj The icon object + * @param name The theme name + * + * @return (1 = success, 0 = error) + * + * @ingroup Icon + */ EAPI Eina_Bool elm_icon_standard_set(Evas_Object *obj, const char *name) { -- 2.7.4