places: Fail gracefully when not using unstable nautilus
The latest development version of nautilus has been ported to GSettings, which we now use as well for the desktop-is-home-dir preference. Obviously, the required schema is only available if a recent enough nautilus version is installed. Instead of adding yet another module to the moduleset, catch the exception and ignore the preference in case the schema is not available. https://bugzilla.gnome.org/show_bug.cgi?id=639689
This commit is contained in:
parent
f91138d0a2
commit
26aaecc33d
@ -125,11 +125,24 @@ PlacesManager.prototype = {
|
|||||||
this._mounts = [];
|
this._mounts = [];
|
||||||
this._bookmarks = [];
|
this._bookmarks = [];
|
||||||
|
|
||||||
this._settings = new Gio.Settings({ schema: NAUTILUS_PREFS_SCHEMA });
|
this._settings = null;
|
||||||
this._isDesktopHome = this._settings.get_boolean(DESKTOP_IS_HOME_KEY);
|
this._isDesktopHome = false;
|
||||||
this._settings.connect('changed::' + DESKTOP_IS_HOME_KEY,
|
|
||||||
Lang.bind(this,
|
// The GNOME3 version of nautilus has been ported to GSettings; we
|
||||||
this._updateDesktopMenuVisibility));
|
// don't require it though, so for now we'll have to deal with the
|
||||||
|
// case of GNOME3 nautilus not being installed.
|
||||||
|
try {
|
||||||
|
this._settings = new Gio.Settings({ schema: NAUTILUS_PREFS_SCHEMA });
|
||||||
|
} catch (e) {
|
||||||
|
log('Failed to get settings from Nautilus. Places may not work as expected');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this._settings != null) {
|
||||||
|
this._isDesktopHome = this._settings.get_boolean(DESKTOP_IS_HOME_KEY);
|
||||||
|
this._settings.connect('changed::' + DESKTOP_IS_HOME_KEY,
|
||||||
|
Lang.bind(this,
|
||||||
|
this._updateDesktopMenuVisibility));
|
||||||
|
}
|
||||||
|
|
||||||
let homeFile = Gio.file_new_for_path (GLib.get_home_dir());
|
let homeFile = Gio.file_new_for_path (GLib.get_home_dir());
|
||||||
let homeUri = homeFile.get_uri();
|
let homeUri = homeFile.get_uri();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user