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