nixpkgs/pkgs/tools/networking/network-manager/hardcode-gsettings.patch
worldofpeace cb3579d8c4 networkmanagerapplet: hardcode for eap gschema
This is needed for the networking plug in pantheon.switchboard
and the related indicator in pantheon.wingpanel
2019-04-18 11:28:18 -04:00

32 lines
1.3 KiB
Diff

diff --git a/src/wireless-security/eap-method.c b/src/wireless-security/eap-method.c
index 2e9daa23..6663b3ce 100644
--- a/src/wireless-security/eap-method.c
+++ b/src/wireless-security/eap-method.c
@@ -265,8 +265,11 @@ eap_method_ca_cert_ignore_get (EAPMethod *method, NMConnection *connection)
static GSettings *
_get_ca_ignore_settings (NMConnection *connection)
{
+ GSettingsSchemaSource *schema_source;
+ g_autoptr (GSettingsSchema) *schema;
GSettings *settings;
- char *path = NULL;
+
+ g_autofree char *path = NULL;
const char *uuid;
g_return_val_if_fail (connection, NULL);
@@ -274,9 +277,12 @@ _get_ca_ignore_settings (NMConnection *connection)
uuid = nm_connection_get_uuid (connection);
g_return_val_if_fail (uuid && *uuid, NULL);
+ schema_source = g_settings_schema_source_new_from_directory ("@NM_APPLET_GSETTINGS@", g_settings_schema_source_get_default (), TRUE, NULL);
+ schema = g_settings_schema_source_lookup (schema_source, "org.gnome.nm-applet.eap", FALSE);
+ g_settings_schema_source_unref (schema_source);
+
path = g_strdup_printf ("/org/gnome/nm-applet/eap/%s/", uuid);
- settings = g_settings_new_with_path ("org.gnome.nm-applet.eap", path);
- g_free (path);
+ settings = g_settings_new_full (schema, NULL, path);
return settings;
}