Merge lp:~philip.scott/wingpanel-indicator-session/logout-fix into lp:~wingpanel-devs/wingpanel-indicator-session/trunk

Proposed by Felipe Escoto
Status: Merged
Approved by: Danielle Foré
Approved revision: 92
Merged at revision: 93
Proposed branch: lp:~philip.scott/wingpanel-indicator-session/logout-fix
Merge into: lp:~wingpanel-devs/wingpanel-indicator-session/trunk
Diff against target: 50 lines (+7/-7)
2 files modified
src/Services/DbusInterfaces.vala (+4/-4)
src/Widgets/EndSessionDialog.vala (+3/-3)
To merge this branch: bzr merge lp:~philip.scott/wingpanel-indicator-session/logout-fix
Reviewer Review Type Date Requested Status
WingPanel Devs Pending
Review via email: mp+302194@code.launchpad.net

Commit message

Fixed logging out sometimes not working

Description of the change

Sometimes, the old Gnome interface would take a while before the system logged out. This interfaces does it instantly

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/Services/DbusInterfaces.vala'
2--- src/Services/DbusInterfaces.vala 2016-02-18 19:58:35 +0000
3+++ src/Services/DbusInterfaces.vala 2016-08-05 22:31:42 +0000
4@@ -31,11 +31,11 @@
5 public abstract void lock () throws IOError;
6 }
7
8-[DBus (name = "org.gnome.SessionManager")]
9-interface SessionInterface : Object {
10- public signal void session_running ();
11- public abstract void logout (uint mode) throws IOError;
12+[DBus (name = "org.freedesktop.login1.User")]
13+interface LogoutInterface : Object {
14+ public abstract void terminate () throws IOError;
15 }
16+
17 [DBus (name = "org.freedesktop.login1.Manager")]
18 interface SystemInterface : Object {
19 public abstract void suspend (bool interactive) throws IOError;
20
21=== modified file 'src/Widgets/EndSessionDialog.vala'
22--- src/Widgets/EndSessionDialog.vala 2016-07-12 16:33:07 +0000
23+++ src/Widgets/EndSessionDialog.vala 2016-08-05 22:31:42 +0000
24@@ -28,7 +28,7 @@
25 }
26
27 public class Session.Widgets.EndSessionDialog : Gtk.Dialog {
28- private SessionInterface session_interface;
29+ private LogoutInterface logout_interface;
30 private SystemInterface system_interface;
31
32 public EndSessionDialogType dialog_type { get; construct; }
33@@ -40,7 +40,7 @@
34 construct {
35 try {
36 if (dialog_type == Session.Widgets.EndSessionDialogType.LOGOUT) {
37- session_interface = Bus.get_proxy_sync (BusType.SESSION, "org.gnome.SessionManager", "/org/gnome/SessionManager");
38+ logout_interface = Bus.get_proxy_sync (BusType.SYSTEM, "org.freedesktop.login1", "/org/freedesktop/login1/user/self");
39 } else {
40 system_interface = Bus.get_proxy_sync (BusType.SYSTEM, "org.freedesktop.login1", "/org/freedesktop/login1");
41 }
42@@ -130,7 +130,7 @@
43 }
44 } else {
45 try {
46- session_interface.logout (1);
47+ logout_interface.terminate ();
48 } catch (IOError e) {
49 stderr.printf ("%s\n", e.message);
50 }

Subscribers

People subscribed via source and target branches

to all changes: