summaryrefslogtreecommitdiffstats
path: root/src/ck-manager.c
diff options
context:
space:
mode:
authorWilliam Jon McCann <jmccann@redhat.com>2008-02-12 22:30:05 -0500
committerWilliam Jon McCann <jmccann@redhat.com>2008-02-12 22:30:05 -0500
commit5ab3eee820e97d632aa9401cbd2d25dc828ee1f0 (patch)
treeca006a7e0d50871d01cc8a47ad48974ab6c41e91 /src/ck-manager.c
parent885708f75f493b85fb67114d112e950b6bfac652 (diff)
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.
Diffstat (limited to 'src/ck-manager.c')
-rw-r--r--src/ck-manager.c31
1 files changed, 11 insertions, 20 deletions
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,