comparison mate/mate-session-manager/systemd-dependency.patch @ 471:31b4a03cced1

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