forked from enlightenment/enlightenment
- delay ecore_file shutdown. if we shut it down before closing all apps / windows then anything using file monitors will die and E will sefgault.
SVN revision: 17815
This commit is contained in:
parent
db9415d454
commit
80307fd31f
|
@ -571,7 +571,7 @@ _e_fm_smart_del(Evas_Object *object)
|
|||
|
||||
e_config_domain_save("efm", sd->conf.main_edd, sd->conf.main);
|
||||
|
||||
//if (sd->monitor) ecore_file_monitor_del(sd->monitor);
|
||||
if (sd->monitor) ecore_file_monitor_del(sd->monitor);
|
||||
sd->monitor = NULL;
|
||||
|
||||
while (sd->event_handlers)
|
||||
|
@ -1348,8 +1348,8 @@ _e_fm_dir_set(E_Fm_Smart_Data *sd, const char *dir)
|
|||
|
||||
/* Get new files */
|
||||
sd->files = _e_fm_dir_files_get(sd, E_FM_FILE_TYPE_NORMAL);
|
||||
//if (sd->monitor) ecore_file_monitor_del(sd->monitor);
|
||||
//sd->monitor = ecore_file_monitor_add(sd->dir, _e_fm_dir_monitor_cb, sd);
|
||||
if (sd->monitor) ecore_file_monitor_del(sd->monitor);
|
||||
sd->monitor = ecore_file_monitor_add(sd->dir, _e_fm_dir_monitor_cb, sd);
|
||||
|
||||
/* Get special prev dir */
|
||||
if (strcmp(sd->dir, "/"))
|
||||
|
@ -1495,7 +1495,7 @@ _e_fm_dir_monitor_cb(void *data, Ecore_File_Monitor *ecore_file_monitor,
|
|||
E_Fm_Smart_Data *sd;
|
||||
|
||||
sd = data;
|
||||
|
||||
|
||||
/* FIXME! */
|
||||
return;
|
||||
|
||||
|
|
|
@ -261,6 +261,16 @@ main(int argc, char **argv)
|
|||
exit(-1);
|
||||
}
|
||||
_e_main_shutdown_push(ecore_shutdown);
|
||||
|
||||
/* init the file system */
|
||||
if (!ecore_file_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot initialize the File system.\n"
|
||||
"Perhaps you are out of memory?"));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(ecore_file_shutdown);
|
||||
|
||||
/* setup my args */
|
||||
ecore_app_args_set(argc, (const char **)argv);
|
||||
/* setup a handler for when e is asked to exit via a system signal */
|
||||
|
@ -341,17 +351,27 @@ main(int argc, char **argv)
|
|||
"Ecore and check they support Software X11 rendering."));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(ecore_evas_shutdown);
|
||||
/* init the file system */
|
||||
if (!ecore_file_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot initialize the File system.\n"
|
||||
"Perhaps you are out of memory?"));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(ecore_file_shutdown);
|
||||
_e_main_shutdown_push(ecore_evas_shutdown);
|
||||
|
||||
/* init the enlightenment thumbnailing system */
|
||||
if (!e_thumb_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot initialize the Thumbnailing system.\n"));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(e_thumb_shutdown);
|
||||
|
||||
|
||||
/* init the enlightenment file manager */
|
||||
if (!e_fm_icon_init() || !e_fm_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot initialize the File manager.\n"));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(e_fm_shutdown);
|
||||
_e_main_shutdown_push(e_fm_icon_shutdown);
|
||||
|
||||
|
||||
|
||||
/*** Finished loading subsystems, Loading WM Specifics ***/
|
||||
|
||||
/* setup directories we will be using for configurations storage etc. */
|
||||
|
@ -739,9 +759,6 @@ _e_main_screens_init(void)
|
|||
if (!e_desk_init()) return 0;
|
||||
if (!e_gadman_init()) return 0;
|
||||
if (!e_menu_init()) return 0;
|
||||
if (!e_thumb_init()) return 0;
|
||||
if (!e_fm_icon_init()) return 0;
|
||||
if (!e_fm_init()) return 0;
|
||||
|
||||
num = 0;
|
||||
roots = ecore_x_window_root_list(&num);
|
||||
|
@ -796,9 +813,6 @@ _e_main_screens_init(void)
|
|||
static int
|
||||
_e_main_screens_shutdown(void)
|
||||
{
|
||||
e_fm_shutdown();
|
||||
e_fm_icon_shutdown();
|
||||
e_thumb_shutdown();
|
||||
e_win_shutdown();
|
||||
e_border_shutdown();
|
||||
e_focus_shutdown();
|
||||
|
|
Loading…
Reference in New Issue