Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_apps.c 


Log Message:
An app without a valid exe should be considered as non existant.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_apps.c,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -3 -r1.78 -r1.79
--- e_apps.c    27 Sep 2005 03:57:03 -0000      1.78
+++ e_apps.c    28 Sep 2005 01:55:03 -0000      1.79
@@ -373,7 +373,7 @@
                  e_app_fields_fill(a, path);
                  
                  /* no exe field.. not valid. drop it */
-                 if (!a->exe)
+                 if ((!a->exe) || (!ecore_file_app_installed(a->exe)))
                    goto error;
               }
             else
@@ -1368,24 +1368,41 @@
      {
        if (event == ECORE_FILE_EVENT_MODIFIED)
          {
-            E_App *a2;
+            E_App *a;
 
-            a2 = _e_app_subapp_file_find(app, file);
-            if (a2)
+            a = _e_app_subapp_file_find(app, file);
+            if (a)
               {
                  Evas_List *l;
 
-                 e_app_fields_empty(a2);
-                 e_app_fields_fill(a2, path);
-                 _e_app_change(a2, E_APP_CHANGE);
+                 e_app_fields_empty(a);
+                 e_app_fields_fill(a, path);
+                 if ((!a->exe) || (!ecore_file_app_installed(a->exe)))
+                   {
+                      a->deleted = 1;
+                      for (l = a->references; l;)
+                        {
+                           E_App *a2;
 
-                 for (l = a2->references; l; l = l->next)
+                           a2 = l->data;
+                           l = l->next;
+                           if (a2->parent)
+                             _e_app_subdir_rescan(a2->parent);
+                        }
+                      _e_app_subdir_rescan(app);
+                   }
+                 else
                    {
-                      E_App *a3;
+                      _e_app_change(a, E_APP_CHANGE);
 
-                      a3 = l->data;
-                      if (_e_app_copy(a3, a2))
-                        _e_app_change(a3, E_APP_CHANGE);
+                      for (l = a->references; l; l = l->next)
+                        {
+                           E_App *a2;
+
+                           a2 = l->data;
+                           if (_e_app_copy(a2, a))
+                             _e_app_change(a2, E_APP_CHANGE);
+                        }
                    }
               }
          }




-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to