discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=cc9c130c24e23d9100aa703cd5c949f297059329
commit cc9c130c24e23d9100aa703cd5c949f297059329 Author: Mike Blumenkrantz <zm...@samsung.com> Date: Thu Dec 19 10:53:29 2013 -0500 clean up desklock showing on startup, add env var for checking unlocked state desklock's layer is below the start splash layer, so this can just be shown any time regardless of whether it's enabled. security++ previously the fact that e was restarting could break out of desklocked startup due to how the env variables were set. now there is a new variable which only gets set when the screen is locked which will force lock on startup even during restarts T681 --- src/bin/e_desklock.c | 2 ++ src/bin/e_main.c | 11 +++-------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/bin/e_desklock.c b/src/bin/e_desklock.c index bcdd857..cddd541 100644 --- a/src/bin/e_desklock.c +++ b/src/bin/e_desklock.c @@ -346,6 +346,7 @@ works: ev->suspend = suspend; ecore_event_add(E_EVENT_DESKLOCK, ev, NULL, NULL); + e_util_env_set("E_DESKLOCK_UNLOCKED", NULL); e_util_env_set("E_DESKLOCK_LOCKED", "locked"); _e_desklock_state = EINA_TRUE; return 1; @@ -413,6 +414,7 @@ e_desklock_hide(void) _e_desklock_autolock_time = 0.0; } e_util_env_set("E_DESKLOCK_LOCKED", "freefreefree"); + e_util_env_set("E_DESKLOCK_UNLOCKED", "happened"); } static void diff --git a/src/bin/e_main.c b/src/bin/e_main.c index 9cd6921..5da7b2d 100644 --- a/src/bin/e_main.c +++ b/src/bin/e_main.c @@ -738,9 +738,7 @@ main(int argc, char **argv) TS("E_Popups Init Done"); _e_main_shutdown_push(e_popup_shutdown); - if ((locked) && ((!e_config->show_splash) && (!after_restart))) - e_desklock_show(EINA_TRUE); - else if (waslocked) + if (waslocked || (locked && ((!after_restart) || (getenv("E_DESKLOCK_UNLOCKED"))))) e_desklock_show(EINA_TRUE); if (e_config->show_splash) @@ -986,11 +984,8 @@ main(int argc, char **argv) } TS("Run Startup Apps Done"); - if (!((!e_config->show_splash) || (after_restart))) - { - ecore_timer_add(2.0, _e_main_cb_startup_fake_end, NULL); - if (locked) e_desklock_show(EINA_TRUE); - } + if (e_config->show_splash && (!after_restart)) + ecore_timer_add(2.0, _e_main_cb_startup_fake_end, NULL); TS("E_Container Thaw"); e_container_all_thaw(); --