SVN revision: 45865
devs/devilhorns/wayland_egl
Sebastian Dransfeld 13 years ago
parent 82d51bffd7
commit 0423e1ea99
  1. 30
      legacy/efreet/src/lib/efreet.c
  2. 6
      legacy/efreet/src/lib/efreet_base.c
  3. 44
      legacy/efreet/src/lib/efreet_cache.c
  4. 190
      legacy/efreet/src/lib/efreet_desktop.c
  5. 64
      legacy/efreet/src/lib/efreet_icon.c
  6. 6
      legacy/efreet/src/lib/efreet_ini.c
  7. 110
      legacy/efreet/src/lib/efreet_menu.c
  8. 28
      legacy/efreet/src/lib/efreet_mime.c
  9. 8
      legacy/efreet/src/lib/efreet_trash.c
  10. 174
      legacy/efreet/src/lib/efreet_utils.c
  11. 32
      legacy/efreet/src/lib/efreet_xml.c

@ -38,42 +38,42 @@ efreet_init(void)
{
printf("Efreet could create a general log domain.\n");
goto shutdown_eina;
goto shutdown_eina;
}
if (!efreet_base_init())
goto unregister_log_domain;
goto unregister_log_domain;
if (!efreet_xml_init())
goto shutdown_efreet_base;
goto shutdown_efreet_base;
if (!efreet_icon_init())
goto shutdown_efreet_xml;
goto shutdown_efreet_xml;
if (!efreet_ini_init())
goto shutdown_efreet_icon;
goto shutdown_efreet_icon;
if (!efreet_desktop_init())
goto shutdown_efreet_ini;
goto shutdown_efreet_ini;
if (!efreet_menu_init())
goto shutdown_efreet_desktop;
goto shutdown_efreet_desktop;
return _efreet_init_count;
shutdown_efreet_desktop:
shutdown_efreet_desktop:
efreet_desktop_shutdown();
shutdown_efreet_ini:
shutdown_efreet_ini:
efreet_ini_shutdown();
shutdown_efreet_icon:
shutdown_efreet_icon:
efreet_icon_shutdown();
shutdown_efreet_xml:
shutdown_efreet_xml:
efreet_xml_shutdown();
shutdown_efreet_base:
shutdown_efreet_base:
efreet_base_shutdown();
unregister_log_domain:
unregister_log_domain:
eina_log_domain_unregister(_efreet_log_domain_global);
shutdown_eina:
shutdown_eina:
eina_shutdown();
return --_efreet_init_count;
@ -89,7 +89,7 @@ EAPI int
efreet_shutdown(void)
{
if (--_efreet_init_count != 0)
return _efreet_init_count;
return _efreet_init_count;
efreet_menu_shutdown();
efreet_desktop_shutdown();

@ -47,8 +47,8 @@ efreet_base_init(void)
_efreet_base_log_dom = eina_log_domain_register("Efreet_base", EFREET_DEFAULT_LOG_COLOR);
if (_efreet_base_log_dom < 0)
{
ERROR("Efreet: Could not create a log domain for efreet_base.\n");
return 0;
ERROR("Efreet: Could not create a log domain for efreet_base.\n");
return 0;
}
return 1;
}
@ -243,7 +243,7 @@ efreet_dirs_get(const char *key, const char *fallback)
p = strchr(s, EFREET_PATH_SEP);
}
if (!eina_list_search_unsorted(dirs, EINA_COMPARE_CB(strcmp), s))
dirs = eina_list_append(dirs, (void *)eina_stringshare_add(s));
dirs = eina_list_append(dirs, (void *)eina_stringshare_add(s));
FREE(tmp);
return dirs;

@ -15,47 +15,47 @@ static Eina_Hash *icon_cache = NULL;
static void
path_free(const char *path)
{
if (path == NON_EXISTING) return;
eina_stringshare_del(path);
if (path == NON_EXISTING) return;
eina_stringshare_del(path);
}
static void
icon_cache_add(void)
{
if (icon_cache) return;
icon_cache = eina_hash_string_superfast_new(EINA_FREE_CB(path_free));
if (icon_cache) return;
icon_cache = eina_hash_string_superfast_new(EINA_FREE_CB(path_free));
}
void
efreet_cache_clear(void)
{
if (!icon_cache) return;
IF_FREE_HASH(icon_cache);
icon_cache = NULL;
if (!icon_cache) return;
IF_FREE_HASH(icon_cache);
icon_cache = NULL;
}
const char *
efreet_icon_hash_get(const char *theme_name, const char *icon, int size)
{
const char *file;
char buf[4096];
const char *file;
char buf[4096];
if (!icon_cache) return NULL;
snprintf(buf, sizeof(buf), "%s/::/%s/::/%i", theme_name, icon, size);
file = eina_hash_find(icon_cache, buf);
return file;
if (!icon_cache) return NULL;
snprintf(buf, sizeof(buf), "%s/::/%s/::/%i", theme_name, icon, size);
file = eina_hash_find(icon_cache, buf);
return file;
}
void
efreet_icon_hash_put(const char *theme_name, const char *icon, int size, const char *file)
{
char buf[4096];
icon_cache_add();
if (!icon_cache) return;
snprintf(buf, sizeof(buf), "%s/::/%s/::/%i", theme_name, icon, size);
if (file == NON_EXISTING)
eina_hash_add(icon_cache, buf, (void *)NON_EXISTING);
else if (file)
eina_hash_add(icon_cache, buf, (void *)eina_stringshare_add(file));
char buf[4096];
icon_cache_add();
if (!icon_cache) return;
snprintf(buf, sizeof(buf), "%s/::/%s/::/%i", theme_name, icon, size);
if (file == NON_EXISTING)
eina_hash_add(icon_cache, buf, (void *)NON_EXISTING);
else if (file)
eina_hash_add(icon_cache, buf, (void *)eina_stringshare_add(file));
}

