diff options
author | Jesús González <jgonzalez@gdr-sistemas.com> | 2014-09-20 09:21:37 +0200 |
---|---|---|
committer | Jesús González <jgonzalez@gdr-sistemas.com> | 2014-09-20 09:21:37 +0200 |
commit | e05f6b09d771df8bf1dbe0337c1d4be5e6d61f76 (patch) | |
tree | 6dfd34a8b7a98a2bf79c0254f93d716dea05ec53 /src/lightdm.c | |
parent | d093465ea61510c139d13e94313cc19f0b21e628 (diff) | |
download | lightdm-e05f6b09d771df8bf1dbe0337c1d4be5e6d61f76.tar.gz |
Refactored code to add seat_find_session_by_login1_id() for better SOLID practice as suggested by @robert-ancell.
Also renamed variables and functions with *login1_session* in their names to *login1_session_id* for better nomenclature coherency.
Diffstat (limited to 'src/lightdm.c')
-rw-r--r-- | src/lightdm.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/lightdm.c b/src/lightdm.c index 0d161ed5..0c9f3d96 100644 --- a/src/lightdm.c +++ b/src/lightdm.c @@ -1056,9 +1056,9 @@ login1_can_graphical_changed_cb (Login1Seat *login1_seat) } static void -login1_active_session_changed_cb (Login1Seat *login1_seat, const gchar *login1_session) +login1_active_session_changed_cb (Login1Seat *login1_seat, const gchar *login1_session_id) { - g_debug ("Seat %s changes active session to %s", login1_seat_get_id (login1_seat), login1_session); + g_debug ("Seat %s changes active session to %s", login1_seat_get_id (login1_seat), login1_session_id); Seat *seat; seat = display_manager_get_seat (display_manager, login1_seat_get_id (login1_seat)); @@ -1068,24 +1068,20 @@ login1_active_session_changed_cb (Login1Seat *login1_seat, const gchar *login1_s Session *active_session; active_session = seat_get_expected_active_session (seat); - if (g_strcmp0 (login1_session, session_get_login1_session (active_session)) == 0) + if (g_strcmp0 (login1_session_id, session_get_login1_session_id (active_session)) == 0) { // Session is already active - g_debug ("Session %s is already active", login1_session); + g_debug ("Session %s is already active", login1_session_id); return; } - GList *session_link; - for (session_link = seat_get_sessions (seat); session_link; session_link = session_link->next) + active_session = seat_find_session_by_login1_id (seat, login1_session_id); + if (active_session != NULL) { - Session *session = session_link->data; + g_debug ("Activating session %s", login1_session_id); + seat_set_externally_activated_session (seat, active_session); + return; - if (g_strcmp0 (login1_session, session_get_login1_session (session)) == 0) - { - g_debug ("Activating session %s", login1_session); - seat_set_externally_activated_session (seat, session); - return; - } } } } |