@@ -1,6 +1,6 @@
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-09 07:27:09.196456834 +0200
++++ b/src/polkitbackend/polkitbackendsessionmonitor-systemd.c 2016-08-09 07:30:37.521423919 +0200
@@ -298,6 +298,37 @@
return ret;
}
@@ -56,7 +56,21 @@
if (POLKIT_IS_UNIX_PROCESS (subject))
process = POLKIT_UNIX_PROCESS (subject); /* We already have a process */
-@@ -362,6 +391,13 @@
+@@ -351,17 +380,25 @@
+ goto out;
+ }
+
+-#if HAVE_SD_UID_GET_DISPLAY
+- /* Now do process -> uid -> graphical session (systemd version 213)*/
+ if (sd_pid_get_owner_uid (pid, &uid) < 0)
+ goto out;
+
++#if HAVE_SD_UID_GET_DISPLAY
++ /* Now do process -> uid -> graphical session (systemd version 213)*/
++
+ if (sd_uid_get_display (uid, &session_id) >= 0)
+ {
+ session = polkit_unix_session_new (session_id);
goto out;
}
#endif
|