@ -87,13 +87,13 @@ static int efreet_desktop_generic_fields_parse(Efreet_Desktop *desktop,
static void efreet_desktop_generic_fields_save(Efreet_Desktop *desktop,
Efreet_Ini *ini);
static Eina_Bool efreet_desktop_x_fields_parse(const Eina_Hash *hash,
const void *key,
void *data,
void *fdata);
const void *key,
void *data,
void *fdata);
static Eina_Bool efreet_desktop_x_fields_save(const Eina_Hash *hash,
const void *key,
void *value,
void *fdata);
const void *key,
void *value,
void *fdata);
static int efreet_desktop_environment_check(Efreet_Ini *ini);
static char *efreet_string_append(char *dest, int *size,
int *len, const char *src);
@ -144,8 +144,8 @@ efreet_desktop_init(void)
_efreet_desktop_log_dom = eina_log_domain_register("Efreet_desktop", EFREET_DEFAULT_LOG_COLOR);
if (_efreet_desktop_log_dom < 0)
{
ERROR("Efreet: Could not create a log domain for Efreet_desktop");
return 0;
ERROR("Efreet: Could not create a log domain for Efreet_desktop");
return 0;
}
if (!ecore_file_init())
{
@ -206,7 +206,7 @@ efreet_desktop_cache_check(Efreet_Desktop *desktop)
/* have we modified this file since we last read it in? */
if ((desktop->cache_flush != cache_flush) ||
(ecore_file_mod_time(desktop->orig_path) != desktop->load_time))
return 0;
return 0;
return 1;
}
@ -370,7 +370,7 @@ efreet_desktop_read(Efreet_Desktop *desktop)
if (!error && !efreet_desktop_environment_check(ini)) error = 1;
if (!error && !efreet_desktop_generic_fields_parse(desktop, ini)) error = 1;
if (!error)
eina_hash_foreach(ini->section, efreet_desktop_x_fields_parse, desktop);
eina_hash_foreach(ini->section, efreet_desktop_x_fields_parse, desktop);
efreet_ini_free(ini);
@ -528,7 +528,7 @@ efreet_desktop_free(Efreet_Desktop *desktop)
if (desktop->ref > 0) return;
if (desktop->cached && efreet_desktop_cache)
eina_hash_del(efreet_desktop_cache, desktop->orig_path, NULL);
eina_hash_del(efreet_desktop_cache, desktop->orig_path, NULL);
IF_FREE(desktop->orig_path);
@ -1037,7 +1037,7 @@ efreet_desktop_generic_fields_save(Efreet_Desktop *desktop, Efreet_Ini *ini)
efreet_ini_boolean_set(ini, "Hidden", desktop->hidden);
if (desktop->x) eina_hash_foreach(desktop->x, efreet_desktop_x_fields_save,
ini);
ini);
}
/**
@ -1056,7 +1056,7 @@ efreet_desktop_x_fields_parse(const Eina_Hash *hash __UNUSED__, const void *key,
if (strncmp(key, "X-", 2)) return EINA_TRUE;
if (!desktop->x)
desktop->x = eina_hash_string_superfast_new(EINA_FREE_CB(eina_stringshare_del));
desktop->x = eina_hash_string_superfast_new(EINA_FREE_CB(eina_stringshare_del));
eina_hash_del(desktop->x, key, NULL);
eina_hash_add(desktop->x, key, (void *)eina_stringshare_add(value));
@ -1095,30 +1095,30 @@ efreet_desktop_environment_check(Efreet_Ini *ini)
char *val;
if (!desktop_environment)
return 1;
return 1;
list = efreet_desktop_string_list_parse(efreet_ini_string_get(ini, "OnlyShowIn"));
if (list)
{
EINA_LIST_FREE(list, val)
{
if (!strcmp(val, desktop_environment))
found = 1;
eina_stringshare_del(val);
EINA_LIST_FREE(list, val)
{
if (!strcmp(val, desktop_environment))
found = 1;
eina_stringshare_del(val);
}
return found;
}
list = efreet_desktop_string_list_parse(efreet_ini_string_get(ini, "NotShowIn"));
list = efreet_desktop_string_list_parse(efreet_ini_string_get(ini, "NotShowIn"));
EINA_LIST_FREE(list, val)
{
if (!strcmp(val, desktop_environment))
found = 1;
eina_stringshare_del(val);
}
{
if (!strcmp(val, desktop_environment))
found = 1;
eina_stringshare_del(val);
}
return !found;
return !found;
}
@ -1283,14 +1283,14 @@ efreet_desktop_command_flags_get(Efreet_Desktop *desktop)
p = strchr(p, '%');
}
#ifdef SLOPPY_SPEC
/* NON-SPEC!!! this is to work around LOTS of 'broken' .desktop files that
* do not specify %U/%u, %F/F etc. etc. at all. just a command. this is
* unlikely to be fixed in distributions etc. in the long run as gnome/kde
* seem to have workarounds too so no one notices.
*/
if (!flags) flags |= EFREET_DESKTOP_EXEC_FLAG_FULLPATH;
/* NON-SPEC!!! this is to work around LOTS of 'broken' .desktop files that
* do not specify %U/%u, %F/F etc. etc. at all. just a command. this is
* unlikely to be fixed in distributions etc. in the long run as gnome/kde
* seem to have workarounds too so no one notices.
*/
if (!flags) flags |= EFREET_DESKTOP_EXEC_FLAG_FULLPATH;
#endif
return flags;
}
@ -1340,12 +1340,12 @@ efreet_desktop_command_build(Efreet_Desktop_Command *command)
* will run once, removing any file field codes */
l = command->files;
do
{
{
const char *p;
int len = 0;
int size = PATH_MAX;
int file_added = 0;
Efreet_Desktop_Command_File *file = eina_list_data_get(l);
Efreet_Desktop_Command_File *file = eina_list_data_get(l);
exec = malloc(size);
p = command->desktop->exec;
@ -1372,7 +1372,7 @@ efreet_desktop_command_build(Efreet_Desktop_Command *command)
if (file)
{
exec = efreet_desktop_command_append_single(exec, &size,
&len, file, *p);
&len, file, *p);
file_added = 1;
}
break;
@ -1383,26 +1383,26 @@ efreet_desktop_command_build(Efreet_Desktop_Command *command)
if (file)
{
exec = efreet_desktop_command_append_multiple(exec, &size,
&len, command, *p);
&len, command, *p);
file_added = 1;
}
break;
case 'i':
exec = efreet_desktop_command_append_icon(exec, &size, &len,
command->desktop);
command->desktop);
break;
case 'c':
exec = efreet_desktop_command_append_quoted(exec, &size, &len,
command->desktop->name);
command->desktop->name);
break;
case 'k':
exec = efreet_desktop_command_append_quoted(exec, &size, &len,
command->desktop->orig_path);
command->desktop->orig_path);
break;
case 'v':
case 'm':
WRN("[Efreet]: Deprecated conversion char: '%c' in file '%s'",
*p, command->desktop->orig_path);
*p, command->desktop->orig_path);
break;
case '%':
exec[len++] = *p;
@ -1419,30 +1419,30 @@ efreet_desktop_command_build(Efreet_Desktop_Command *command)
}
#ifdef SLOPPY_SPEC
/* NON-SPEC!!! this is to work around LOTS of 'broken' .desktop files that
* do not specify %U/%u, %F/F etc. etc. at all. just a command. this is
* unlikely to be fixed in distributions etc. in the long run as gnome/kde
* seem to have workarounds too so no one notices.
*/
if ((file) && (!file_added))
{
WRN("Efreet_desktop: %s\n"
" command: %s\n"
" has no file path/uri spec info for executing this app WITH a\n"
" file/uri as a parameter. This is unlikely to be the intent.\n"
" please check the .desktop file and fix it by adding a %%U or %%F\n"
" or something appropriate.",
command->desktop->orig_path, command->desktop->exec);
/* NON-SPEC!!! this is to work around LOTS of 'broken' .desktop files that
* do not specify %U/%u, %F/F etc. etc. at all. just a command. this is
* unlikely to be fixed in distributions etc. in the long run as gnome/kde
* seem to have workarounds too so no one notices.
*/
if ((file) && (!file_added))
{
WRN("Efreet_desktop: %s\n"
" command: %s\n"
" has no file path/uri spec info for executing this app WITH a\n"
" file/uri as a parameter. This is unlikely to be the intent.\n"
" please check the .desktop file and fix it by adding a %%U or %%F\n"
" or something appropriate.",
command->desktop->orig_path, command->desktop->exec);
if (len >= size - 1)
{
size = len + 1024;
exec = realloc(exec, size);
}
exec[len++] = ' ';
exec = efreet_desktop_command_append_multiple(exec, &size,
&len, command, 'F');
file_added = 1;
}
{
size = len + 1024;
exec = realloc(exec, size);
}
exec[len++] = ' ';
exec = efreet_desktop_command_append_multiple(exec, &size,
&len, command, 'F');
file_added = 1;
}
#endif
exec[len++] = '\0';
@ -1451,7 +1451,7 @@ efreet_desktop_command_build(Efreet_Desktop_Command *command)
/* If no file was added, then the Exec field doesn't contain any file
* fields (fFuUdDnN). We only want to run the app once in this case. */
if (!file_added) break;
}
}
while ((l = eina_list_next(l)) != NULL);
return execs;
@ -1636,7 +1636,7 @@ efreet_desktop_command_file_process(Efreet_Desktop_Command *command, const char
f->command = command;
/* handle uris */
if(!strncmp(file, "http://", 7) || !strncmp(file, "ftp://", 6))
if (!strncmp(file, "http://", 7) || !strncmp(file, "ftp://", 6))
{
uri = file;
base = ecore_file_file_get(file);
@ -1840,44 +1840,44 @@ efreet_desktop_command_path_absolute(const char *path)
EAPI Eina_Bool
efreet_desktop_x_field_set(Efreet_Desktop *desktop, const char *key, const char *data)
{
if (!desktop || strncmp(key, "X-", 2))
return EINA_FALSE;
if (!desktop || strncmp(key, "X-", 2))
return EINA_FALSE;
if (!desktop->x)
desktop->x = eina_hash_string_superfast_new(EINA_FREE_CB(eina_stringshare_del));
eina_hash_del(desktop->x, key, NULL);
eina_hash_add(desktop->x, key, eina_stringshare_add(data));
return EINA_TRUE;
if (!desktop->x)
desktop->x = eina_hash_string_superfast_new(EINA_FREE_CB(eina_stringshare_del));
eina_hash_del(desktop->x, key, NULL);
eina_hash_add(desktop->x, key, eina_stringshare_add(data));
return EINA_TRUE;
}
EAPI const char *
efreet_desktop_x_field_get(Efreet_Desktop *desktop, const char *key)
{
const char *ret;
if (!desktop || strncmp(key, "X-", 2))
return NULL;
if (!desktop->x)
return NULL;
ret = eina_hash_find(desktop->x, key);
if (!ret)
return NULL;
return eina_stringshare_add(ret);
const char *ret;
if (!desktop || strncmp(key, "X-", 2))
return NULL;
if (!desktop->x)
return NULL;
ret = eina_hash_find(desktop->x, key);
if (!ret)
return NULL;
return eina_stringshare_add(ret);
}
EAPI Eina_Bool
efreet_desktop_x_field_del(Efreet_Desktop *desktop, const char *key)
{
if (!desktop || strncmp(key, "X-", 2))
return EINA_FALSE;
if (!desktop->x)
return EINA_FALSE;
return eina_hash_del(desktop->x, key, NULL);
if (!desktop || strncmp(key, "X-", 2))
return EINA_FALSE;
if (!desktop->x)
return EINA_FALSE;
return eina_hash_del(desktop->x, key, NULL);
}

@ -97,10 +97,10 @@ static Efreet_Icon_Theme *fake_null = NULL;
static void
_efreet_icon_cache_list_destroy(Eina_List *list)
{
Efreet_Icon_Cache *cache;
Efreet_Icon_Cache *cache;
EINA_LIST_FREE(list, cache)
efreet_icon_cache_free(cache);
EINA_LIST_FREE(list, cache)
efreet_icon_cache_free(cache);
}
/**
@ -151,11 +151,11 @@ efreet_icon_shutdown(void)
IF_FREE_HASH(efreet_icon_cache);
if (fake_null)
{
efreet_icon_theme_free(fake_null);
fake_null = NULL;
}
if (fake_null)
{
efreet_icon_theme_free(fake_null);
fake_null = NULL;
}
ecore_shutdown();
}
@ -224,8 +224,8 @@ efreet_icon_extra_list_get(void)
static Eina_Bool
_hash_keys(Eina_Hash *hash __UNUSED__, const void *key, void *list)
{
*(Eina_List**)list = eina_list_append(*(Eina_List**)list, key);
return EINA_TRUE;
*(Eina_List**)list = eina_list_append(*(Eina_List**)list, key);
return EINA_TRUE;
}
/**
* @return Returns a list of Efreet_Icon structs for all the non-hidden icon
@ -342,17 +342,17 @@ efreet_icon_find_theme_check(const char *theme_name)
if ((fake_null) && (!theme_name)) return fake_null;
theme = efreet_icon_theme_new();
theme->fake = 1;
if (theme_name)
{
theme->name.internal = eina_stringshare_add(theme_name);
eina_hash_del(efreet_icon_themes, (void *)theme->name.internal, NULL);
eina_hash_add(efreet_icon_themes, (void *)theme->name.internal, theme);
}
else
{
theme->name.internal = NULL;
fake_null = theme;
}
if (theme_name)
{
theme->name.internal = eina_stringshare_add(theme_name);
eina_hash_del(efreet_icon_themes, (void *)theme->name.internal, NULL);
eina_hash_add(efreet_icon_themes, (void *)theme->name.internal, theme);
}
else
{
theme->name.internal = NULL;
fake_null = theme;
}
}
return theme;
@ -374,8 +374,8 @@ efreet_icon_path_find(const char *theme_name, const char *icon, unsigned int siz
if ((cached = efreet_icon_hash_get(theme_name, icon, size)) != NULL)
{
if (cached == NON_EXISTING) return NULL;
return strdup(cached);
if (cached == NON_EXISTING) return NULL;
return strdup(cached);
}
theme = efreet_icon_find_theme_check(theme_name);
@ -433,7 +433,7 @@ efreet_icon_list_find(const char *theme_name, Eina_List *icons,
tmps = eina_list_append(tmps, efreet_icon_remove_extension(icon));
value = efreet_icon_list_find_helper(theme, tmps, size);
EINA_LIST_FREE(tmps, data)
EINA_LIST_FREE(tmps, data)
free(data);
}
#else
@ -830,7 +830,7 @@ efreet_icon_fallback_icon(const char *icon_name)
icon = efreet_icon_fallback_dir_scan(dir, icon_name);
if (icon)
{
efreet_icon_cache_add(efreet_icon_find_theme_check(NULL), icon_name, 0, icon);
efreet_icon_cache_add(efreet_icon_find_theme_check(NULL), icon_name, 0, icon);
return icon;
}
}
@ -1554,9 +1554,9 @@ efreet_icon_cache_flush(Efreet_Icon_Theme *theme, Eina_List *list)
while (eina_list_count(list) > 100)
{
Efreet_Icon_Cache *cache;
Eina_List *last;
Eina_List *last;
last = eina_list_last(list);
last = eina_list_last(list);
cache = eina_list_data_get(last);
efreet_icon_cache_free(cache);
list = eina_list_remove_list(list, last);
@ -1593,19 +1593,19 @@ efreet_icon_cache_check(Efreet_Icon_Theme *theme, const char *icon, unsigned int
if (!cache->path)
{
list = eina_list_promote_list(list, eina_list_data_find_list(list, cache));
eina_hash_modify(efreet_icon_cache, theme, list);
eina_hash_modify(efreet_icon_cache, theme, list);
return NON_EXISTING;
}
else if (!stat(cache->path, &st) && st.st_mtime == cache->lasttime)
{
list = eina_list_promote_list(list, eina_list_data_find_list(list, cache));
eina_hash_modify(efreet_icon_cache, theme, list);
eina_hash_modify(efreet_icon_cache, theme, list);
return strdup(cache->path);
}
efreet_icon_cache_free(cache);
list = eina_list_remove(list, cache);
if (list != NULL) eina_hash_modify(efreet_icon_cache, theme, list);
else eina_hash_del(efreet_icon_cache, theme, NULL);
list = eina_list_remove(list, cache);
if (list != NULL) eina_hash_modify(efreet_icon_cache, theme, list);
else eina_hash_del(efreet_icon_cache, theme, NULL);
}
return NULL;
}

@ -56,8 +56,8 @@ efreet_ini_init(void)
_efreet_ini_log_dom = eina_log_domain_register("Efreet_init", EFREET_DEFAULT_LOG_COLOR);
if (_efreet_ini_log_dom < 0)
{
ERROR("Efreet: Could not create a log domain for efreet_init");
return 0;
ERROR("Efreet: Could not create a log domain for efreet_init");
return 0;
}
return 1;
}
@ -342,7 +342,7 @@ efreet_ini_section_add(Efreet_Ini *ini, const char *section)
if (!ini || !section) return;
if (!ini->data)
ini->data = eina_hash_string_small_new(EINA_FREE_CB(eina_hash_free));
ini->data = eina_hash_string_small_new(EINA_FREE_CB(eina_hash_free));
if (eina_hash_find(ini->data, section)) return;
hash = eina_hash_string_small_new(free);

@ -266,16 +266,17 @@ static int efreet_menu_app_dir_scan(Efreet_Menu_Internal *internal,
int legacy);
static int efreet_menu_directory_dirs_process(Efreet_Menu_Internal *internal);
static int efreet_menu_directory_dir_scan(const char *path,
const char *relative_path,
Eina_Hash *cache);
const char *relative_path,
Eina_Hash *cache);
static Efreet_Desktop *efreet_menu_directory_get(Efreet_Menu_Internal *internal,
const char *path);
static void efreet_menu_process_filters(Efreet_Menu_Internal *internal,
unsigned int only_unallocated);
static Eina_List * efreet_menu_process_app_pool(Eina_List *pool, Eina_List *applications,
Eina_Hash *matches,
Efreet_Menu_Filter *filter,
unsigned int only_unallocated);
static Eina_List * efreet_menu_process_app_pool(Eina_List *pool,
Eina_List *applications,
Eina_Hash *matches,
Efreet_Menu_Filter *filter,
unsigned int only_unallocated);
static int efreet_menu_filter_matches(Efreet_Menu_Filter_Op *op,
Efreet_Menu_Desktop *md);
static int efreet_menu_filter_or_matches(Efreet_Menu_Filter_Op *op,
@ -463,14 +464,14 @@ efreet_menu_init(void)
_efreet_menu_log_dom = eina_log_domain_register("Efreet_menu", EFREET_DEFAULT_LOG_COLOR);
if (_efreet_menu_log_dom < 0)
{
ERROR("Efreet: Could not create a log domain for Efreet_menu");
return 0;
ERROR("Efreet: Could not create a log domain for Efreet_menu");
return 0;
}
if (!efreet_xml_init())
{
ERROR("Efreet: Could not init xml module");
ERROR("Efreet: Could not init xml module");
eina_log_domain_unregister(_efreet_menu_log_dom);
return 0;
return 0;
}
efreet_menu_handle_cbs = eina_hash_string_superfast_new(NULL);
@ -482,7 +483,7 @@ efreet_menu_init(void)
{
efreet_xml_shutdown();
eina_log_domain_unregister(_efreet_menu_log_dom);
return 0;
return 0;
}
/* set Menu into it's own so we can check the XML is valid before trying
@ -490,41 +491,41 @@ efreet_menu_init(void)
efreet_tag_menu = eina_stringshare_add(menu_cbs[0].key);
for (i = 0; menu_cbs[i].key != NULL; i++)
{
eina_hash_del(efreet_menu_handle_cbs,
menu_cbs[i].key,
NULL);
eina_hash_add(efreet_menu_handle_cbs,
menu_cbs[i].key,
menu_cbs[i].cb);
}
{
eina_hash_del(efreet_menu_handle_cbs,
menu_cbs[i].key,
NULL);
eina_hash_add(efreet_menu_handle_cbs,
menu_cbs[i].key,
menu_cbs[i].cb);
}
for (i = 0; filter_cbs[i].key != NULL; i++)
{
eina_hash_del(efreet_menu_filter_cbs,
filter_cbs[i].key,
NULL);
eina_hash_add(efreet_menu_filter_cbs,
filter_cbs[i].key,
filter_cbs[i].cb);
}
{
eina_hash_del(efreet_menu_filter_cbs,
filter_cbs[i].key,
NULL);
eina_hash_add(efreet_menu_filter_cbs,
filter_cbs[i].key,
filter_cbs[i].cb);
}
for (i = 0; move_cbs[i].key != NULL; i++)
{
eina_hash_del(efreet_menu_move_cbs,
move_cbs[i].key,
NULL);
eina_hash_add(efreet_menu_move_cbs,
move_cbs[i].key,
move_cbs[i].cb);
}
{
eina_hash_del(efreet_menu_move_cbs,
move_cbs[i].key,
NULL);
eina_hash_add(efreet_menu_move_cbs,
move_cbs[i].key,
move_cbs[i].cb);
}
for (i = 0; layout_cbs[i].key != NULL; i++)
{
eina_hash_del(efreet_menu_layout_cbs,
layout_cbs[i].key,
NULL);
eina_hash_add(efreet_menu_layout_cbs,
layout_cbs[i].key,
layout_cbs[i].cb);
}
{
eina_hash_del(efreet_menu_layout_cbs,
layout_cbs[i].key,
NULL);
eina_hash_add(efreet_menu_layout_cbs,
layout_cbs[i].key,
layout_cbs[i].cb);
}
return 1;
}
@ -1216,7 +1217,7 @@ efreet_menu_handle_default_app_dirs(Efreet_Menu_Internal *parent, Efreet_Xml *xm
prepend = eina_list_append(prepend, app_dir);
free(dir);
free(dir);
}
parent->app_dirs = eina_list_merge(prepend, parent->app_dirs);
@ -1673,10 +1674,10 @@ efreet_menu_merge(Efreet_Menu_Internal *parent, Efreet_Xml *xml, const char *pat
/* don't merge the same path twice */
if (eina_hash_find(efreet_merged_menus, realpath))
{
{
FREE(realpath);
return 1;
}
}
eina_hash_add(efreet_merged_menus, realpath, (void *)1);
@ -2791,9 +2792,8 @@ efreet_menu_process_filters(Efreet_Menu_Internal *internal, unsigned int only_un
*/
static Eina_List *
efreet_menu_process_app_pool(Eina_List *pool, Eina_List *applications,
Eina_Hash *matches,
Efreet_Menu_Filter *filter,
unsigned int only_unallocated)
Eina_Hash *matches, Efreet_Menu_Filter *filter,
unsigned int only_unallocated)
{
Efreet_Menu_Desktop *md;
Eina_List *l;
@ -3021,7 +3021,7 @@ efreet_menu_concatenate(Efreet_Menu_Internal *dest, Efreet_Menu_Internal *src)
{
efreet_menu_create_app_dirs_list(dest);
dest->app_dirs = eina_list_merge(src->app_dirs, dest->app_dirs);
src->app_dirs = NULL;
src->app_dirs = NULL;
}
if (src->directory_dirs)
@ -3399,10 +3399,10 @@ efreet_menu_app_dirs_process(Efreet_Menu_Internal *internal)
Eina_List *l;
EINA_LIST_FREE(internal->app_pool, md)
efreet_menu_desktop_free(md);
efreet_menu_desktop_free(md);
EINA_LIST_FOREACH(internal->app_dirs, l, app_dir)
efreet_menu_app_dir_scan(internal, app_dir->path, app_dir->prefix, app_dir->legacy);
efreet_menu_app_dir_scan(internal, app_dir->path, app_dir->prefix, app_dir->legacy);
return 1;
}
@ -3481,7 +3481,7 @@ efreet_menu_directory_dirs_process(Efreet_Menu_Internal *internal)
if (internal->directory_dirs)
{
internal->directory_cache =
eina_hash_string_superfast_new(EINA_FREE_CB(efreet_desktop_free));
eina_hash_string_superfast_new(EINA_FREE_CB(efreet_desktop_free));
EINA_LIST_REVERSE_FOREACH(internal->directory_dirs, l, path)
efreet_menu_directory_dir_scan(path, NULL, internal->directory_cache);
@ -3514,7 +3514,7 @@ efreet_menu_directory_dirs_process(Efreet_Menu_Internal *internal)
*/
static int
efreet_menu_directory_dir_scan(const char *path, const char *relative_path,
Eina_Hash *cache)
Eina_Hash *cache)
{
Efreet_Desktop *desktop;
DIR *files;
@ -3549,7 +3549,7 @@ efreet_menu_directory_dir_scan(const char *path, const char *relative_path,
continue;
}
eina_hash_del(cache, buf2, NULL);
eina_hash_del(cache, buf2, NULL);
eina_hash_add(cache, buf2, desktop);
}
}

@ -219,8 +219,8 @@ efreet_mime_init(void)
if (_efreet_mime_log_dom < 0)
{
ERROR("Efreet: Could not create a log domain for Efreet_mime.");
goto shutdown_efreet;
ERROR("Efreet: Could not create a log domain for Efreet_mime.");
goto shutdown_efreet;
}
efreet_mime_endianess = efreet_mime_endian_check();
@ -234,13 +234,13 @@ efreet_mime_init(void)
return _efreet_mime_init_count;
unregister_log_domain:
unregister_log_domain:
eina_log_domain_unregister(_efreet_mime_log_dom);
shutdown_efreet:
shutdown_efreet:
efreet_shutdown();
shutdown_ecore_file:
shutdown_ecore_file:
ecore_file_shutdown();
shutdown_ecore:
shutdown_ecore:
ecore_shutdown();
return --_efreet_mime_init_count;
@ -769,7 +769,7 @@ efreet_mime_fallback_check(const char *file)
int i;
if (ecore_file_can_exec(file))
return "application/x-executable";
return "application/x-executable";
if (!(f = fopen(file, "r"))) return NULL;
@ -864,7 +864,7 @@ efreet_mime_mime_types_load(const char *file)
strncpy(ext, pp, (p - pp));
ext[p - pp] = 0;
eina_hash_del(wild, ext, NULL);
eina_hash_del(wild, ext, NULL);
eina_hash_add(wild, ext, (void*)eina_stringshare_add(mimetype));
}
while ((*p != '\n') && (*p != 0));
@ -924,7 +924,7 @@ efreet_mime_shared_mimeinfo_globs_load(const char *file)
{
eina_hash_del(wild, &(ext[2]), NULL);
eina_hash_add(wild, &(ext[2]),
(void*)eina_stringshare_add(mimetype));
(void*)eina_stringshare_add(mimetype));
}
else
{
@ -1103,7 +1103,7 @@ efreet_mime_shared_mimeinfo_magic_parse(char *data, int size)
entry->value = NULL;
mime->entries = eina_list_append(mime->entries, entry);
}
}
switch(*ptr)
{
@ -1136,9 +1136,9 @@ efreet_mime_shared_mimeinfo_magic_parse(char *data, int size)
ptr++;
entry->word_size = atoi(ptr);
if ((entry->word_size != 0) && (((entry->word_size != 1)
&& (entry->word_size != 2)
&& (entry->word_size != 4))
|| (entry->value_len % entry->word_size)))
&& (entry->word_size != 2)
&& (entry->word_size != 4))
|| (entry->value_len % entry->word_size)))
{
/* Invalid, Destroy */
FREE(entry->value);
@ -1583,7 +1583,7 @@ efreet_mime_icons_debug(void)
}
DBG("mime-icon entry: '%s' last used: %s",
entry->mime, ctime(&entry->timestamp));
entry->mime, ctime(&entry->timestamp));
EINA_INLIST_FOREACH(entry->list, n)
DBG("\tsize: %3u theme: '%s' icon: '%s'",

@ -42,10 +42,10 @@ efreet_trash_init(void)
_efreet_trash_log_dom = eina_log_domain_register("Efreet_trash", EFREET_DEFAULT_LOG_COLOR);
if (_efreet_trash_log_dom < 0)
{
ERROR("Efreet: Could not create a log domain for Efreet_trash");
ERROR("Efreet: Could not create a log domain for Efreet_trash");
eina_shutdown();
return --_efreet_trash_init_count;
}
}
return _efreet_trash_init_count;
}
@ -126,7 +126,7 @@ efreet_trash_delete_uri(Efreet_Uri *uri, int force_delete)
/* search for a free filename */
while (ecore_file_exists(dest))
snprintf(dest, sizeof(dest), "%s/files/%s$%d",
efreet_trash_dir_get(), fname, i++);
efreet_trash_dir_get(), fname, i++);
fname = ecore_file_file_get(dest);
/* move file to trash dir */
@ -150,7 +150,7 @@ efreet_trash_delete_uri(Efreet_Uri *uri, int force_delete)
/* create info file */
snprintf(dest, sizeof(dest), "%s/info/%s.trashinfo",
efreet_trash_dir_get(), fname);
efreet_trash_dir_get(), fname);
if ((f = fopen(dest, "w")))
{

@ -126,11 +126,11 @@ efreet_util_init(void)
if (init++) return init;
_efreet_utils_log_dom = eina_log_domain_register("Efreet_util",EFREET_DEFAULT_LOG_COLOR);
if(_efreet_utils_log_dom < 0)
{
ERROR("Efreet: Could not create a log domain for efreet_util");
return 0;
}
if (_efreet_utils_log_dom < 0)
{
ERROR("Efreet: Could not create a log domain for efreet_util");
return 0;
}
if (!EFREET_EVENT_DESKTOP_LIST_CHANGE)
EFREET_EVENT_DESKTOP_LIST_CHANGE = ecore_event_type_new();
if (!EFREET_EVENT_DESKTOP_CHANGE)
@ -220,11 +220,11 @@ efreet_util_path_in_default(const char *section, const char *path)
ret = dir;
break;
}
free(dir);
free(dir);
}
EINA_LIST_FREE(dirs, dir)
if (ret != dir) free(dir);
if (ret != dir) free(dir);
return ret;
}
@ -307,10 +307,10 @@ efreet_util_desktop_wm_class_find(const char *wmname, const char *wmclass)
ud = search.result;
if (ud)
{
efreet_desktop_ref(ud->desktop);
return ud->desktop;
}
{
efreet_desktop_ref(ud->desktop);
return ud->desktop;
}
return NULL;
}
@ -522,17 +522,17 @@ _hash_keys(Eina_Hash *hash __UNUSED__, const void *key, void *fdata)
EAPI Eina_List *
efreet_util_desktop_categories_list(void)
{
Eina_Iterator *it;
Eina_List *list = NULL;
it = eina_hash_iterator_key_new(desktops_by_category);
if (it)
{
Eina_Iterator *it;
Eina_List *list = NULL;
it = eina_hash_iterator_key_new(desktops_by_category);
if (it)
{
eina_iterator_foreach(it, EINA_EACH(_hash_keys), &list);
eina_iterator_free(it);
}
return list;
}
return list;
}
/**
@ -677,12 +677,12 @@ efreet_util_cache_add(const char *path, const char *file_id, int priority, int e
}
if (!eina_hash_find(file_id_by_desktop_path, desktop->orig_path))
{
eina_hash_add(file_id_by_desktop_path,
desktop->orig_path,
(void *)eina_stringshare_add(file_id));
{
eina_hash_add(file_id_by_desktop_path,
desktop->orig_path,
(void *)eina_stringshare_add(file_id));
}
}
ud = eina_hash_find(desktop_by_file_id, file_id);
if (!ud)
@ -855,9 +855,9 @@ efreet_util_cache_search_mime(__UNUSED__ const Eina_Hash *hash, void *value, voi
if (!ud->desktop->mime_types) return EINA_TRUE;
EINA_LIST_FOREACH(ud->desktop->mime_types, l, mime)
if (search->what == mime)
if (search->what == mime)
{
efreet_desktop_ref(ud->desktop);
efreet_desktop_ref(ud->desktop);
search->list = eina_list_append(search->list, ud->desktop);
break;
}
@ -876,15 +876,15 @@ efreet_util_cache_search_wm_class(__UNUSED__ const Eina_Hash *hash, void *value,
if (!ud->desktop) return EINA_TRUE;
if (!ud->desktop->startup_wm_class) return EINA_TRUE;
if ((search->what2) && (!strcmp(ud->desktop->startup_wm_class, search->what2)))
{
search->result = ud;
return EINA_FALSE;
}
{
search->result = ud;
return EINA_FALSE;
}
else if ((search->what1) && (!strcmp(ud->desktop->startup_wm_class, search->what1)))
{
search->result = ud;
return EINA_FALSE;
}
{
search->result = ud;
return EINA_FALSE;
}
return EINA_TRUE;
}
@ -904,17 +904,17 @@ efreet_util_cache_search_exec(__UNUSED__ const Eina_Hash *hash, void *value, voi
if (!exec) return EINA_TRUE;
if (!strcmp(exec, search->what1))
{
free(exec);
search->result = ud;
return EINA_FALSE;
free(exec);
search->result = ud;
return EINA_FALSE;
}
file = ecore_file_file_get(exec);
if (file && !strcmp(file, search->what1))
{
free(exec);
search->result = ud;
return EINA_FALSE;
free(exec);
search->result = ud;
return EINA_FALSE;
}
free(exec);
return EINA_TRUE;
@ -931,10 +931,10 @@ efreet_util_cache_search_name(__UNUSED__ const Eina_Hash *hash, void *value, voi
if (!ud->desktop->name) return EINA_TRUE;
if (!strcmp(ud->desktop->name, search->what1))
{
search->result = ud;
return EINA_FALSE;
}
{
search->result = ud;
return EINA_FALSE;
}
return EINA_TRUE;
}
@ -949,10 +949,10 @@ efreet_util_cache_search_generic_name(__UNUSED__ const Eina_Hash *hash, void *va
if (!ud->desktop->generic_name) return EINA_TRUE;
if (!strcmp(ud->desktop->generic_name, search->what1))
{
search->result = ud;
return EINA_FALSE;
}
{
search->result = ud;
return EINA_FALSE;
}
return EINA_TRUE;
}
@ -967,10 +967,10 @@ efreet_util_cache_search_name_glob(__UNUSED__ const Eina_Hash *hash, void *value
if (!ud->desktop) return EINA_TRUE;
if (efreet_util_glob_match(ud->desktop->name, search->what))
{
efreet_desktop_ref(ud->desktop);
search->list = eina_list_append(search->list, ud->desktop);
}
{
efreet_desktop_ref(ud->desktop);
search->list = eina_list_append(search->list, ud->desktop);
}
return EINA_TRUE;
}
@ -988,10 +988,10 @@ efreet_util_cache_search_exec_glob(__UNUSED__ const Eina_Hash *hash, void *value
exec = ecore_file_app_exe_get(ud->desktop->exec);
if (!exec) return EINA_TRUE;
if (efreet_util_glob_match(exec, search->what))
{
efreet_desktop_ref(ud->desktop);
search->list = eina_list_append(search->list, ud->desktop);
if (efreet_util_glob_match(exec, search->what))
{
efreet_desktop_ref(ud->desktop);
search->list =