@@ -1,7 +1,7 @@
diff -ur a/src/polkitbackend/polkitbackendsessionmonitor-systemd.c b/src/polkitbackend/polkitbackendsessionmonitor-systemd.c
--- a/src/polkitbackend/polkitbackendsessionmonitor-systemd.c 2015-06-19 22:31:02.000000000 +0200
-+++ b/src/polkitbackend/polkitbackendsessionmonitor-systemd.c 2016-08-08 21:25:06.804623750 +0200
-@@ -298,6 +298,33 @@
++++ b/src/polkitbackend/polkitbackendsessionmonitor-systemd.c 2016-08-09 07:20:11.799866030 +0200
+@@ -298,6 +298,37 @@
return ret;
}
@@ -13,14 +13,18 @@
+ char *seat = NULL;
+ int count = sd_uid_get_sessions (uid, FALSE, &sessions);
+
++ g_print(count);
++
+ for (i = 0; i < count; ++i)
+ {
+ if (*session_id == NULL && sessions[i] != NULL)
+ {
++ g_print(sessions[i]);
+ seat = NULL;
+ sd_session_get_seat (sessions[i], &seat);
+ if (seat != NULL)
+ {
++ g_print(seat);
+ *session_id = g_strdup(sessions[i]);
+ }
+ free(seat);
@@ -35,7 +39,7 @@
/**
* polkit_backend_session_monitor_get_session_for_subject:
* @monitor: A #PolkitBackendSessionMonitor.
-@@ -312,15 +339,13 @@
+@@ -312,15 +343,13 @@
polkit_backend_session_monitor_get_session_for_subject (PolkitBackendSessionMonitor *monitor,
PolkitSubject *subject,
GError **error)
@@ -52,13 +56,14 @@
if (POLKIT_IS_UNIX_PROCESS (subject))
process = POLKIT_UNIX_PROCESS (subject); /* We already have a process */
-@@ -362,6 +387,12 @@
+@@ -362,6 +391,13 @@
goto out;
}
#endif
+ /* Now do process -> uid -> seated session if there is one (sailfish OS)*/
+ if (fetch_seated_session (uid, &session_id) >= 0)
+ {
++ g_print(session_id);
+ session = polkit_unix_session_new (session_id);
+ goto out;
+ }
|