diff --git a/src/bin/e_exec.c b/src/bin/e_exec.c index 6e5bc54fa..a3b9d13ea 100644 --- a/src/bin/e_exec.c +++ b/src/bin/e_exec.c @@ -203,7 +203,6 @@ _e_exec_cb_exec(void *data, Efreet_Desktop *desktop, char *exec, int remaining) // need a way to still inherit from parent env of wm. e_util_env_set("__GL_SYNC_TO_VBLANK", NULL); - e_util_library_path_strip(); //// FIXME: seem to be some issues with the pipe and filling up ram - need to //// check. for now disable. // exe = ecore_exe_pipe_run(exec, @@ -212,17 +211,44 @@ _e_exec_cb_exec(void *data, Efreet_Desktop *desktop, char *exec, int remaining) // inst); if ((desktop) && (desktop->path)) { - if (!getcwd(buf, sizeof(buf))) return NULL; - if (chdir(desktop->path)) return NULL; + if (!getcwd(buf, sizeof(buf))) + { + E_FREE(inst); + e_util_dialog_show(_("Run Error"), + _("Enlightenment was unable to get current directory")); + return NULL; + } + if (chdir(desktop->path)) + { + E_FREE(inst); + e_util_dialog_show(_("Run Error"), + _("Enlightenment was unable to change to directory:
" + "
" + "%s"), + buf); + return NULL; + } + e_util_library_path_strip(); exe = ecore_exe_run(exec, inst); - if (chdir(buf)) return NULL; + e_util_library_path_restore(); + if (chdir(buf)) + { + e_util_dialog_show(_("Run Error"), + _("Enlightenment was unable to restore to directory:
" + "
" + "%s"), + buf); + E_FREE(inst); + return NULL; + } } else { + e_util_library_path_strip(); exe = ecore_exe_run(exec, inst); + e_util_library_path_restore(); } - e_util_library_path_restore(); if (penv_display) { e_util_env_set("DISPLAY", penv_display); @@ -234,7 +260,7 @@ _e_exec_cb_exec(void *data, Efreet_Desktop *desktop, char *exec, int remaining) e_util_dialog_show(_("Run Error"), _("Enlightenment was unable to fork a child process:
" "
" - "%s
"), + "%s"), exec); return NULL; } diff --git a/src/modules/clock/e_mod_main.c b/src/modules/clock/e_mod_main.c index 4dea9a0f3..25146b157 100644 --- a/src/modules/clock/e_mod_main.c +++ b/src/modules/clock/e_mod_main.c @@ -26,7 +26,7 @@ typedef struct _Instance Instance; struct _Instance { E_Gadcon_Client *gcc; - Evas_Object *o_clock, *o_cal; + Evas_Object *o_clock, *o_table, *o_popclock, *o_cal; E_Gadcon_Popup *popup; }; @@ -36,13 +36,25 @@ static void _clock_popup_new(Instance *inst) { Evas *evas; - + Evas_Object *o, *oi; + if (inst->popup) return; inst->popup = e_gadcon_popup_new(inst->gcc); evas = inst->popup->win->evas; - inst->o_cal = e_widget_table_add(evas, 0); - e_widget_size_min_set(inst->o_cal, 100, 100); - e_gadcon_popup_content_set(inst->popup, inst->o_cal); + + inst->o_table = e_widget_table_add(evas, 0); + + oi = edje_object_add(evas); + inst->o_popclock = oi; + e_theme_edje_object_set(oi, "base/theme/modules/clock", + "e/modules/clock/main"); + o = e_widget_image_add_from_object(evas, oi, 128, 128); + evas_object_show(oi); + + e_widget_table_object_align_append(inst->o_table, o, + 0, 0, 1, 1, 0, 0, 0, 0, 0.5, 0.5); + + e_gadcon_popup_content_set(inst->popup, inst->o_table); e_gadcon_popup_show(inst->popup); }