From 5ab3eee820e97d632aa9401cbd2d25dc828ee1f0 Mon Sep 17 00:00:00 2001 From: William Jon McCann Date: Tue, 12 Feb 2008 22:30:05 -0500 Subject: ck_seat_get_active_session shouldn't return a null ssid Da bus no likey nulls for object paths. Return false and set error if there is no active session. --- src/ck-manager.c | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) (limited to 'src/ck-manager.c') diff --git a/src/ck-manager.c b/src/ck-manager.c index 9d9c786..6775e20 100644 --- a/src/ck-manager.c +++ b/src/ck-manager.c @@ -1880,6 +1880,8 @@ create_session_for_sender (CkManager *manager, char *ssid; CkSessionLeader *leader; + g_debug ("CkManager: create session for sender: %s", sender); + res = get_caller_info (manager, sender, &uid, @@ -1952,6 +1954,8 @@ ck_manager_get_session_for_cookie (CkManager *manager, ssid = NULL; + g_debug ("CkManager: get session for cookie"); + sender = dbus_g_method_get_sender (context); res = get_caller_info (manager, @@ -2038,12 +2042,12 @@ ck_manager_get_session_for_unix_process (CkManager *manager, char *sender; uid_t calling_uid; pid_t calling_pid; - CkProcessStat *stat; char *cookie; - GError *error; sender = dbus_g_method_get_sender (context); + g_debug ("CkManager: get session for unix process: %u", pid); + res = get_caller_info (manager, sender, &calling_uid, @@ -2060,27 +2064,12 @@ ck_manager_get_session_for_unix_process (CkManager *manager, return FALSE; } - error = NULL; - res = ck_process_stat_new_for_unix_pid (calling_pid, &stat, &error); - if (! res) { - GError *error; - g_debug ("stat on pid %d failed", calling_pid); - error = g_error_new (CK_MANAGER_ERROR, - CK_MANAGER_ERROR_GENERAL, - _("Unable to lookup information about calling process '%d'"), - calling_pid); - dbus_g_method_return_error (context, error); - g_error_free (error); - return FALSE; - } - - /* FIXME: check stuff? */ - - ck_process_stat_free (stat); - cookie = get_cookie_for_pid (manager, pid); if (cookie == NULL) { GError *error; + + g_debug ("CkManager: unable to lookup session for unix process: %u", pid); + error = g_error_new (CK_MANAGER_ERROR, CK_MANAGER_ERROR_GENERAL, _("Unable to lookup session information for process '%d'"), @@ -2114,6 +2103,8 @@ ck_manager_get_current_session (CkManager *manager, sender = dbus_g_method_get_sender (context); + g_debug ("CkManager: get current session"); + res = get_caller_info (manager, sender, &calling_uid, -- cgit