Enlightenment CVS committal Author : xcomputerman Project : e17 Module : apps/entrance
Dir : e17/apps/entrance/src/client Modified Files: entrance_session.c main.c Log Message: Fix bug affecting session remember for custom (non-Xsession) sessions, and theme now changes session visually when you enter a username. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_session.c,v retrieving revision 1.73 retrieving revision 1.74 diff -u -3 -r1.73 -r1.74 --- entrance_session.c 25 Aug 2005 05:02:01 -0000 1.73 +++ entrance_session.c 26 Aug 2005 04:13:30 -0000 1.74 @@ -266,18 +266,19 @@ eu = entrance_user_new(strdup(user), NULL, e->session); if ((eu->session) && (strlen(eu->session) > 0)) - { - if (e->session) - free(e->session); - e->session = strdup(eu->session); - } - edje_object_file_get(e->edje, &file, NULL); - if ((obj = entrance_user_edje_get(eu, e->edje, file))) + { if ((exs = evas_hash_find(e->config->sessions.hash, eu->session))) { + if (e->session) + free(e->session); + e->session = strdup(eu->session); entrance_session_x_session_set(e, exs); } + } + edje_object_file_get(e->edje, &file, NULL); + if ((obj = entrance_user_edje_get(eu, e->edje, file))) + { evas_object_layer_set(obj, evas_object_layer_get(e->edje)); if (edje_object_part_exists(e->edje, "entrance.user.avatar")) { @@ -368,16 +369,20 @@ char buf[PATH_MAX]; char *shell = NULL; struct passwd *pwent = NULL; + Entrance_X_Session *exs = NULL; + + if (e->session) + exs = evas_hash_find(e->config->sessions.hash, e->session); entrance_auth_setup_environment(e->auth, e->display); - if ((e->session) && (strlen(e->session) > 0)) + if ((exs->session) && (strlen(exs->session) > 0)) { - if (!strcmp(e->session, "default")) + if (!strcmp(exs->session, "default")) snprintf(buf, PATH_MAX, "%s", ENTRANCE_XSESSION); - else if (e->session[0] == '/') - snprintf(buf, PATH_MAX, "%s", e->session); + else if (exs->session[0] == '/') + snprintf(buf, PATH_MAX, "%s", exs->session); else - snprintf(buf, PATH_MAX, "%s %s", ENTRANCE_XSESSION, e->session); + snprintf(buf, PATH_MAX, "%s %s", ENTRANCE_XSESSION, exs->session); } else { @@ -504,7 +509,7 @@ { if (e->session) free(e->session); - e->session = strdup(exs->session); + e->session = strdup(exs->name); if ((eu = evas_hash_find(e->config->users.hash, e->auth->user)) != NULL) @@ -524,7 +529,7 @@ } edje_object_part_swallow(e->edje, "entrance.xsessions.selected", o); evas_object_layer_set(o, evas_object_layer_get(e->edje)); - edje_object_signal_emit(e->edje, "entrance,xsession,selected", ""); + edje_object_signal_emit(e->edje, "entrance,xsession,changed", ""); } } } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/main.c,v retrieving revision 1.73 retrieving revision 1.74 diff -u -3 -r1.73 -r1.74 --- main.c 16 Aug 2005 04:03:27 -0000 1.73 +++ main.c 26 Aug 2005 04:13:30 -0000 1.74 @@ -325,6 +325,7 @@ Entrance_X_Session *exs = (Entrance_X_Session *) data; entrance_session_x_session_set(session, exs); + edje_object_signal_emit(session->edje, "entrance,xsession,selected", ""); } } ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs