Mercurial > vanilla
annotate mate/mate-session-manager/systemd-dependency.patch @ 990:bc880fbf3d9a
kde/frameworkintegration: initial import, closes #1785
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 28 Aug 2019 20:40:00 +0200 |
parents | 31b4a03cced1 |
children |
rev | line source |
---|---|
471
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 From https://github.com/mate-desktop/mate-session-manager/commit/254a091b31517a25bc037b31daff27fbb74ac90d |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 From 254a091b31517a25bc037b31daff27fbb74ac90d Mon Sep 17 00:00:00 2001 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 From: Victor Kareh <vkareh@redhat.com> |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 Date: Wed, 6 Mar 2019 09:20:36 -0500 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 Subject: [PATCH] Guard against missing systemd |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 --- |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 mate-session/gsm-systemd.c | 19 +++++++++++++++++++ |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 1 file changed, 19 insertions(+) |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 diff --git a/mate-session/gsm-systemd.c b/mate-session/gsm-systemd.c |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 index da3f23b..d03cafd 100644 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 --- a/mate-session/gsm-systemd.c |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 +++ b/mate-session/gsm-systemd.c |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 @@ -429,16 +429,31 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager) |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 gboolean is_last_session; |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 int ret, i; |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 +#ifdef HAVE_SYSTEMD |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 ret = sd_pid_get_session (getpid (), &session); |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 +#endif |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 + |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 + if (session == NULL) { |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 + return FALSE; |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 + } |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 if (ret != 0) { |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 + free (session); |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 return FALSE; |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 } |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 +#ifdef HAVE_SYSTEMD |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 ret = sd_uid_get_sessions (getuid (), FALSE, &sessions); |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 +#endif |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 + |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 + if (sessions == NULL) { |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 + free (session); |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 + return FALSE; |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 + } |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 if (ret <= 0) { |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 free (session); |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 + free (sessions); |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 return FALSE; |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 } |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 @@ -450,7 +465,9 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager) |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 if (g_strcmp0 (sessions[i], session) == 0) |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 continue; |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 +#ifdef HAVE_SYSTEMD |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 ret = sd_session_get_state (sessions[i], &state); |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 +#endif |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 if (ret != 0) |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 continue; |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 @@ -461,7 +478,9 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager) |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 } |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 free (state); |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 +#ifdef HAVE_SYSTEMD |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 ret = sd_session_get_type (sessions[i], &type); |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 +#endif |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 if (ret != 0) |
31b4a03cced1
mate/mate-session-manager: initial import, closes #1464
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 continue; |