Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_apps.c e_fwin.c e_zone.c Log Message: oof a nast old bug lurking in e_apps for execcing - if the app is NOT in the all apps repo. fixed. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_apps.c,v retrieving revision 1.240 retrieving revision 1.241 diff -u -3 -r1.240 -r1.241 --- e_apps.c 25 Oct 2006 10:23:33 -0000 1.240 +++ e_apps.c 29 Oct 2006 10:29:45 -0000 1.241 @@ -697,9 +697,12 @@ inst->launch_id = launch_id; inst->launch_time = ecore_time_get(); inst->expire_timer = ecore_timer_add(10.0, _e_app_cb_expire_timer, inst); - - _e_apps_all->subapps = evas_list_remove(_e_apps_all->subapps, original); - _e_apps_all->subapps = evas_list_prepend(_e_apps_all->subapps, original); + + if (original->parent == _e_apps_all) + { + _e_apps_all->subapps = evas_list_remove(_e_apps_all->subapps, original); + _e_apps_all->subapps = evas_list_prepend(_e_apps_all->subapps, original); + } original->instances = evas_list_append(original->instances, inst); _e_apps_start_pending = evas_list_append(_e_apps_start_pending, original); =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_fwin.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- e_fwin.c 29 Oct 2006 09:46:19 -0000 1.18 +++ e_fwin.c 29 Oct 2006 10:29:45 -0000 1.19 @@ -529,6 +529,11 @@ return E_FWIN_EXEC_SH; } } + else if ((e_util_glob_match(ici->file, "*.desktop")) || + (e_util_glob_match(ici->file, "*.kdelink"))) + { + return E_FWIN_EXEC_DESKTOP; + } } return E_FWIN_EXEC_NONE; } @@ -562,7 +567,11 @@ e_zone_exec(fwin->win->border->zone, buf); break; case E_FWIN_EXEC_DESKTOP: - a = e_app_new(ici->file, 0); + if (ici->pseudo_link) + snprintf(buf, sizeof(buf), "%s/%s", ici->pseudo_dir, ici->file); + else + snprintf(buf, sizeof(buf), "%s/%s", e_fm2_real_path_get(fwin->fm_obj), ici->file); + a = e_app_new(buf, 0); if (a) { e_zone_app_exec(fwin->win->border->zone, a); @@ -693,34 +702,39 @@ * use it, if not fall back again - and so on - if all apps listed do * not contain 1 that handles all the mime types - fall back to dialog */ - if (evas_list_count(mlist) == 1) + if (evas_list_count(mlist) <= 1) { - a = e_exehist_mime_app_get(mlist->data); - if (a) + char pcwd[4096], buf[4096], *cmd; + Ecore_List *files_list = NULL, *cmds = NULL; + + need_dia = 1; + a = NULL; + if (mlist) a = e_exehist_mime_app_get(mlist->data); + getcwd(pcwd, sizeof(pcwd)); + chdir(e_fm2_real_path_get(fwin->fm_obj)); + + files_list = ecore_list_new(); + ecore_list_set_free_cb(files_list, free); + for (l = files; l; l = l->next) { - char pcwd[4096], buf[4096], *cmd; - Ecore_List *files_list = NULL, *cmds = NULL; - - getcwd(pcwd, sizeof(pcwd)); - chdir(e_fm2_real_path_get(fwin->fm_obj)); + ici = l->data; + if (_e_fwin_file_is_exec(ici) == E_FWIN_EXEC_NONE) + ecore_list_append(files_list, strdup(ici->file)); + } + for (l = files; l; l = l->next) + { + E_Fwin_Exec_Type ext; - files_list = ecore_list_new(); - ecore_list_set_free_cb(files_list, free); - for (l = files; l; l = l->next) - { - ici = l->data; - if (_e_fwin_file_is_exec(ici) == E_FWIN_EXEC_NONE) - ecore_list_append(files_list, strdup(ici->file)); - } - for (l = files; l; l = l->next) + ici = l->data; + ext = _e_fwin_file_is_exec(ici); + if (ext != E_FWIN_EXEC_NONE) { - E_Fwin_Exec_Type ext; - - ici = l->data; - ext = _e_fwin_file_is_exec(ici); - if (ext != E_FWIN_EXEC_NONE) - _e_fwin_file_exec(fwin, ici, ext); + _e_fwin_file_exec(fwin, ici, ext); + need_dia = 0; } + } + if (a) + { cmds = ecore_desktop_get_command(a->desktop, files_list, 1); if (cmds) { @@ -729,15 +743,18 @@ { e_zone_exec(fwin->win->border->zone, cmd); e_exehist_add("fwin", cmd); + need_dia = 0; } ecore_list_destroy(cmds); } - ecore_list_destroy(files_list); - + } + ecore_list_destroy(files_list); + + chdir(pcwd); + if (!need_dia) + { if (apps) evas_list_free(apps); evas_list_free(mlist); - - chdir(pcwd); return; } } =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_zone.c,v retrieving revision 1.104 retrieving revision 1.105 diff -u -3 -r1.104 -r1.105 --- e_zone.c 29 Oct 2006 09:31:12 -0000 1.104 +++ e_zone.c 29 Oct 2006 10:29:45 -0000 1.105 @@ -673,9 +673,9 @@ } /* 20 lines at start and end, 20x100 limit on bytes at each end. */ ecore_exe_auto_limits_set(ex, 2000, 2000, 20, 20); - ecore_exe_tag_set(ex, "E/app"); if (a) { + ecore_exe_tag_set(ex, "E/app"); inst->app = a; inst->exe = ex; inst->launch_id = startup_id; @@ -684,9 +684,7 @@ if (a->startup_notify) a->starting = 1; } else - { - ecore_exe_free(ex); - } + ecore_exe_free(ex); return ret; } ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs