efreet: reorder init

SVN revision: 47794
This commit is contained in:
Sebastian Dransfeld 2010-04-06 18:36:25 +00:00
parent 207f5dc447
commit 95d6e3390f
1 changed files with 11 additions and 7 deletions

View File

@ -274,29 +274,31 @@ efreet_desktop_init(void)
EFREET_EVENT_CACHE_UPDATE = ecore_event_type_new();
snprintf(buf, sizeof(buf), "%s/.efreet", efreet_home_dir_get());
if (!ecore_file_mkpath(buf)) goto edd_error;
if (!ecore_file_mkpath(buf)) goto cache_error;
if (efreet_cache_update)
{
efreet_desktop_exe_handler = ecore_event_handler_add(ECORE_EXE_EVENT_DEL,
efreet_desktop_exe_cb, NULL);
if (!efreet_desktop_exe_handler) goto cache_error;
cache_monitor = ecore_file_monitor_add(buf,
efreet_desktop_cache_update,
NULL);
if (!cache_monitor) goto handler_error;
efreet_desktop_listen_changes();
if (!cache_monitor) goto cache_error;
ecore_exe_run(PACKAGE_BIN_DIR "/efreet_desktop_cache_create", NULL);
efreet_desktop_exe_handler = ecore_event_handler_add(ECORE_EXE_EVENT_DEL,
efreet_desktop_exe_cb, NULL);
if (!efreet_desktop_exe_handler) goto monitor_error;
}
cache = eet_open(efreet_desktop_cache_file(), EET_FILE_MODE_READ);
return 1;
monitor_error:
if (cache_monitor) ecore_file_monitor_del(cache_monitor);
handler_error:
if (efreet_desktop_exe_handler) ecore_event_handler_del(efreet_desktop_exe_handler);
cache_error:
if (efreet_desktop_cache) eina_hash_free(efreet_desktop_cache);
edd_error:
@ -2359,6 +2361,7 @@ efreet_desktop_update_cache(void)
{
if (!efreet_cache_update) return;
/* TODO: Make sure we don't create a lot of execs, maybe use a timer? */
if (efreet_desktop_job) ecore_job_del(efreet_desktop_job);
efreet_desktop_job = ecore_job_add(efreet_desktop_update_cache_job, NULL);
}
@ -2370,6 +2373,7 @@ efreet_desktop_update_cache_job(void *data __UNUSED__)
efreet_desktop_update_cache_dirs();
if (efreet_desktop_exe_lock > 0) return;
snprintf(file, sizeof(file), "%s/.efreet/desktop_exec.lock", efreet_home_dir_get());
efreet_desktop_exe_lock = open(file, O_CREAT | O_RDONLY, S_IRUSR | S_IWUSR);