endSessionDialog: Don't error out if gnome-session hands us a dead inhibitor

Sometimes gnome-session hands us a bad object path for JIT inhibitors
it creates for XSMP clients. While this is a bug in gnome-session, we
shouldn't show an empty-looking dialog here.

https://bugzilla.gnome.org/show_bug.cgi?id=706612
This commit is contained in:
Jasper St. Pierre 2013-08-22 16:14:14 -04:00
parent 77dc587686
commit c44caa5c96

View File

@ -118,7 +118,15 @@ const DialogContent = {
}; };
function findAppFromInhibitor(inhibitor) { function findAppFromInhibitor(inhibitor) {
let [desktopFile] = inhibitor.GetAppIdSync(); let desktopFile;
try {
[desktopFile] = inhibitor.GetAppIdSync();
} catch(e) {
// XXX -- sometimes JIT inhibitors generated by gnome-session
// get removed too soon. Don't fail in this case.
log('gnome-session gave us a dead inhibitor: %s'.format(inhibitor.get_object_path());
return null;
}
if (!GLib.str_has_suffix(desktopFile, '.desktop')) if (!GLib.str_has_suffix(desktopFile, '.desktop'))
desktopFile += '.desktop'; desktopFile += '.desktop';