Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_fileman_smart.c e_main.c 


Log Message:
- 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.


===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_fileman_smart.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -3 -r1.51 -r1.52
--- e_fileman_smart.c   23 Oct 2005 13:39:57 -0000      1.51
+++ e_fileman_smart.c   23 Oct 2005 14:57:51 -0000      1.52
@@ -571,7 +571,7 @@
    
    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 @@
    
    /* 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_Smart_Data *sd;
    
    sd = data;
-   
+
    /* FIXME! */
    return;
    
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_main.c,v
retrieving revision 1.130
retrieving revision 1.131
diff -u -3 -r1.130 -r1.131
--- e_main.c    23 Oct 2005 07:17:59 -0000      1.130
+++ e_main.c    23 Oct 2005 14:57:51 -0000      1.131
@@ -261,6 +261,16 @@
        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 @@
                               "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 @@
    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 @@
 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();




-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to