// Get the allowed log levels from the config
var config = MetaConfig.get_default ();
- this.levels = this.log_level_to_flags (config.get_log_level ());
+ try {
+ this.levels = this.log_level_to_flags (config.get_log_level ());
+ } catch (Error err) {
+ this.levels = DEFAULT_LEVELS;
+
+ warning ("Failed to get log level from configuration sources: %s",
+ err.message);
+ }
}
private void log_func (string? log_domain,
} catch (GLib.Error err) {}
if (iface == null || iface == context.interface) {
- var factory = new RootDeviceFactory (context);
- this.factories.add (factory);
-
- var iterator = this.plugin_loader.list_plugins ().iterator ();
- while (iterator.next ()) {
- this.create_device (iterator.get (), factory);
+ try {
+ var factory = new RootDeviceFactory (context);
+ this.factories.add (factory);
+
+ var iterator = this.plugin_loader.list_plugins ().iterator ();
+ while (iterator.next ()) {
+ this.create_device (iterator.get (), factory);
+ }
+ } catch (GLib.Error err) {
+ warning ("Failed to create root device factory: %s\n",
+ err.message);
}
} else {
debug ("Ignoring network context %s (%s).",
}
public void set_upnp_enabled (bool value) {
- if (value != this.get_upnp_enabled ()) {
+ bool enabled = false;
+
+ try {
+ enabled = this.get_upnp_enabled ();
+ } catch (GLib.Error err) {}
+
+ if (value != enabled) {
this.enable_upnp (value);
}
}
assert (title_label != null);
this.widgets.add (title_label);
- this.enabled_check.active = config.get_enabled (name);
+ try {
+ this.enabled_check.active = config.get_enabled (name);
+ } catch (GLib.Error err) {
+ this.enabled_check.active = false;
+ }
string title;
try {