loginManager: Handle unset XDG_SESSION_ID more gracefully

While certain functionality won't be available when running outside a
(logind) user session, that's still better than crashing ...

https://bugzilla.gnome.org/show_bug.cgi?id=788046
This commit is contained in:
Florian Müllner 2015-11-05 14:49:23 +01:00
parent ab0e98dfdd
commit de4c0bdca6

View File

@ -119,7 +119,13 @@ var LoginManagerSystemd = new Lang.Class({
return; return;
} }
this._proxy.GetSessionRemote(GLib.getenv('XDG_SESSION_ID'), Lang.bind(this, let sessionId = GLib.getenv('XDG_SESSION_ID');
if (!sessionId) {
log('Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session.');
return;
}
this._proxy.GetSessionRemote(sessionId, Lang.bind(this,
function(result, error) { function(result, error) {
if (error) { if (error) {
logError(error, 'Could not get a proxy for the current session'); logError(error, 'Could not get a proxy for the current session');