1 diff --git a/src/backend/plugins/config-gnome/config-gnome.c b/src/backend/plugins/config-gnome/config-gnome.c
2 index 52e812e..a1141c5 100644
3 --- a/src/backend/plugins/config-gnome/config-gnome.c
4 +++ b/src/backend/plugins/config-gnome/config-gnome.c
5 @@ -83,11 +83,60 @@ px_config_gnome_init (PxConfigGnome *self)
9 - self->proxy_settings = g_settings_new ("org.gnome.system.proxy");
10 - self->http_proxy_settings = g_settings_new ("org.gnome.system.proxy.http");
11 - self->https_proxy_settings = g_settings_new ("org.gnome.system.proxy.https");
12 - self->ftp_proxy_settings = g_settings_new ("org.gnome.system.proxy.ftp");
13 - self->socks_proxy_settings = g_settings_new ("org.gnome.system.proxy.socks");
15 + g_autoptr(GSettingsSchemaSource) schema_source;
16 + g_autoptr(GSettingsSchema) schema;
17 + schema_source = g_settings_schema_source_new_from_directory("@gds@",
18 + g_settings_schema_source_get_default(),
20 + schema = g_settings_schema_source_lookup(schema_source,
21 + "org.gnome.system.proxy", FALSE);
22 + self->proxy_settings = g_settings_new_full(schema, NULL, NULL);
25 + g_autoptr(GSettingsSchemaSource) schema_source;
26 + g_autoptr(GSettingsSchema) schema;
27 + schema_source = g_settings_schema_source_new_from_directory("@gds@",
28 + g_settings_schema_source_get_default(),
30 + schema = g_settings_schema_source_lookup(schema_source,
31 + "org.gnome.system.proxy.http",
33 + self->http_proxy_settings = g_settings_new_full(schema, NULL, NULL);
36 + g_autoptr(GSettingsSchemaSource) schema_source;
37 + g_autoptr(GSettingsSchema) schema;
38 + schema_source = g_settings_schema_source_new_from_directory("@gds@",
39 + g_settings_schema_source_get_default(),
41 + schema = g_settings_schema_source_lookup(schema_source,
42 + "org.gnome.system.proxy.https",
44 + self->https_proxy_settings = g_settings_new_full(schema, NULL, NULL);
47 + g_autoptr(GSettingsSchemaSource) schema_source;
48 + g_autoptr(GSettingsSchema) schema;
49 + schema_source = g_settings_schema_source_new_from_directory("@gds@",
50 + g_settings_schema_source_get_default(),
52 + schema = g_settings_schema_source_lookup(schema_source,
53 + "org.gnome.system.proxy.ftp",
55 + self->ftp_proxy_settings = g_settings_new_full(schema, NULL, NULL);
58 + g_autoptr(GSettingsSchemaSource) schema_source;
59 + g_autoptr(GSettingsSchema) schema;
60 + schema_source = g_settings_schema_source_new_from_directory("@gds@",
61 + g_settings_schema_source_get_default(),
63 + schema = g_settings_schema_source_lookup(schema_source,
64 + "org.gnome.system.proxy.socks",
66 + self->socks_proxy_settings = g_settings_new_full(schema, NULL, NULL);
71 diff --git a/tests/config-gnome-test.c b/tests/config-gnome-test.c
72 index 677a3e9..a28d277 100644
73 --- a/tests/config-gnome-test.c
74 +++ b/tests/config-gnome-test.c
75 @@ -60,11 +60,60 @@ static void
76 fixture_setup (Fixture *self,
79 - self->proxy_settings = g_settings_new ("org.gnome.system.proxy");
80 - self->http_proxy_settings = g_settings_new ("org.gnome.system.proxy.http");
81 - self->https_proxy_settings = g_settings_new ("org.gnome.system.proxy.https");
82 - self->ftp_proxy_settings = g_settings_new ("org.gnome.system.proxy.ftp");
83 - self->socks_proxy_settings = g_settings_new ("org.gnome.system.proxy.socks");
85 + g_autoptr(GSettingsSchemaSource) schema_source;
86 + g_autoptr(GSettingsSchema) schema;
87 + schema_source = g_settings_schema_source_new_from_directory("@gds@",
88 + g_settings_schema_source_get_default(),
90 + schema = g_settings_schema_source_lookup(schema_source,
91 + "org.gnome.system.proxy", FALSE);
92 + self->proxy_settings = g_settings_new_full(schema, NULL, NULL);
95 + g_autoptr(GSettingsSchemaSource) schema_source;
96 + g_autoptr(GSettingsSchema) schema;
97 + schema_source = g_settings_schema_source_new_from_directory("@gds@",
98 + g_settings_schema_source_get_default(),
100 + schema = g_settings_schema_source_lookup(schema_source,
101 + "org.gnome.system.proxy.http",
103 + self->http_proxy_settings = g_settings_new_full(schema, NULL, NULL);
106 + g_autoptr(GSettingsSchemaSource) schema_source;
107 + g_autoptr(GSettingsSchema) schema;
108 + schema_source = g_settings_schema_source_new_from_directory("@gds@",
109 + g_settings_schema_source_get_default(),
111 + schema = g_settings_schema_source_lookup(schema_source,
112 + "org.gnome.system.proxy.https",
114 + self->https_proxy_settings = g_settings_new_full(schema, NULL, NULL);
117 + g_autoptr(GSettingsSchemaSource) schema_source;
118 + g_autoptr(GSettingsSchema) schema;
119 + schema_source = g_settings_schema_source_new_from_directory("@gds@",
120 + g_settings_schema_source_get_default(),
122 + schema = g_settings_schema_source_lookup(schema_source,
123 + "org.gnome.system.proxy.ftp",
125 + self->ftp_proxy_settings = g_settings_new_full(schema, NULL, NULL);
128 + g_autoptr(GSettingsSchemaSource) schema_source;
129 + g_autoptr(GSettingsSchema) schema;
130 + schema_source = g_settings_schema_source_new_from_directory("@gds@",
131 + g_settings_schema_source_get_default(),
133 + schema = g_settings_schema_source_lookup(schema_source,
134 + "org.gnome.system.proxy.socks",
136 + self->socks_proxy_settings = g_settings_new_full(schema, NULL, NULL);