On Wed, 4 Aug 2010 10:05:53 +0200 (CEST) Vincent Torri <[email protected]>
said:
was simple for me. i restarted e17. test suite worked :)
>
>
> On Tue, 3 Aug 2010, Enlightenment SVN wrote:
>
> > Log:
> > ummmm revert. crash crash crash.
>
> unit test suite needed for efreet :p
>
> Vincent
>
> >
> >
> > Author: raster
> > Date: 2010-08-03 14:32:45 -0700 (Tue, 03 Aug 2010)
> > New Revision: 50789
> >
> > Modified:
> > trunk/efreet/src/lib/efreet_icon.c
> >
> > Modified: trunk/efreet/src/lib/efreet_icon.c
> > ===================================================================
> > --- trunk/efreet/src/lib/efreet_icon.c 2010-08-03 20:46:56 UTC (rev
> > 50788) +++ trunk/efreet/src/lib/efreet_icon.c 2010-08-03 21:32:45
> > UTC (rev 50789) @@ -94,6 +94,8 @@
> > static char *efreet_icon_cache_check(Efreet_Icon_Theme *theme, const char
> > *icon, unsigned int size); static void efreet_icon_cache_add
> > (Efreet_Icon_Theme *theme, const char *icon, unsigned int size, const char
> > *value);
> >
> > +static Efreet_Icon_Theme *fake_null = NULL;
> > +
> > static void
> > _efreet_icon_cache_list_destroy(Eina_List *list)
> > {
> > @@ -151,6 +153,12 @@
> >
> > IF_FREE_HASH(efreet_icon_cache);
> >
> > + if (fake_null)
> > + {
> > + efreet_icon_theme_free(fake_null);
> > + fake_null = NULL;
> > + }
> > +
> > ecore_shutdown();
> > }
> >
> > @@ -283,7 +291,7 @@
> > {
> > Efreet_Icon_Theme *theme;
> >
> > - if (!theme_name) return NULL;
> > + if (!theme_name) return fake_null;
> >
> > theme = eina_hash_find(efreet_icon_themes, theme_name);
> > if (!theme)
> > @@ -342,15 +350,23 @@
> > efreet_icon_find_theme_check(const char *theme_name)
> > {
> > Efreet_Icon_Theme *theme = NULL;
> > - if (!theme_name) return NULL;
> > - theme = efreet_icon_theme_find(theme_name);
> > + if (theme_name) theme = efreet_icon_theme_find(theme_name);
> > if (!theme)
> > {
> > + if ((fake_null) && (!theme_name)) return fake_null;
> > theme = efreet_icon_theme_new();
> > if (!theme) return NULL;
> > theme->fake = 1;
> > - theme->name.internal = eina_stringshare_add(theme_name);
> > - eina_hash_add(efreet_icon_themes, (void *)theme->name.internal,
> > theme);
> > + if (theme_name)
> > + {
> > + theme->name.internal = eina_stringshare_add(theme_name);
> > + eina_hash_add(efreet_icon_themes, (void *)
> > theme->name.internal, theme);
> > + }
> > + else
> > + {
> > + theme->name.internal = NULL;
> > + fake_null = theme;
> > + }
> > }
> >
> > return theme;
> > @@ -371,21 +387,18 @@
> >
> > theme = efreet_icon_find_theme_check(theme_name);
> >
> > - if (theme)
> > +#ifdef SLOPPY_SPEC
> > {
> > -#ifdef SLOPPY_SPEC
> > - {
> > - char *tmp;
> > + char *tmp;
> >
> > - tmp = efreet_icon_remove_extension(icon);
> > - if (!tmp) return NULL;
> > - value = efreet_icon_find_helper(theme, tmp, size);
> > - FREE(tmp);
> > - }
> > + tmp = efreet_icon_remove_extension(icon);
> > + if (!tmp) return NULL;
> > + value = efreet_icon_find_helper(theme, tmp, size);
> > + FREE(tmp);
> > + }
> > #else
> > - value = efreet_icon_find_helper(theme, icon, size);
> > + value = efreet_icon_find_helper(theme, icon, size);
> > #endif
> > - }
> >
> > /* we didn't find the icon in the theme or in the inherited directories
> > * then just look for a non theme icon
> > @@ -419,27 +432,24 @@
> >
> > theme = efreet_icon_find_theme_check(theme_name);
> >
> > - if (theme)
> > +#ifdef SLOPPY_SPEC
> > {
> > -#ifdef SLOPPY_SPEC
> > + Eina_List *tmps = NULL;
> > +
> > + EINA_LIST_FOREACH(icons, l, icon)
> > {
> > - Eina_List *tmps = NULL;
> > + data = efreet_icon_remove_extension(icon);
> > + if (!data) return NULL;
> > + tmps = eina_list_append(tmps, data);
> > + }
> >
> > - EINA_LIST_FOREACH(icons, l, icon)
> > - {
> > - data = efreet_icon_remove_extension(icon);
> > - if (!data) return NULL;
> > - tmps = eina_list_append(tmps, data);
> > - }
> > -
> > - value = efreet_icon_list_find_helper(theme, tmps, size);
> > - EINA_LIST_FREE(tmps, data)
> > - free(data);
> > - }
> > + value = efreet_icon_list_find_helper(theme, tmps, size);
> > + EINA_LIST_FREE(tmps, data)
> > + free(data);
> > + }
> > #else
> > - value = efreet_icon_list_find_helper(theme, icons, size);
> > + value = efreet_icon_list_find_helper(theme, icons, size);
> > #endif
> > - }
> >
> > /* we didn't find the icons in the theme or in the inherited directories
> > * then just look for a non theme icon
> > @@ -812,7 +822,7 @@
> > char *icon;
> >
> > if (!icon_name) return NULL;
> > - icon = efreet_icon_cache_check(NULL, icon_name, 0);
> > + icon = efreet_icon_cache_check(efreet_icon_find_theme_check(NULL),
> > icon_name, 0); if (icon) return icon;
> >
> > icon = efreet_icon_fallback_dir_scan(efreet_icon_deprecated_user_dir_get
> > (), icon_name); @@ -829,7 +839,7 @@
> > icon = efreet_icon_fallback_dir_scan(dir, icon_name);
> > if (icon)
> > {
> > - efreet_icon_cache_add(NULL, icon_name, 0, icon);
> > + efreet_icon_cache_add(efreet_icon_find_theme_check(NULL),
> > icon_name, 0, icon); return icon;
> > }
> > }
> > @@ -842,7 +852,7 @@
> > icon = efreet_icon_fallback_dir_scan(path, icon_name);
> > if (icon)
> > {
> > - efreet_icon_cache_add(NULL, icon_name, 0, icon);
> > + efreet_icon_cache_add(efreet_icon_find_theme_check(NULL),
> > icon_name, 0, icon); return icon;
> > }
> > }
> > @@ -853,7 +863,7 @@
> > icon = efreet_icon_fallback_dir_scan(path, icon_name);
> > if (icon)
> > {
> > - efreet_icon_cache_add(NULL, icon_name, 0, icon);
> > + efreet_icon_cache_add(efreet_icon_find_theme_check(NULL),
> > icon_name, 0, icon); return icon;
> > }
> > }
> > @@ -861,7 +871,7 @@
> > icon = efreet_icon_fallback_dir_scan("/usr/share/pixmaps",
> > icon_name); }
> >
> > - efreet_icon_cache_add(NULL, icon_name, 0, icon);
> > + efreet_icon_cache_add(efreet_icon_find_theme_check(NULL), icon_name,
> > 0, icon); return icon;
> > }
> >
> > @@ -1607,8 +1617,6 @@
> > char key[4096];
> > struct stat st;
> >
> > - if (!theme) theme = NON_EXISTING;
> > -
> > list = eina_hash_find(efreet_icon_cache, theme);
> > if (!list) return NULL;
> >
> > @@ -1656,7 +1664,6 @@
> > else
> > cache->lasttime = ecore_time_get();
> >
> > - if (!theme) theme = NON_EXISTING;
> > list = eina_hash_find(efreet_icon_cache, theme);
> > list = eina_list_prepend(list, cache);
> >
> >
> >
> > ------------------------------------------------------------------------------
> > The Palm PDK Hot Apps Program offers developers who use the
> > Plug-In Development Kit to bring their C/C++ apps to Palm for a share
> > of $1 Million in cash or HP Products. Visit us here for more details:
> > http://p.sf.net/sfu/dev2dev-palm
> > _______________________________________________
> > enlightenment-svn mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
> >
> >
>
> ------------------------------------------------------------------------------
> The Palm PDK Hot Apps Program offers developers who use the
> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
> of $1 Million in cash or HP Products. Visit us here for more details:
> http://p.sf.net/sfu/dev2dev-palm
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler) [email protected]
------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel