Enlightenment CVS committal Author : sebastid Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_apps.c Log Message: Fix =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_apps.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- e_apps.c 23 Feb 2005 11:54:29 -0000 1.22 +++ e_apps.c 24 Feb 2005 09:54:58 -0000 1.23 @@ -84,6 +84,15 @@ ecore_event_handler_del(_e_apps_exit_handler); _e_apps_exit_handler = NULL; } + { + Evas_List *l; + for (l = _e_apps_list; l; l = l->next) + { + E_App *a; + a = l->data; + printf("BUG: %d %s\n", E_OBJECT(a)->references, a->path); + } + } return 1; } @@ -349,9 +358,16 @@ a2 = a->subapps->data; a->subapps = evas_list_remove_list(a->subapps, a->subapps); - /* Only remove the parent if it is us. */ if (a2->parent == a) - a2->parent = NULL; + { + /* If we are the parent, remove us */ + a2->parent = NULL; + } + else + { + /* We have a reference */ + a2->references = evas_list_remove(a2->references, a); + } e_object_unref(E_OBJECT(a2)); } for (l = a->references; l; l = l->next) @@ -359,7 +375,8 @@ E_App *a2; a2 = l->data; - a2->subapps = evas_list_remove(a2->subapps, a); + if (a2) + a2->subapps = evas_list_remove(a2->subapps, a); } evas_list_free(a->references); @@ -719,6 +736,8 @@ case ECORE_FILE_EVENT_CREATED: /* If a file is created, wait for the directory change to update * the eapp. */ + /* FIXME: If in a main repository, check if someone else wants this + * file! */ break; case ECORE_FILE_EVENT_DELETED: /* If something is deleted, mark it as deleted @@ -782,6 +801,8 @@ if (!a2) { /* Do we have a reference? */ + /* FIXME: Keep the reference, or check if a file + * has appeared locally? */ Evas_List *pl; pl = _e_apps_repositories; @@ -795,6 +816,7 @@ if (!a2) { /* If we still haven't found it, it is new! */ + snprintf(buf, sizeof(buf), "%s/%s", app->path, s); a2 = e_app_new(buf, 1); if (a2) { @@ -857,6 +879,7 @@ changes = evas_list_append(changes, ch); } } + /* FIXME: We only need to tell about order changes if there are! */ evas_list_free(app->subapps); app->subapps = subapps; ch = calloc(1, sizeof(E_App_Change_Info)); ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs