summary refs log tree commit diff
path: root/pkgs/development/libraries/glib-networking/hardcode-gsettings.patch
blob: 0a091b2344dcbe11c56a0d2600df9a5a3c9e5f43 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
diff --git a/proxy/gnome/gproxyresolvergnome.c b/proxy/gnome/gproxyresolvergnome.c
index 50b63cd..4364116 100644
--- a/proxy/gnome/gproxyresolvergnome.c
+++ b/proxy/gnome/gproxyresolvergnome.c
@@ -156,23 +156,79 @@
 
   resolver->base_resolver = g_simple_proxy_resolver_new (NULL, NULL);
 
-  resolver->proxy_settings = g_settings_new (GNOME_PROXY_SETTINGS_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA,
+                                             FALSE);
+    resolver->proxy_settings = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_signal_connect (resolver->proxy_settings, "changed",
                     G_CALLBACK (gsettings_changed), resolver);
-  resolver->http_settings = g_settings_get_child (resolver->proxy_settings,
-                                                  GNOME_PROXY_HTTP_CHILD_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA "." GNOME_PROXY_HTTP_CHILD_SCHEMA,
+                                             FALSE);
+    resolver->http_settings = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_signal_connect (resolver->http_settings, "changed",
                     G_CALLBACK (gsettings_changed), resolver);
-  resolver->https_settings = g_settings_get_child (resolver->proxy_settings,
-                                                   GNOME_PROXY_HTTPS_CHILD_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA "." GNOME_PROXY_HTTPS_CHILD_SCHEMA,
+                                             FALSE);
+    resolver->https_settings = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_signal_connect (resolver->https_settings, "changed",
                     G_CALLBACK (gsettings_changed), resolver);
-  resolver->ftp_settings = g_settings_get_child (resolver->proxy_settings,
-                                                 GNOME_PROXY_FTP_CHILD_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA "." GNOME_PROXY_FTP_CHILD_SCHEMA,
+                                             FALSE);
+    resolver->ftp_settings = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_signal_connect (resolver->ftp_settings, "changed",
                     G_CALLBACK (gsettings_changed), resolver);
-  resolver->socks_settings = g_settings_get_child (resolver->proxy_settings,
-                                                   GNOME_PROXY_SOCKS_CHILD_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA "." GNOME_PROXY_SOCKS_CHILD_SCHEMA,
+                                             FALSE);
+    resolver->socks_settings = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_signal_connect (resolver->socks_settings, "changed",
                     G_CALLBACK (gsettings_changed), resolver);
 
diff --git a/proxy/tests/gnome.c b/proxy/tests/gnome.c
index f76b094..54751e3 100644
--- a/proxy/tests/gnome.c
+++ b/proxy/tests/gnome.c
@@ -55,26 +55,86 @@
 {
   GSettings *settings, *child;
 
-  settings = g_settings_new (GNOME_PROXY_SETTINGS_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA,
+                                             FALSE);
+    settings = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_settings_reset (settings, GNOME_PROXY_MODE_KEY);
   g_settings_reset (settings, GNOME_PROXY_USE_SAME_PROXY_KEY);
 
-  child = g_settings_get_child (settings, GNOME_PROXY_HTTP_CHILD_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA "." GNOME_PROXY_HTTP_CHILD_SCHEMA,
+                                             FALSE);
+    child = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_settings_reset (child, GNOME_PROXY_HTTP_HOST_KEY);
   g_settings_reset (child, GNOME_PROXY_HTTP_PORT_KEY);
   g_object_unref (child);
 
-  child = g_settings_get_child (settings, GNOME_PROXY_HTTPS_CHILD_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA "." GNOME_PROXY_HTTPS_CHILD_SCHEMA,
+                                             FALSE);
+    child = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_settings_reset (child, GNOME_PROXY_HTTPS_HOST_KEY);
   g_settings_reset (child, GNOME_PROXY_HTTPS_PORT_KEY);
   g_object_unref (child);
 
-  child = g_settings_get_child (settings, GNOME_PROXY_FTP_CHILD_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA "." GNOME_PROXY_FTP_CHILD_SCHEMA,
+                                             FALSE);
+    child = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_settings_reset (child, GNOME_PROXY_FTP_HOST_KEY);
   g_settings_reset (child, GNOME_PROXY_FTP_PORT_KEY);
   g_object_unref (child);
 
-  child = g_settings_get_child (settings, GNOME_PROXY_SOCKS_CHILD_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA "." GNOME_PROXY_SOCKS_CHILD_SCHEMA,
+                                             FALSE);
+    child = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_settings_reset (child, GNOME_PROXY_SOCKS_HOST_KEY);
   g_settings_reset (child, GNOME_PROXY_SOCKS_PORT_KEY);
   g_object_unref (child);
@@ -88,21 +148,69 @@
 {
   GSettings *settings, *child;
 
-  settings = g_settings_new (GNOME_PROXY_SETTINGS_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA,
+                                             FALSE);
+    settings = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_settings_set_enum (settings, GNOME_PROXY_MODE_KEY, G_DESKTOP_PROXY_MODE_MANUAL);
   g_settings_set_boolean (settings, GNOME_PROXY_USE_SAME_PROXY_KEY, TRUE);
 
-  child = g_settings_get_child (settings, GNOME_PROXY_HTTP_CHILD_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA "." GNOME_PROXY_HTTP_CHILD_SCHEMA,
+                                             FALSE);
+    child = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_settings_set_string (child, GNOME_PROXY_HTTP_HOST_KEY, "proxy.example.com");
   g_settings_set_int (child, GNOME_PROXY_HTTP_PORT_KEY, 8080);
   g_object_unref (child);
 
-  child = g_settings_get_child (settings, GNOME_PROXY_HTTPS_CHILD_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA "." GNOME_PROXY_HTTPS_CHILD_SCHEMA,
+                                             FALSE);
+    child = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_settings_set_string (child, GNOME_PROXY_HTTPS_HOST_KEY, "proxy-s.example.com");
   g_settings_set_int (child, GNOME_PROXY_HTTPS_PORT_KEY, 7070);
   g_object_unref (child);
 
-  child = g_settings_get_child (settings, GNOME_PROXY_FTP_CHILD_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA "." GNOME_PROXY_FTP_CHILD_SCHEMA,
+                                             FALSE);
+    child = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_settings_set_string (child, GNOME_PROXY_FTP_HOST_KEY, "proxy-f.example.com");
   g_settings_set_int (child, GNOME_PROXY_FTP_PORT_KEY, 6060);
   g_object_unref (child);
@@ -119,12 +227,36 @@
   GSettings *settings, *child;
   const gchar *ignore_hosts[2] = { "127.0.0.1", NULL };
 
-  settings = g_settings_new (GNOME_PROXY_SETTINGS_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA,
+                                             FALSE);
+    settings = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_settings_set_enum (settings, GNOME_PROXY_MODE_KEY, G_DESKTOP_PROXY_MODE_MANUAL);
   g_settings_set (settings, GNOME_PROXY_IGNORE_HOSTS_KEY,
                   "@as", g_variant_new_strv (ignore_hosts, -1));
 
-  child = g_settings_get_child (settings, GNOME_PROXY_SOCKS_CHILD_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA "." GNOME_PROXY_SOCKS_CHILD_SCHEMA,
+                                             FALSE);
+    child = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_settings_set_string (child, GNOME_PROXY_SOCKS_HOST_KEY, "proxy.example.com");
   g_settings_set_int (child, GNOME_PROXY_SOCKS_PORT_KEY, 1234);
   g_object_unref (child);
@@ -139,12 +271,36 @@
 {
   GSettings *settings, *http;
 
-  settings = g_settings_new (GNOME_PROXY_SETTINGS_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA,
+                                             FALSE);
+    settings = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_settings_set_enum (settings, GNOME_PROXY_MODE_KEY, G_DESKTOP_PROXY_MODE_MANUAL);
   g_settings_set (settings, GNOME_PROXY_IGNORE_HOSTS_KEY,
                   "@as", g_variant_new_strv (ignore_hosts, n_ignore_hosts));
 
-  http = g_settings_get_child (settings, GNOME_PROXY_HTTP_CHILD_SCHEMA);
+  {
+    GSettingsSchemaSource *schema_source;
+    GSettingsSchema *schema;
+    schema_source = g_settings_schema_source_new_from_directory("@gds_gsettings_path@",
+                                                                g_settings_schema_source_get_default(),
+                                                                TRUE, NULL);
+    schema = g_settings_schema_source_lookup(schema_source,
+                                             GNOME_PROXY_SETTINGS_SCHEMA "." GNOME_PROXY_HTTP_CHILD_SCHEMA,
+                                             FALSE);
+    http = g_settings_new_full(schema, NULL, NULL);
+    g_settings_schema_source_unref(schema_source);
+    g_settings_schema_unref(schema);
+  }
   g_settings_set_string (http, GNOME_PROXY_HTTP_HOST_KEY, "localhost");
   g_settings_set_int (http, GNOME_PROXY_HTTP_PORT_KEY, 8080);