On Friday, November 26, 2010, Enlightenment SVN
<no-re...@enlightenment.org> wrote:
> Log:
>   Search for icon theme in elm_need_efreet
>
>   When searching for an icon in a theme, efreet needs to load the specific
>   cache for the theme. So if an icon doesn't exist, this will be a huge
>   overhead. So it is better to find a theme on init, and then stick with
>   it.

Nooooo!!!!

Don't make app startup slower please, I'm already pissed off with
current situation and planning to move edbus setup to a thread and you
add this :/

Need to make this a thread or async, or delay this with a timer after
de window is visible and with something graphical visible




> Author:       englebass
> Date:         2010-11-26 01:05:12 -0800 (Fri, 26 Nov 2010)
> New Revision: 55004
>
> Modified:
>   trunk/TMP/st/elementary/src/lib/elm_icon.c 
> trunk/TMP/st/elementary/src/lib/elm_main.c 
> trunk/TMP/st/elementary/src/lib/elm_priv.h
>
> Modified: trunk/TMP/st/elementary/src/lib/elm_icon.c
> ===================================================================
> --- trunk/TMP/st/elementary/src/lib/elm_icon.c  2010-11-26 08:06:19 UTC (rev 
> 55003)
> +++ trunk/TMP/st/elementary/src/lib/elm_icon.c  2010-11-26 09:05:12 UTC (rev 
> 55004)
> @@ -292,19 +292,8 @@
>     const char *path;
>
>     elm_need_efreet();
> -   path = efreet_icon_path_find(getenv("E_ICON_THEME"), name, size);
> -   if (!path)
> -     {
> -        const char **itr;
> -        static const char *themes[] = {
> -           "default", "highcolor", "hicolor", "gnome", "Human", "oxygen", 
> NULL
> -        };
> -        for (itr = themes; (!path) && (*itr); itr++)
> -          {
> -             path = efreet_icon_path_find(*itr, name, size);
> -             if (path) break;
> -          }
> -     }
> +   if (!icon_theme) return EINA_FALSE;
> +   path = efreet_icon_path_find(icon_theme->name.internal, name, size);
>     wd->freedesktop.use = !!path;
>     if (wd->freedesktop.use)
>       {
>
> Modified: trunk/TMP/st/elementary/src/lib/elm_main.c
> ===================================================================
> --- trunk/TMP/st/elementary/src/lib/elm_main.c  2010-11-26 08:06:19 UTC (rev 
> 55003)
> +++ trunk/TMP/st/elementary/src/lib/elm_main.c  2010-11-26 09:05:12 UTC (rev 
> 55004)
> @@ -390,6 +390,7 @@
>
>  #ifdef ELM_EFREET
>  static int _elm_need_efreet = 0;
> +Efreet_Icon_Theme *icon_theme = NULL;
>  #endif
>  EAPI Eina_Bool
>  elm_need_efreet(void)
> @@ -399,8 +400,21 @@
>     efreet_init();
>     efreet_mime_init();
>     efreet_trash_init();
> -   /*
> +   icon_theme = efreet_icon_theme_find(getenv("E_ICON_THEME"));
> +   if (!icon_theme)
>       {
> +        const char **itr;
> +        static const char *themes[] = {
> +           "default", "highcolor", "hicolor", "gnome", "Human", "oxygen", 
> NULL
> +        };
> +        for (itr = themes; *itr; itr++)
> +          {
> +             icon_theme = efreet_icon_theme_find(*itr);
> +             if (icon_theme) break;
> +          }
> +     }
> +    /*
> +     {
>          Eina_List **list;
>
>          list = efreet_icon_extra_list_get();
> @@ -425,6 +439,7 @@
>  #ifdef ELM_EFREET
>     if (--_elm_need_efreet) return;
>
> +   icon_theme = NULL;
>     _elm_need_efreet = 0;
>     efreet_trash_shutdown();
>     efreet_mime_shutdown();
>
> Modified: trunk/TMP/st/elementary/src/lib/elm_priv.h
> ===================================================================
> --- trunk/TMP/st/elementary/src/lib/elm_priv.h  2010-11-26 08:06:19 UTC (rev 
> 55003)
> +++ trunk/TMP/st/elementary/src/lib/elm_priv.h  2010-11-26 09:05:12 UTC (rev 
> 55004)
> @@ -196,5 +196,8 @@
>  extern const char  *_elm_lib_dir;
>  extern int          _elm_log_dom;
>  extern Eina_List   *_elm_win_list;
> +#ifdef ELM_EFREET
> +extern Efreet_Icon_Theme *icon_theme;
> +#endif
>
>  #endif
>
>
> ------------------------------------------------------------------------------
> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
> Tap into the largest installed PC base & get more eyes on your game by
> optimizing for Intel(R) Graphics Technology. Get started today with the
> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
> http://p.sf.net/sfu/intelisp-dev2dev
> _______________________________________________
> enlightenment-svn mailing list
> enlightenment-...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--------------------------------------
MSN: barbi...@gmail.com
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to