source: trunk/third/GConf/ChangeLog @ 17087

Revision 17087, 112.3 KB checked in by ghudson, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r17086, which included commits to RCS files with non-trunk default branches.
Line 
12002-02-04  Havoc Pennington  <hp@redhat.com>
2
3        * autogen.sh (ACLOCAL): prefer automake-1.4 etc.
4
5        * configure.in: bump version to 1.0.8
6
72002-01-23  Havoc Pennington  <hp@pobox.com>
8
9        * gconf/gconf-internals.c (gconf_activate_server): try to use
10        gconfd-2 if it exists
11
122002-01-04  Pablo Saratxaga <pablo@mandrakesoft.com>
13
14        * configure,in (ALL_LINGUAS): Added "eu".
15
162001-12-17  Havoc Pennington  <hp@pobox.com>
17
18        Backport from HEAD
19       
20        * backends/xml-dir.c (dir_get_value): always get schema name, not
21        just if value is unset
22
23        * gconf/gconf-sources.c (gconf_sources_query_value): don't look
24        for a default value for the schema. Useless and adds a bit of
25        inefficiency.
26
27        * gconf/gconf-sources.c (gconf_sources_query_value): Fix this so
28        Gergo's bug doesn't happen; hope no other semantic gets broken.
29       
302001-12-17  Havoc Pennington  <hp@pobox.com>
31
32        Backport from HEAD
33       
34        * gconf/gconf-listeners.c: reference count the listeners, make a
35        copy of listener lists and ref all listeners prior to doing the
36        notifies, to minimize reentrancy screwups.
37
382001-12-04  Havoc Pennington  <hp@redhat.com>
39
40        Backport from HEAD
41       
42        * gconf/gconf-internals.c (open_empty_locked_file): improve error
43
44        * gconf/gconftool.c (main): complain about using --config-source
45        but not --direct
46
47        * backends/xml-backend.c (resolve_address): don't try to lock
48        readonly sources; fixes the case where users install to a prefix
49        that they can write to, was causing problems for people using
50        build scripts.
51
52        * gconf/gconfd.c (gconf_set_exception): add missing value to case
53        statement so we don't crash
54
55        * gconf/gconftool.c (process_schema_list): make sure we have an
56        element instead of a text node before we try to process it; kills
57        a bunch of irritating warnings.
58
592001-10-31  Zbigniew Chyla  <cyba@gnome.pl>
60
61        * gconf/gconf-internals.c (gconf_activate_server): Plug leak.
62
632001-10-30  Frederic Crozat  <fcrozat@mandrakesoft.com>
64
65        * backends/val-encode.c: add missing headers to remove
66        some warnings.
67
682001-10-29  Havoc Pennington  <hp@redhat.com>
69
70        * configure.in: bump version to 1.0.7
71
722001-10-29  Havoc Pennington  <hp@redhat.com>
73
74        Un-fubar this.
75       
76        * gconf/gconf-internals.c (g_utf8_skip, g_utf8_validate):
77        rename, don't just make them static. g_utf8_validate is used
78        in other files. The idiocy continues.
79
802001-10-29  Havoc Pennington  <hp@redhat.com>
81
82        * gconf/gconf-internals.c (g_utf8_validate): make this function
83        static, I'm a dumbass, hopefully fixes a problem people were
84        seeing with GAL
85        (g_utf8_skip): this is static too
86
872001-10-17  Abel Cheung  <maddog@linux.org.hk>
88
89        * configure.in: Try to detect and use DB 3.3 and 3.2 if found.
90
912001-10-16  Havoc Pennington  <hp@redhat.com>
92
93        * configure.in: 1.0.6
94
952001-10-15  Havoc Pennington  <hp@redhat.com>
96
97        * gconf/gconftool.c (main): don't create config daemon for
98        --get-default-source
99        (main): shut down daemon in makefile install mode
100
101        * gconf/gconfd.c (main): get dup2 arguments in the right order,
102        fixes all kinds of weirdness.
103
1042001-10-14  Havoc Pennington  <hp@redhat.com>
105
106        * configure.in: bump version, GCONF_REVISION
107
1082001-10-14  Carlos Perelló Marín <carlos@gnome-db.org>
109
110        * configure.in (ALL_LINGUAS): Added pt.
111       
1122001-10-12  Havoc Pennington  <hp@redhat.com>
113
114        * gconf/gconf.c (gconf_engine_set): check UTF-8 validity here,
115        instead of at the higher levels
116
117        * gconf/gconf-value.c (gconf_value_validate): new internal function
118
1192001-10-12  Havoc Pennington  <hp@redhat.com>
120
121        * tests/testschemas.c (check_schema_storage): add some UTF-8
122
123        * tests/testpersistence.c: UTF-8 test
124
125        * tests/testgconf.c: add a UTF-8 test
126
127        * gconf/gconf.c: UTF-8 checks, and some indentation
128
129        * gconf/gconf-schema.c: UTF-8 checks
130
131        * gconf/gconf-internals.c (g_utf8_validate): cut-and-paste this in
132        here
133
134        * gconf/gconf-value.c: add some UTF-8 robustness
135
1362001-10-12  Havoc Pennington  <hp@redhat.com>
137
138        * backends/xml-entry.c (entry_unset_value): don't translate "%s"
139
140        * backends/xml-cache.c (cache_sync_foreach): printf string screwup
141
142        * backends/xml-backend.c (query_value): fix printf string derived
143        from untrusted data
144        (query_value): ditto
145
146        * configure.in: ensure we find the right bdb headers, if we find
147        the library, error if not. Reported by Samuel Stringham
148
149        * backends/xml-entry.c, * backends/xml-backend.c, etc.: fix libxml
150        headers, should now work with libxml in a funny prefix, reported
151        by Tim Mooney
152
153        * gconf/gconftool.c: fix libxml headers
154
155        * backends/bdb.h, backends/bdb.c: s/uint32_t/guint32/ for
156        portability, reported by several people
157
158        * gconf/gconf-internals.c (gconf_double_to_string): use g_snprintf
159        not plain snprintf for Solaris 2.5.1 friendliness
160
161        * doc/gconf/tmpl/gconf-value.sgml: fix docs to mention that pairs
162        contain only primitive types; pointed out by Gregory Merchan
163
164        * configure.in (BDB_CFLAGS): patch from Nils Philippsen to detect
165        DB 3.1 if available.
166
167        Check for popt before OAF, because OAF requires popt;
168        reported by Drazen Kacar
169
1702001-10-04  Havoc Pennington  <hp@redhat.com>
171
172        * gconf/gconf-internals.c (gconf_release_lock): do wack-ass juju
173        to avoid .nfs23344534543 files appearing in the lock directory
174        and causing warnings.
175
1762001-10-04  Havoc Pennington  <hp@redhat.com>
177
178        * backends/xml-dir.c (dir_fill_cache_from_doc): fix another
179        spurious warning
180
1812001-10-04  Havoc Pennington  <hp@redhat.com>
182
183        * gconf/gconf-internals.c (open_empty_locked_file): put strerror
184        in the error message for lock failure, just for thrills
185
1862001-10-01  Michael Meeks  <michael@ximian.com>
187
188        * gconf/gconf.c (ctable_remove_by_client_id): remove unused.
189
1902001-09-28  Havoc Pennington  <hp@redhat.com>
191
192        * gconf/gconf-internals.c (gconf_get_current_lock_holder): we read
193        the IOR file, not the directory it's inside
194
195        * gconf/gconfd.c (main): fix uninitialized write_byte_fd variable
196
1972001-09-26  Havoc Pennington  <hp@redhat.com>
198
199        Experimental changes, GCONF_BEFORE_OAF_REMOVAL tag will allow
200        us to back them out if required.
201       
202        * gconf.m4.in: patch from Yanko Kaneti to have AM_GCONF_SOURCE
203        define a GCONF_SCHEMA_FILE_DIR variable for the directory where
204        schema files should be installed
205
206        * gconf/Makefile.am (install-data-local): don't install oafinfo
207
208        * configure.in: don't generate oafinfo
209
210        * gconf/gconftool.c (main): remove error message about running
211        gconfd while installing schemas, instead we'll fail to get a lock.
212
213        * gconf/gconfd.c (main): redirect stdin/out/err to /dev/null
214        instead of just closing them, saves ORBit some confusion
215
216        * backends/xml-cache.c (cache_clean): change the "items remain in
217        cache" message to DEBUG level
218 
219        * gconf/gconf.c (gconf_postinit): merge from HEAD, don't use
220        custom object ID
221 
222        * gconf/gconf-internals.c (gconf_get_lock_or_current_holder):
223        rearrange locking to just use fcntl()
224 
225        * gconf/gconf.c (gconf_engine_connect): fix error message in
226        default daemon case
227 
228        * gconf/gconfd.c (gconf_main): reduce exit-after-unused timeout to
229        2 minutes
230 
231        * gconf/Makefile.am (INCLUDES): add -DGCONF_BINDIR
232 
233        * gconf/gconf-internals.c: delete nanosleep junk
234       
2352001-09-17  Zbigniew Chyla  <cyba@gnome.pl>
236
237        * configure.in (ALL_LINGUAS): Added pl.
238
2392001-08-19  Jesus Bravo Alvarez  <jba@pobox.com>
240
241        * configure.in: Added gl (Galician) to ALL_LINGUAS.
242
2432001-08-15  Havoc Pennington  <hp@redhat.com>
244
245        * backends/xml-backend.c (x_shutdown): ditto
246        (resolve_address): ditto
247
248        * backends/bdb-backend.c (vtable_bdb_shutdown): ditto
249        (vtable_bdb_resolve_address): ditto
250
251        * gconf/gconf-internals.c (gconf_load_source_path): ditto
252
253        * gconf/gconfd.c (gconf_server_load_sources): change to DEBUG
254        level
255
256        * backends/xml-backend.c (g_module_check_init): change a log
257        message to DEBUG level
258
2592001-08-07  Marco Pesenti Gritti  <mpeseng@tin.it>
260
261        * doc/gconf/gconf.sgml: small explanation about AM_GCONF_SOURCE
262        macro
263        * gconf.m4.in: fix a typo in dnl
264       
2652001-08-13  Havoc Pennington  <hp@redhat.com>
266
267        * gconf/gconf-internals.c (gconf_load_source_path): patch from
268        Adam Spiers to honor variables in include lines
269
270        * gconf/gconf-database.c (notify_listeners_cb):
271        indentation/whitespace changes
272
273        * backends/xml-entry.c (entry_fill_from_node): Only print a
274        warning if there's no schema name. Avoids spurious warnings
275        on nodes that only have a schema name.
276
2772001-08-07  Marco Pesenti Gritti  <mpeseng@tin.it>
278
279        * Makefile.am: Setup a default gconf source on make install
280        * galeon.spec.in: Distribute also the path file and
281        the directories for the default source
282        * gconf/Makefile.am: install the default path as "path" instead
283        of "path.example". Add GCONF_ETCDIR define.
284        * gconf/gconftool.c: Add --get-default-source option
285        * gconf/gconf.m4.in: Add GCONF_SCHEMA_CONFIG_SOURCE macro
286       
2872001-07-28  Yanko Kaneti  <yaneti@declera.com>
288
289        * gconf/gconftool.c (main): s/all-pairs/all-entries/ in the error
290        messages
291
2922001-07-24  Darin Adler  <darin@bentspoon.com>
293
294        * acinclude.m4: Set BUILD_INCLUDED_LIBINTL for compatibility
295        with newer versions of gettext.
296
2972001-07-23  Havoc Pennington  <hp@redhat.com>
298
299        * gconf/gconfd.c (main): don't warn about failure to create
300        ~/.gconfd if EEXIST
301
302        * gconf/gconf.c (gconf_engine_all_entries): convert empty string
303        to NULL
304
305        * gconf/gconf-database.c
306        (impl_ConfigDatabase2_all_entries_with_schema_name): don't give
307        ORBit any NULL strings in the array, avoids a core dump
308
309        * gconf/gconftool.c (list_pairs_in_dir): put a newline after the
310        error message
311
3122001-07-23  Havoc Pennington  <hp@redhat.com>
313
314        * configure.in: Remove checks for gnome-config, move to 1.0.3
315
3162001-07-22  Havoc Pennington  <hp@redhat.com>
317
318        * configure.in: version 1.0.2
319
3202001-07-16  Havoc Pennington  <hp@redhat.com>
321
322        * gconf/gconfd.c (main): add super-lame hack to
323        pass currently-running gconfd to oafd if oafd has lamely leaked it
324        due to lame-assness
325
326        * gconf/gconf-internals.c (gconf_get_lock): fix leak of object
327        reference belonging to server that held the lock
328        (gconf_get_lock_or_current_holder): add function to get current
329        owner of a lock
330
331        * gconf/GConf.idl: add subclass of ConfigDatabase for some
332        exciting new hacky functions.
333
334        So an extensible IDL interface would probably have simply passed
335        XML messages. But then what's the point of an IDL interface, if
336        it's just going to be parse_string() get_string()?  Hmm. Cosmic
337        question. ;-)
338
339        * gconf/gconf.c (try_to_contact_server): make the error on
340        OAF-did-not-set-exception really, really verbose, and explicitly
341        say "do not file a GConf bug report." But with fixed OAF this
342        shouldn't happen anymore anyhow.
343
344        * gconf/gconf-sources.c (gconf_sources_set_value): lengthy verbose
345        error message about possible causes of lack of a config database.
346        But my lame-ass hack above should keep this from happening so
347        much.
348       
3492001-07-14  Kjartan Maraas  <kmaraas@gnome.org>
350
351        * configure.in: Added "nn" to ALL_LINGUAS.
352       
3532001-06-20  Peter Williams  <peterw@ximian.com>
354
355        * configure.in (ACLOCAL): Save flags to aclocal -- life
356        easier when configure.in changes.
357
3582001-06-01  Peter Williams  <peterw@ximian.com>
359
360        * configure.in: Check if DB3 headers are in db3/db.h as well.
361
362        * acconfig.h: Add HAVE_DB3_DB_H
363
364        * backends/bdb.c: #include config.h to get HAVE_DB3_DB_H
365
366        * backends/bdb.h: Include the proper db.h
367
3682001-05-11  Havoc Pennington  <hp@redhat.com>
369
370        * configure.in: bump version to 1.0.1
371
372        * gconf/gconfd.c (signal_handler): on SIGUSR1, enable/disable
373        debug spew.
374
375        * gconf/gconf-internals.c (gconf_log): use a runtime variable to
376        decide whether to log debug messages
377
378        * gconf/gconf-database.c, gconf/gconfd.c, gconf/gconf-internals.c:
379        Change some GCL_WARNING to GCL_DEBUG to chill out logging of
380        fairly normal events
381
3822001-04-17  Darin Adler  <darin@eazel.com>
383
384        * gconf/Makefile.am: Another try at that. This time for sure.
385
3862001-04-17  Darin Adler  <darin@eazel.com>
387
388        * gconf/Makefile.am: Now that we are not distributing built sources
389        we need some more dependencies to get the Tinderbox working.
390
3912001-04-17  Michael Meeks  <michael@ximian.com>
392
393        * gconf/Makefile.am (dist-hook): don't distribute built
394        sources.
395
396Wed Apr 11 08:07:11 2001  George Lebl <jirka@5z.com>
397
398        * gconf/gconf.c (gconf_engine_unref): If unreffing the default engine
399          set the default_engine pointer to NULL
400
4012001-03-26  Robin * Slomkowski  <rslomkow@eazel.com>
402
403        * gconf.spec.in: added .pc files
404
4052001-03-23  Martin Baulig  <baulig@suse.de>
406
407        * gconf.pc.in, gconfgtk.pc.in: New files.
408
409        * Makefile.am: Create .pc files and install them.
410
4112001-03-13  Ramiro Estrugo  <ramiro@eazel.com>
412
413        * backends/xml-entry.c:
414        * gconf/gconftool.c:
415        Add inclusion of <gnome-xml/xmlmemory.h> to fix the fact that
416        'xmlFree' is undefined.  This was caused by the last free
417        vs. xmlFree change.
418       
4192001-03-13  Kjartan Maraas  <kmaraas@gnome.org>
420
421        * backends/xml-entry.c: Fix to use xmlFree() instead of free().
422        * gconf/gconftool.c: Same here.
423       
4242001-03-12  Timur Bakeyev  <timur@gnu.org>
425
426        * Makefile.am: Made warning printing a bit nicer.
427       
4282001-03-11  Havoc Pennington  <hp@redhat.com>
429
430        * configure.in: 1.0.0, woo-hoo!
431
4322001-03-06  Havoc Pennington  <hp@redhat.com>
433
434        * configure.in: bump version to 0.51
435       
436        * gconf/gconfd.c (gconf_main): change the periodic timeout to 15
437        minutes, to be a bit more aggressive about cleanup.
438        (open_append_handle): add a timeout to close the
439        saved_state filehandle after a short time, to avoid keeping
440        descriptors open.
441        (gconfd_need_log_cleanup): new internal function used to control
442        whether the periodic cleanup function needs to save a log file
443       
4442001-02-27  Havoc Pennington  <hp@redhat.com>
445
446        * gconf.spec.in: %define prefix %{_prefix} instead of @prefix@
447
4482001-02-27  Havoc Pennington  <hp@redhat.com>
449
450        * configure.in: bump version to 0.50
451
452        * gconf/gconfd.c (main): Close stdin/stdout/stderr. Also, set the
453        log handler, so we don't need stdout/stderr to see GLib messages,
454        they go to syslog.
455
456        * configure.in: Turn off debugging by default
457
458        * gconf/Makefile.am (INCLUDES): set the log domain
459
460        * gconf/gconftool.c (recurse_subdir_list): the list contains full
461        directory paths to start with, fix from Colm
462
463        * gconf/gconfd.c (register_database): bugfix from Colm
464
465        * gconf/gconf.c (lookup_engine): fix from Colm to check that we
466        have an engines hash
467        (gconf_engine_get_for_address): improve warning message, fix from
468        Colm
469        (gconf_engine_remove_dir): new function from Colm, this was
470        implemented on the server side but somehow never exported.
471
472        * gconf/gconf-database.c (gconf_database_get_persistent_name): Fix
473        from Colm to handle the case of empty databases (no sources).
474
4752001-02-12  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>
476
477        * configure.in: Added sk to ALL_LINGUAS.
478
4792001-02-05  Havoc Pennington  <hp@redhat.com>
480
481        File permissions fixes, problem pointed out by Steve Fox.
482       
483        * backends/xml-dir.c (dir_sync): chmod() the XML file after
484        xmlSaveFile creates it
485
486        * gconf/gconfd.c (main): following Stevens advice for daemons, we
487        were calling umask(0), change to umask(022). We need a predictable
488        umask, but a safer one would be good since this is a per-user
489        daemon not a system daemon.
490       
491        * backends/dir-utils.c (mode_t_to_mode): make this more portable,
492        for paranoia
493
494        * backends/xml-dir.c (dir_load): We were getting directory
495        permissions from the %gconf.xml file, instead of from the XML root
496        directory. Fix.
497       
4982001-02-01  Szabolcs Ban <shooby@gnome.hu>
499
500        * configure.in: Added lang Hungarian.
501        * po/hu.po: Added.
502
5032001-01-21  Havoc Pennington  <hp@pobox.com>
504
505        * backends/xml-entry.c (schema_subnode_extract_data): don't warn
506        about <local_schema> with no locale field, because that's normal
507        for the default case
508        (schema_node_extract_value): use <local_schema> with no locale
509        if it exists and we don't find anything better
510
511        * tests/testschemas.c (check_schema_use): fix indentation and mem
512        leaks
513
514        * gconf/gconftool.c (do_get): print default value from schema
515
516        * configure.in: Bump version to 0.12
517
518Fri Dec 01 00:54:33 2000  George Lebl <jirka@5z.com>
519
520        * gconf/gconf-locale.c (gconf_split_locale):  When inserting "C"
521          into a list, dup it first to avoid a possible crash later.
522
5232000-11-30  Havoc Pennington  <hp@redhat.com>
524
525        * gconf/gconf.c (gconf_engine_unset): Fix dereference of NULL GError**
526
5272000-11-20  Havoc Pennington  <hp@redhat.com>
528
529        * doc/gconf/Makefile.am: Fix "make scan" to actually work, so
530        you can build the docs
531
5322000-11-11  Havoc Pennington  <hp@pobox.com>
533
534        * gconf/gconf-value.c (gconf_entry_set_is_writable): Add this
535        function
536
5372000-11-05  Havoc Pennington  <hp@pobox.com>
538
539        * gconf/gconf-glib.c, gconf/gconf-glib-private.h: Remove the
540        GMarkup and Unicode stuff, turned out to be unnecessary.
541        Left only GError.
542
5432000-11-05  Havoc Pennington  <hp@pobox.com>
544
545        * gconf/gconfd.c (parse_listener_entry): fix strtoul error
546        checking
547
548        * gconf/gconf-internals.c (gconf_string_to_gulong): Fix error
549        checking on strtoul
550
5512000-11-05  Havoc Pennington  <hp@pobox.com>
552
553        * gconf/gconf-glib.c (g_propagate_error): Sync from GLib,
554        should fix one very minor memory leak in GConf
555
5562000-10-31  Almer S. Tigelaar  <almer1@dds.nl>
557
558        * configure.in: Add 'nl' to ALL_LINGUAS
559
5602000-10-26  Havoc Pennington  <hp@pobox.com>
561
562        * configure.in: Bump version to 0.11
563
5642000-10-25  Havoc Pennington  <hp@pobox.com>
565
566        * wrappers/gtk/gconf-client.c: remove get_nocopy, since it can't
567        be implemented since we don't cache everything. Oops.
568
5692000-10-16  Havoc Pennington  <hp@pobox.com>
570
571        * wrappers/gtk/gconf-client.c
572        (gconf_client_real_unreturned_error): implement default error
573        handler that prints to stderr
574        (gconf_client_key_is_writable): hmm, this function didn't compile
575        very cleanly
576
577        * wrappers/gtk/gconf-client.h: Remove the ParentWindowFunc
578        concept. Two reasons: a) it was really hard for users to implement
579        such a thing, and if they did then implementing an error dialog
580        function was pretty trivial also b) decided to make the default
581        error handler use fprintf(stderr) since GConfClient is going to
582        move into the main GConf library and thus not depend on GTK.
583
584        So, this is mild API breakage (but hopefully no one was using the
585        feature anyway).
586       
5872000-10-10  Christophe Merlet  <christophe@merlet.net>
588
589        * backends/Makefile.am: Added README.bdb in EXTRA_DIST.
590
591        * gconf/gconf-glib.c: Corrected mispelling string.
592
5932000-10-10  Havoc Pennington  <hp@pobox.com>
594
595        * gconf/gconf-value.c (gconf_value_to_string): fix segfault when
596        pair contains unset car or cdr
597        (gconf_value_set_car): allow setting car or cdr of a pair to
598        NULL. I'm not sure if this is the normal thing in the code
599        right now, but, hmm.
600
601        * gconf/gconf-sources.c (gconf_sources_all_entries): fix
602        cut-and-paste error resulting in NULL pointer dereference.
603
6042000-10-08  Havoc Pennington  <hp@pobox.com>
605
606        gconfd should now exit when not in use.
607       
608        * gconf/gconf-database.c (gconf_database_drop_dead_listeners):
609        function to drop any listeners with dead clients.
610
611        * gconf/gconfd.c (drop_old_databases): before checking
612        whether the listener count is 0, clean up listeners belonging
613        to dead clients.
614
615        * gconf/gconf-listeners.c (gconf_listeners_remove_if): New
616        function removes listeners matching some predicate
617        (ltable_remove): fix some indentation
618
6192000-10-08  Havoc Pennington  <hp@pobox.com>
620
621        * configure.in: version to 0.10
622
6232000-10-06  Havoc Pennington  <hp@pobox.com>
624
625        * wrappers/gtk/gconf-client.c: indentation/formatting
626
627        * gconf/gconfd.c (parse_listener_entry): extra paranoia error
628        check. Also, make log messages level DEBUG, not WARNING.
629
6302000-10-06  Havoc Pennington  <hp@pobox.com>
631
632        * configure.in: check for flockfile.
633        Check for BDB, but don't make it fatal; do an AM_CONDITIONAL and
634        don't build the BDB backend if it's not found.
635
636        * gconf/gconfd.c (main): unregister with OAF after all shutdown is
637        complete.
638        (signal_handler): do the full, clean shutdown on SIGTERM; should
639        reduce the damage caused by those pesky killall gconfd scripts ;-)
640        Try to do the same on FPE and PIPE, though it's not likely to
641        work, it doesn't hurt to try.
642        (logfile_read): rewrite the logfile reading code; somewhat more
643        robust, possibly.
644
645        * gconf/gconf-database.c, gconf/gconfd.c: Make all CORBA
646        implementation return immediately with an error if we're currently
647        shutting down. We'd just unregister with OAF, or deactivate our
648        objects, but then another gconfd would start up before we finish
649        cleaning up our stuff and introduce a mess of race
650        conditions. Instead clients will automatically retry lots of times
651        if they get the IN_SHUTDOWN error. Actually this possibly
652        shouldn't even happen, since we aren't normally in the main loop
653        once we start to shut down, I don't think - not sure.
654       
655        * gconf/gconfd.c (gconf_set_exception): add ConfigInShutdown
656
657        * gconf/GConf.idl: add ConfigInShutdown error
658
659        * gconf/gconf.c (corba_errno_to_gconf_errno): add ConfigInShutdown
660
661        * gconf/gconf-error.h: two error codes had the same integer value.
662        Also, add GCONF_ERROR_IN_SHUTDOWN
663
664        * gconf/gconfd.c (gconfd_in_shutdown): Add a flag
665        to indicate we're shutting down; all operations will
666        return an error at that point.
667
668        * gconf/gconf.c (gconf_server_broken): treat ConfigInShutdown
669        as a broken server.
670       
6712000-10-06  Colm Smyth  <colm.smyth@sun.com>
672
673        * Committed BerkeleyDB back-end:-
674
675          backends/bdb.c backends/bdb.h backends/bdb-backend.c
676          backends/val-encode.c backends/val-encode.h
677          backends/dir-utils.c backends/dir-utils.h backends/README.bdb
678
679        * Changes to make GConf build with an ISO C compiler:-
680
681          configure.in backends/Makefile.am backends/xml-cache.c
682          gconf/gconf-database.c gconf/gconf-sources.c gconf/gconfd.c
683          tests/testchangeset.c tests/testencode.c tests/testgconf.c
684          tests/testlisteners.c tests/testpersistence.c
685          tests/testschemas.c
686
687
6882000-10-03  Robin * Slomkowski  <rslomkow@eazel.com>
689
690        * gconf.spec.in:/etc/etc is not a directory
691        OK I am less foolish now
692
6932000-10-03  Robin * Slomkowski  <rslomkow@eazel.com>
694
695        * gconf.spec.in: updated the spec file again
696        if you are interested we are trying to track it
697        http://tinderbox.eazel.com
698
6992000-10-03  Havoc Pennington  <hp@redhat.com>
700
701        * gconf/gconfd.c (close_append_handle): set invalid FILE* to
702        NULL afterward, avoid segfaults.
703
704        * Makefile.am: add install-schemas target here which recurses
705        into standard-schemas and runs install-schemas
706
707        * standard-schemas/Makefile.am (install-schemas): Move schema
708        installation to a special target install-schemas which must be
709        run manually _after_ make install. This should resolve problems
710        people are having with RPMs and such. However it means spec files
711        have to explicitly add a 'make install-schemas'
712
7132000-09-29  Havoc Pennington  <hp@pobox.com>
714
715        * gconf/gconf.c (drop_all_caches): don't spew warnings here for
716        now.
717        (invalidate_cached_values): no spew
718        (update_listener): remove more spew
719
7202000-09-29  Havoc Pennington  <hp@pobox.com>
721
722        * gconf/gconf.c (ctable_reinstall): we were overwriting the hash
723        key before trying to remove the old server ID from the hash, so
724        the removal failed, leading to an assertion failure later (this
725        hopefully fixes one of the bugs reported by Ramiro, if not then
726        I'll keep looking)
727
7282000-09-26  Havoc Pennington  <hp@pobox.com>
729
730        * gconf/gconf-locale.c (gconf_locale_cache_expire): fix a
731        static initialization with non-const value
732
7332000-09-25  Havoc Pennington  <hp@pobox.com>
734
735        Bug fixes and portability issues reported by Colm Smyth
736       
737        * gconf/gconf-sources.c (gconf_sources_query_value): fix NULL
738        pointer dereference
739
740        * s/__FUNCTION__/G_GNUC_FUNCTION/g;
741       
742        * configure.in: Add check for GCC before using -Wall (can't
743        believe no one has _ever_ tried building GConf without gcc,
744        but it appears so...)
745
746        * gconf/gconftool.c: use N_ not _ with static strings.
747
748        * tests/testschemas.c: Don't include locale.h
749
750        * gconf/gconf-internals.h: Remove some of the #defines from
751        the non-ENABLE_NLS case.
752
7532000-09-24  Havoc Pennington  <hp@pobox.com>
754
755        * NEWS: Put release notes for 0.9 in here.
756
7572000-09-24  Havoc Pennington  <hp@pobox.com>
758
759        * gconf/gconfd.c (gconf_main): With debugging turned on, use
760        obscenely short timeout for periodic cleanups, to ensure bugs
761        get triggered.
762
763        * gconf/gconf-database.c (impl_ConfigDatabase_all_dirs): Set
764        _release to TRUE for sequences
765        (impl_ConfigDatabase_all_entries): ditto
766
767        * gconf/gconfd.c (half_hour_timeout): exit only if client count is
768        0 after dropping all dead clients.
769       
770        * gconf/gconf-database.c (impl_ConfigDatabase_all_dirs): Don't
771        put memory in the out param if we set an exception
772        (impl_ConfigDatabase_all_entries): Ditto
773
774        * backends/xml-dir.c (dir_all_subdirs): Fix a memory leak
775
776        * gconf/gconfd.c: Implement client list logging
777
778        * gconf/gconf.c: Add self to the server's client list
779        whenever we get a new server objref
780
7812000-09-23  Havoc Pennington  <hp@pobox.com>
782
783        * gconf/gconfd.c: Implement add/remove client methods;
784        still need to log these to disk, and on restart tell the
785        logged clients to drop their caches.
786
787        * gconf/GConf.idl: Add methods on ConfigServer to maintain
788        a list of active clients; this allows us to invalidate client
789        caches on daemon restart.
790
7912000-09-21  Havoc Pennington  <hp@pobox.com>
792
793        * configure.in: remove intl/Makefile
794
795        * Makefile.am: remove intl subdir
796
7972000-09-17  Havoc Pennington  <hp@pobox.com>
798
799        * gconf/gconf.c: Update to reflect IDL change
800
801        * gconf/GConf.idl: Change invalidate_cached_values() to take
802        multiple keys to invalidate; better efficiency that way
803
8042000-09-17  Havoc Pennington  <hp@pobox.com>
805
806        * gconf/gconf-database.c: Add new methods on ConfigDatabase
807
808        * gconf/gconf.c: Add new methods on ConfigListener, but they
809        do nothing at the moment
810
811        * gconf/GConf.idl: Add some methods to ConfigListener to tell
812        clients when they need to drop cached values Add batch_lookup()
813        and batch_change() methods to ConfigDatabase so we can implement
814        them later
815
8162000-09-16  Havoc Pennington  <hp@pobox.com>
817
818        * gconf/gconf.c (gconf_engine_key_is_writable): And actually
819        implement it here. Doh.
820
821        * wrappers/gtk/gconf-client.c (gconf_client_key_is_writable): Gee,
822        forgot to actually implement this function after implementing all
823        the backend work for it...
824
825        * gconf/gconf.c (corba_errno_to_gconf_errno): add
826        NO_WRITABLE_DATABASE handling here also
827
828        * gconf/gconfd.c (gconf_set_exception): handle
829        NO_WRITABLE_DATABASE error
830
831        * gconf/GConf.idl: Add NoWritableDatabase to error type enum
832
833        * wrappers/gtk/testgconfclient.c (entry_attached_to): Update
834        to properly handle writability
835
836        * examples/simple-controller.c (main): set entry sensitivity
837        properly
838
839        * examples/basic-gconf-app.c (main): Remove ref/sink and destroy,
840        just use plain refcounting
841        (create_config_entry): Set entry sensitivity according to key
842        writability
843
844        * wrappers/gtk/gconf-client.c (gconf_client_finalize): Move all
845        cleanup to finalize, remove destroy handler     
846
8472000-09-16  Havoc Pennington  <hp@pobox.com>
848
849        * doc/gconf/tmpl/gconf-value.sgml: Update some docs
850
851        * wrappers/gtk/gconf-client.c (notify_listeners_callback): Update
852        to reflect new callback signature for GConfClientNotifyFunc
853
854        * gconf/gconf-sources.c (gconf_sources_set_value): Make it an
855        error to if we try to write a value for a non-writable source.
856        This is new; it used to silently fail.
857
858        * gconf/gconf-database.c (gconf_database_notify_listeners): Add
859        is_writable here
860
861        * gconf/GConf.idl: Add writable flag to notification
862
863        * gconf/gconf.h: Update GConfNotifyFunc to have fewer args, and
864        a GConfEntry is just passed in (since I was going to have
865        to add an is_writable arg, and passing in a GConfEntry
866        gives us future extensibility against this sort of thing)
867        BREAKS USER CODE, many apologies.
868
869        * wrappers/gtk/gconf-client.c (gconf_client_get_entry): Update
870        to reflect GConfEngine changes
871
872        * gconf/gconf.c (gconf_engine_all_entries): Get the writability
873        stuff
874        (gconf_engine_get_full): rename to gconf_value_get_entry
875        and return an entry; drop the is_default argument.
876
877        * gconf/gconf-sources.c (gconf_sources_query_value): Implement
878        finding out if a value is writable
879        (gconf_sources_all_entries): Implement setting is_writable
880        flag on the entries
881
882        * gconf/gconf-value.c (gconf_entry_new_nocopy): Default to
883        the entry being writable
884
885        * gconf/gconf-database.c: Change to match IDL changes
886
887        * gconf/GConf.idl (lookup_with_locale): Add out param for
888        writability
889        (all_entries): Add out param for writability
890
891        * gconf/gconf-value.h: Add is_writable field to GConfEntry
892        (gconf_entry_get_is_writable): Add this
893
894        * wrappers/gtk/gconf-client.c (gconf_client_key_is_writable): Add
895        the matching stub here
896
897        * gconf/gconf.c (gconf_engine_key_is_writable): Go ahead and add
898        this function so we can implement it later, but it always returns
899        TRUE at the moment.
900
901        * gconf/gconf-changeset.c (gconf_change_set_set_user_data,
902        gconf_change_set_get_user_data): Add user data for language
903        bindings
904
905        * gconf/gconf.c (gconf_engine_set_user_data,
906        gconf_engine_get_user_data): Add user data for language
907        bindings
908
9092000-09-15  Havoc Pennington  <hp@redhat.com>
910
911        * s/gconf_concat_key_and_dir/gconf_concat_dir_and_key/g
912
9132000-09-14  Havoc Pennington  <hp@pobox.com>
914
915        * gconf/gconf.c (gconf_engine_all_dirs): Update to
916        return fully qualified name in GConfEntry
917        (gconf_engine_all_entries): missed the local case
918        earlier when adapting it to use fully-qualified name
919
920        * acinclude.m4: Add never-use-included-gettext macro
921
922        * configure.in: Bump version to 0.9
923
9242000-09-14  Darin Adler  <darin@eazel.com>
925
926        * backends/xml-dir.c: (dir_load): Fixed code that set up file mode
927        to always be 0600 to instead inherit from parent directory as
928        intended.
929       
930        * gconf/gconf-sources.c: (gconf_sources_new_from_addresses):
931        Removed unused variable.
932        * tests/.cvsignore: Added some generated files.
933
9342000-09-13  Havoc Pennington  <hp@redhat.com>
935
936        * More renaming:
937
938        s/gconf_meta_info_schema/gconf_meta_info_get_schema/g;
939        s/gconf_meta_info_mod_user/gconf_meta_info_get_mod_user/g;
940        s/gconf_meta_info_mod_time/gconf_meta_info_mod_time/g;
941
942        s/gconf_entry_key/gconf_entry_get_key/g;
943        s/gconf_entry_value/gconf_entry_get_value/g;
944        s/gconf_entry_schema_name/gconf_entry_get_schema_name/g;
945        s/gconf_entry_is_default/gconf_entry_get_is_default/g;
946
947        s/gconf_value_string/gconf_value_get_string/g;
948        s/gconf_value_int/gconf_value_get_int/g;
949        s/gconf_value_float/gconf_value_get_float/g;
950        s/gconf_value_list_type/gconf_value_get_list_type/g;
951        s/gconf_value_list/gconf_value_get_list/g;
952        s/gconf_value_car/gconf_value_get_car/g;
953        s/gconf_value_cdr/gconf_value_get_cdr/g;
954        s/gconf_value_bool/gconf_value_get_bool/g;
955        s/gconf_value_schema/gconf_value_get_schema/g;
956
957        s/gconf_schema_type/gconf_schema_get_type/g;
958        s/gconf_schema_list_type/gconf_schema_get_list_type/g;
959        s/gconf_schema_car_type/gconf_schema_get_car_type/g;
960        s/gconf_schema_cdr_type/gconf_schema_get_cdr_type/g;
961        s/gconf_schema_locale/gconf_schema_get_locale/g;
962        s/gconf_schema_short_desc/gconf_schema_get_short_desc/g;
963        s/gconf_schema_long_desc/gconf_schema_get_long_desc/g;
964        s/gconf_schema_owner/gconf_schema_get_owner/g;
965        s/gconf_schema_default_value/gconf_schema_get_default_value/g;
966
9672000-09-13  Havoc Pennington  <hp@redhat.com>
968
969        * gconf/gconf.c (gconf_engine_all_entries): Put full key in
970        GConfEntry (but we only get the relative key over the
971        CORBA wire)
972
973        * wrappers/gtk/gconf-client.c (cache_pairs_in_dir): Change to
974        reflect fact that GConfEntry now contains full key
975
976        * gconf/gconftool.c (list_pairs_in_dir): Change to reflect full
977        key in GConfEntry
978
979        * doc/gconf/tmpl/gconf-value.sgml: updated GConfEntry docs on this
980        matter.
981       
9822000-09-11  Havoc Pennington  <hp@redhat.com>
983
984        * Actually use gettext. Involves checking in configure.in, linking
985        to it in Makefile.am, making _() do the right thing.
986
987        I have gettext in libc instead of -lintl though, so I'm not going
988        to see Makefile bugs - maybe someone can check on it.
989
9902000-09-10  Havoc Pennington  <hp@pobox.com>
991
992        * gconf/gconf-value.c (gconf_entry_new): New function
993        (gconf_entry_set_value): New function
994
9952000-09-10  Havoc Pennington  <hp@pobox.com>
996
997        * Another rename fest:
998
999        #!/usr/bin/perl -pi.bak
1000
1001        ## note that this regexp could affect non-GConf stuff
1002        s/writeable/writable/g;
1003
1004        s/gconf_meta_info_destroy/gconf_meta_info_free/g;
1005        s/gconf_database_destroy/gconf_database_free/g;
1006        s/gconf_source_destroy/gconf_source_free/g;
1007        s/gconf_sources_destroy/gconf_sources_free/g;
1008        s/gconf_locale_cache_destroy/gconf_locale_cache_free/g;
1009
10102000-09-10  Havoc Pennington  <hp@pobox.com>
1011
1012        * gconf/gconf-value.c (gconf_value_new): don't use
1013        GCONF_INTERNAL_VALUE_TYPE_VALID
1014
1015        * gconf/gconf-internals.h, gconf/gconf-error.h:
1016        (gconf_error_new)
1017        (gconf_set_error)
1018        (gconf_compose_errors):
1019        Move these to gconf-internals.h, now they aren't needed due
1020        to GError
1021
1022        * gconf/gconf.c: Get rid of GConfEnginePrivate, just define struct
1023        _GConfEngine in the private .c file, like a sane person.
1024
1025        * gconf/gconf-value.h: remove GCONF_INTERNAL_VALUE_TYPE_VALID
1026
1027        * gconf/gconf.h: #ifdef the GNOME module system and popt stuff for
1028        GNOME 1.4. This stuff is tied to GNOME 2.0 and still unstable in
1029        that respect; should not be used before GNOME 2.0
1030        (gconf_get_string): forgot to rename this earlier
1031       
10322000-09-09  Havoc Pennington  <hp@pobox.com>
1033
1034        * gconf/gconfd.c (half_hour_timeout): Convert one_hour_timeout to
1035        half_hour_timeout() to more agressively prune resources. In the
1036        half hour timeout, if we have no connected listeners on any
1037        database, shut down gconfd. (We might want to make the timeout
1038        length configurable; and for laptops people might not want any
1039        timeouts at all, since it will wake up their laptop.)
1040        (fast_cleanup): Remove comment about getting incoming connections
1041        after shutting things down; this is no longer a problem because
1042        we deactivate databases in the POA
1043
10442000-09-09  Havoc Pennington  <hp@pobox.com>
1045
1046        * gconf/Makefile.am (libgconf_1_la_SOURCES): Move gconf-backend.h
1047        here, I don't see why it was in the public headers
1048
1049
1050        Throughout, rename a bunch of stuff:
1051
1052        #!/usr/bin/perl -pi.bak
1053
1054        s/gconf_notify_add/gconf_engine_notify_add/g;
1055        s/gconf_notify_remove/gconf_engine_notify_remove/g;
1056        s/gconf_get_without_default/gconf_engine_get_without_default/g;
1057        s/gconf_get_full/gconf_engine_get_full/g;
1058        s/gconf_get_with_locale/gconf_engine_get_with_locale/g;
1059        s/gconf_get_default_from_schema/gconf_engine_get_default_from_schema/g;
1060        s/gconf_unset/gconf_engine_unset/g;
1061        s/gconf_associate_schema/gconf_engine_associate_schema/g;
1062        s/gconf_all_entries/gconf_engine_all_entries/g;
1063        s/gconf_all_dirs/gconf_engine_all_dirs/g;
1064        s/gconf_suggest_sync/gconf_engine_suggest_sync/g;
1065        s/gconf_dir_exists/gconf_engine_dir_exists/g;
1066        s/gconf_get_float/gconf_engine_get_float/g;
1067        s/gconf_get_int/gconf_engine_get_int/g;
1068        s/gconf_get_bool/gconf_engine_get_bool/g;
1069        s/gconf_get_schema/gconf_engine_get_schema/g;
1070        s/gconf_get_list/gconf_engine_get_list/g;
1071        s/gconf_get_pair/gconf_engine_get_pair/g;
1072        s/gconf_set_float/gconf_engine_set_float/g;
1073        s/gconf_set_int/gconf_engine_set_int/g;
1074        s/gconf_set_string/gconf_engine_set_string/g;
1075        s/gconf_set_bool/gconf_engine_set_bool/g;
1076        s/gconf_set_schema/gconf_engine_set_schema/g;
1077        s/gconf_set_list/gconf_engine_set_list/g;
1078        s/gconf_set_pair/gconf_engine_set_pair/g;
1079
1080        s/gconf_commit_change_set/gconf_engine_commit_change_set/g;
1081        s/gconf_create_reverse_change_set/gconf_engine_reverse_change_set/g;
1082        s/gconf_create_change_set_from_currentv/gconf_engine_change_set_from_currentv/g;
1083        s/gconf_create_change_set_from_current/gconf_engine_change_set_from_current/g;
1084
1085        s/gconf_schema_destroy/gconf_schema_free/g;
1086        s/gconf_value_destroy/gconf_value_free/g;
1087        s/gconf_listeners_destroy/gconf_listeners_free/g;
1088        s/gconf_entry_destroy/gconf_entry_free/g;
1089
1090        s/gconf_client_create_change_set_from_current/gconf_client_change_set_from_current/g;
1091        s/gconf_client_create_change_set_from_currentv/gconf_client_change_set_from_currentv/g;
1092        s/gconf_client_create_reverse_change_set/gconf_client_reverse_change_set/g;
1093
1094        ## These require some care, since they can be the prefix for unrelated stuff.
1095        s/gconf_get /gconf_engine_get /g;
1096        s/gconf_set /gconf_engine_set /g;
1097
1098        s/gconf_get\(/gconf_engine_get (/g;
1099        s/gconf_set\(/gconf_engine_set (/g;
1100
1101       
11022000-09-09  Havoc Pennington  <hp@pobox.com>
1103
1104        * gconf/gconf-database.c (gconf_database_add_listener)
1105        (gconf_database_remove_listener): immediately log the addition
1106        or removal to the saved state file, which is now in a streaming
1107        format
1108        (gconf_database_get_persistent_name): abstraction for getting
1109        the address of the database, of "def" if it's the default one
1110        (gconf_database_log_listeners_to_string): replaces conversion
1111        from database to markup node; no longer using GMarkup here
1112
1113        * gconf/gconf-listeners.c (gconf_listeners_get_data):
1114        new function to get listener data for a connection ID
1115
1116        * gconf/gconfd.c (one_hour_timeout): save the logfile in the
1117        timeout, to compress it since we have just been appending over the
1118        last hour
1119        (logfile_read, logfile_save): rewrite to use new format, not the
1120        GMarkup format
1121
1122        * gconf/gconf-internals.c (gconf_object_to_string): Add
1123        this function
1124
11252000-09-04  Havoc Pennington  <hp@pobox.com>
1126
1127        * doc/gconf/Makefile.am (LDFLAGS): libs have been renamed
1128
11292000-08-31  Havoc Pennington  <hp@redhat.com>
1130
1131        * Massive rename from GConfError to GError
1132
1133        * gconf/gconf-error.h, gconf/gconf-error.c: Remove
1134        redundant-with-GError stuff; add GCONF_ERROR domain
1135        macro
1136
11372000-08-30  Havoc Pennington  <hp@redhat.com>
1138
1139        * gconf/gconfd.c (restore_listener): use gconf_string_to_gulong
1140        instead of atoi for reading a ulong out of the log file
1141
1142        * gconf/gconf.c (gconf_engine_get_default): assign to the
1143        default_engine variable, so we don't keep creating new default
1144        engines.
1145
1146        * gconf/gconf-listeners.c (ltable_next_cnxn): Start "uniqueness
1147        bits" at a different location depending on pid
1148
11492000-08-30  Havoc Pennington  <hp@redhat.com>
1150
1151        * gconf/gconf.c: Change client to new system (use object
1152        references to ConfigDatabase instead of the integer context ID).
1153       
1154        * gconf/gconf-backend.c: Fix path to uninstalled modules, and
1155        put the whole uninstalled modules thing in GCONF_ENABLE_DEBUG
1156
1157        * gconf/gconf-database.c: add some missing includes, and fix
1158        a typo bug
1159
1160        * gconf/gconfd.c: CORBA_Object_duplicate() the ConfigDatabase
1161        objrefs before passing them back out to ORBit. Remove
1162        some bogus assertions.
1163       
1164        * TODO: Updates, added notes from Colm
1165
11662000-08-30  Havoc Pennington  <hp@pobox.com>
1167
1168        * gconf/gconfd.c, gconf/gconf-database.h, gconf/gconf-database.c,
1169        gconf/gconfd.h: Completed the server-side implementation of
1170        the new system where a ConfigServer_Context becomes
1171        a ConfigDatabase object. Client side doesn't even compile
1172        yet. Will get it compiling in the morning.
1173
11742000-08-29  Havoc Pennington  <hp@redhat.com>
1175
1176        * gconf/gconfd.c: Add logfile load/save; not really working
1177        yet.
1178
1179        * gconf/gconf.c: Remove reinstall-listeners stuff and implement
1180        update_listeners() from the server. Most of this is about to get
1181        removed again when I fix context ID's to be object references
1182        instead.
1183
1184        * gconf/gconf-listeners.c: #include <string.h>,
1185        store full key name on tree nodes, add connection ID to
1186        foreach callback
1187
1188        * gconf/GConf.idl: Add update_listener method on ConfigListener,
1189        so the daemon can tell a client that a listener's ID has changed
1190
1191        * gconf/gconf-glib-public.h,
1192        gconf/gconf-glib-private.h,
1193        gconf/gconf-glib.c: Put in gmarkup.[hc], gunicode stuff,
1194        and gerror.[hc] from GLib 2.0. The Unicode char tables are
1195        causing big bloat; may be able to get rid of them
1196        before GNOME 1.4 if we are lucky.
1197
11982000-08-27  Havoc Pennington  <hp@pobox.com>
1199
1200        * gconf/gconf-glib-public.h,
1201        gconf/gconf-glib-private.h,
1202        gconf/gconf-glib.c: Place to put cut-and-paste code from
1203        GLib 2.0
1204
1205        * gconf/gconf.c (notify): Only print warnings on bogus notifies
1206        if debugging is enabled; without debugging, silently ignore
1207        the notifies, it just means gconfd got confused.
1208
12092000-08-26  Havoc Pennington  <hp@pobox.com>
1210
1211        * gconf/gconf-listeners.c (gconf_listeners_foreach): Add a foreach
1212        function, will use that to dump the daemon's listener table to
1213        a file.
1214
12152000-08-26  Havoc Pennington  <hp@pobox.com>
1216
1217        * TODO: Created a TODO file
1218
12192000-08-09  Havoc Pennington  <hp@pobox.com>
1220
1221        * configure.in: 0.8
1222
1223        * fixes from Ralph Loader for DESTDIR support (hopefully
1224        got them all in)
1225
1226        * gconf.spec: fix description (the G is just a G, doesn't stand
1227        for anything)
1228       
12292000-08-09  Robin * Slomkowski  <rslomkow@eazel.com>
1230
1231        * gconf.spec.in: made it so the specfile worked for rpm builds
1232
12332000-08-07  Robin * Slomkowski  <rslomkow@eazel.com>
1234
1235        * gconf/Makefile.am: use top_build instead of build
1236        and some beautification.
1237
1238Wed Aug 02 18:11:37 2000  George Lebl <jirka@5z.com>
1239
1240        * backends/xml-entry.c (node_set_schema_value) (node_unset_value)
1241          (schema_node_extract_value):  Set the list_type and car_type and
1242          cdr_type from the schema.  Unset these on clear.  Also get these
1243          on extraction.
1244
1245        * gconf/GConf.idl:  Add value_list_type, value_car_type,
1246          value_cdr_type to the ConfigSchema struct
1247
1248        * gconf/gconf-internals.c (fill_corba_schema_from_gconf_schema)
1249          (gconf_schema_from_corba_schema) (corba_type_from_gconf_type)
1250          (gconf_type_from_corba_type) (gconf_string_to_double)
1251          (gconf_double_to_string) (gconf_unquote_string_inplace)
1252          (gconf_value_decode) (gconf_value_encode):  When passing schema
1253          to/from corba, pass the list_type and car/cdr_type fields as well.
1254          When converting to/from doubles guard the printf/scanf with
1255          setlocale(LC_NUMERIC, "C").  When encoding/decoding the lists
1256          encode their type, for schemas encode/decode the list/car/cdr_type
1257
1258        * gconf/gconf-internals.h:  For gconf_value_new_list_from_string
1259          and gconf_value_new_pair_from_string add an GConfError field
1260
1261        * gconf/gconf-schema.[ch] (gconf_schema_new) (gconf_schema_copy):
1262          Add the list/car/cdr_type fields to the schema structure and
1263          support it when creating and copying.  Also add accessors for
1264          these fields.
1265
1266        * gconf/gconf-value.c (escape_string)
1267          (gconf_value_new_list_from_string)
1268          (gconf_value_new_pair_from_string)
1269          (gconf_value_to_string):  Implement the list and pair_from_string
1270          functions.  In to_string escape the characters that would cause
1271          problems.
1272
1273        * gconf/gconf.c (gconf_unique_key): use GPOINTER_TO_UINT to
1274          avoid warning on alpha
1275
1276        * gconf/gconftool.c (do_get) (do_set) (do_set_schema)
1277          (fill_default_from_string) (extract_global_info)
1278          (process_locale_info) (process_schema):  Add support for
1279          setting lists and pairs by supporting the list/car/cdr_type.
1280          Add these to setting schemas as well.  Also add support for
1281          these in reading/setting schemas from .schema files and support
1282          defaults of lists/pairs using this information.
1283
12842000-07-27  Havoc Pennington  <hp@redhat.com>
1285
1286        * backends/Makefile.am (backenddir): backenddir is
1287        pkglibdir/MAJOR_VERSION, not plain VERSION
1288
1289        * configure.in: Bump to 0.7
1290
1291Wed Jul 26 12:40:45 2000  George Lebl <jirka@5z.com>
1292
1293        * gconf/gconf.c (gconf_key_is_below):  Make sure that the segment
1294          above is a complete directory and not just partial directory.
1295          so that /foo is not taken as above /foobar/blah
1296
1297Tue Jul 25 23:48:24 2000  George Lebl <jirka@5z.com>
1298
1299        * wrappers/gtk/gconf-client.c:  || doesn't mean && :).  It would
1300          consider as an above directory every directory that had a notify_id
1301
13022000-07-25  James Henstridge  <james@daa.com.au>
1303
1304        * Makefile.am, gconf/Makefile.am: make relative symlinks rather than
1305        absolute path symlinks.  Again to help packagers.
1306
1307        * configure.in (GCONF_CONFIG_SOURCE): don't use
1308        EXPANDED_SYSCONFDIR hack.  Instead just escape the dollar sign in
1309        ${sysconfdir}.  This fixes build root installs used when building
1310        packages.
1311
1312Mon Jul 24 16:39:01 2000  George Lebl <jirka@5z.com>
1313
1314        * wrappers/gtk/gconf-client.[ch]: Allow adding overlapping
1315          subdirectories.  What happens is that the real gconf notify
1316          is not added for subdirectories.  When directories are added
1317          or removed the hash is traversed and fixed up.  This is
1318          done in a simple and incredibly inefficent manner and needs
1319          to be fixed.  Also this change adds an "err" argument to
1320          the _remove_dir call as errors can now happen.  Also
1321          fix a minor warning by casting.
1322
1323        * wrappers/gtk/testgconfclient.c: Add some testing of overlapping
1324          directories.  Add buttons to add/remove the main directory and
1325          the subdirectory.  This way you can see if things get proper
1326          notifications.
1327
13282000-07-24  Yukihiro Nakai <nakai@gnome.gr.jp>
1329
1330        * configure.in: Add Japanese (ja)
1331
13322000-07-21  Robin * Slomkowski  <rslomkow@eazel.com>
1333
1334        * gconf.spec.in: just fixed up some filename stuff
1335
13362000-07-14  Havoc Pennington  <hp@pobox.com>
1337
1338        * gconf/gconf-sources.c (gconf_sources_query_value): Fix memleak
1339        of schema_name in case where we return a value
1340        (hash_lookup_defaults_func): Fix bug where we returned the schema
1341        instead of the default value stored in the schema, when returning
1342        default values for a directory listing, which GConfClient did in
1343        order to preload its cache. (Upshot: GConfClient with preloading
1344        was broken if you had schemas.)
1345
13462000-07-13  Havoc Pennington  <hp@pobox.com>
1347
1348        * gconf/gconfd.c (shutdown_contexts): fix cheesy race condition
1349        (context_list may not exist at this point)
1350
13512000-07-12  Havoc Pennington  <hp@pobox.com>
1352
1353        * gconf.spec.in: Change spec file to reflect my fooling with
1354        names of things
1355
1356        * configure.in: Some files converted to .in files, so we can
1357        do versioning
1358
1359        * gconf-config.in: output versioned names for libs and includes
1360
1361        * gconf/Makefile.am: version all installed files
1362
1363        * wrappers/gtk/Makefile.am: put version in the name of
1364        everything
1365
1366        * wrappers/gtk/testgconfclient.c (main): remove ref/sink to
1367        reflect change to GConfClient
1368
13692000-07-13  Havoc Pennington  <hp@pobox.com>
1370
1371        * backends/xml-entry.c (schema_node_extract_value): fix a
1372        double-free
1373
13742000-07-12  Havoc Pennington  <hp@pobox.com>
1375
1376        * configure.in: Bump library versions, bump to 0.6
1377
1378        * gconf/gconf.c (gconf_engine_get_local): Rename from
1379        gconf_engine_new_local
1380        (gconf_engine_get_default): rename from gconf_engine_new
1381        (gconf_engine_get_for_address): rename from
1382        gconf_engine_new_from_address
1383
1384        * wrappers/gtk/gconf-client.c (gconf_client_get_default): rename
1385        from gconf_client_new. Always sink the client, so we are strictly
1386        refcounted, no floating state (for future GObject compatibility)
1387        (gconf_client_get_for_engine): rename from
1388        gconf_client_new_with_engine
1389
13902000-07-11  Havoc Pennington  <hp@redhat.com>
1391
1392        * Makefile.am: spew messages about needing to create
1393        prefix/etc/gconf/path, should make things easier for users.
1394
13952000-07-05  Eskil Heyn Olsen  <eskil@eazel.com>
1396
1397        * gconf-config.in:
1398        adds output of oaf-config, since gconf uses oaf.
1399
14002000-07-05  Eskikl Heyn Olsen  <eskil@eazel.com>
1401
1402        * gconf.spec.in:
1403        Fixed som typos.
1404
14052000-06-22  Dan Winship  <danw@helixcode.com>
1406
1407        * wrappers/gtk/gconf-client.c (gconf_client_set_pair): Pass both
1408        car and cdr to gconf_set_pair rather than passing car twice. Oops.
1409
14102000-06-12  Eskil Heyn Olsen  <eskil@eazel.com>
1411
1412        * gconf.spec.in: Removed the .a libs from the base package, but
1413        added them to -devel.
1414
14152000-06-11  Eskil Heyn Olsen  <eskil@eazel.com>
1416
1417        * gconf.spec.in: Req oaf >= 0.3.0
1418
14192000-06-11  Eskil Heyn Olsen  <eskil@eazel.com>
1420
1421        * gconf.spec.in: Added a .spec file.
1422        * configure.in: Generate gconf.spec.
1423        * Makefile.am: Added gconf.spec.in and gconf.spec to the
1424        EXTRA_DIST.     
1425
14262000-06-07  Pavel Cisler  <pavel@eazel.com>
1427
1428        * wrappers/gtk/gconf-client.c: (gconf_client_get_string):
1429        Fix a storage leak -- a g_strdup and an string ownership
1430        swapping optimization were working against each other.
1431        Removed the g_strdup that is not needed.
1432
14332000-06-04      Mathieu Lacage  <mathieu@gnome.org>
1434
1435        * gconf-config.in: add gtk-config --cflags and --libs
1436        output to the gconf-gtk --cflags and --libs output.
1437
14382000-06-01  Havoc Pennington  <hp@pobox.com>
1439
1440        * gconf/gconf.c (lookup_engine): check whether the hash is NULL
1441        before looking up the engine.
1442
14432000-06-01  Havoc Pennington  <hp@pobox.com>
1444
1445        * gconf/gconf.c (gconf_engine_new): If there's an existing engine
1446        for a given context, return that engine instead of creating a new
1447        one.
1448        (gconf_engine_new_from_address): ditto
1449
1450        * wrappers/gtk/gconf-client.c (gconf_client_finalize): remove
1451        client from client registration table
1452        (gconf_client_new): register newly-created client in hash from
1453        engines to clients; return an existing client if there's already
1454        a client for the default engine
1455        (gconf_client_new_with_engine): register newly-created client,
1456        and try to return existing client.
1457
14582000-05-07  Havoc Pennington  <hp@pobox.com>
1459
1460        * gconf/gconf-listeners.c: Move struct _GConfListeners
1461        into the .c file, eventually need to simply get rid of this.
1462
14632000-04-24  Fatih Demir <kabalak@gmx.net>
1464
1465        * configure.in : Added tr to ALL_LINGUAS .
1466
14672000-04-19  Pablo Saratxaga <pablo@mandrakesoft.com>
1468
1469        * configure.in (ALL_LINGUAS): Added Catalan language
1470
14712000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1472
1473        * gconf/gconftool.c (main): Don't g_free the result of g_getenv ().
1474
1475Tue Apr 18 01:37:51 2000  George Lebl <jirka@5z.com>
1476
1477        * gconf/gconf.c: make the default path sane by adding the flag
1478          field with readwrite
1479
1480        * gconf/gconf.path: add readwrite flag field to make the path legal
1481
14822000-03-30  Matthias Warkus  <mawa@iname.com>
1483
1484        * configure.in (ALL_LINGUAS): Added German translation.
1485
14862000-03-13 Alastair McKinstry <mckinstry@computer.org>
1487
1488        * configure.in (ALL_LINGUAS): Added Irish translation.
1489
14902000-03-09  Havoc Pennington  <hp@redhat.com>
1491
1492        * configure.in (absolute_top_srcdir): don't do makefile for Guile
1493        stuff.
1494
1495        * Makefile.am: create DIST_SUBDIRS with tests directory
1496
14972000-03-09 Elliot Lee <sopwith@redhat.com>
1498        * gconf/gconf-internals.c: Don't syslog things.
1499        * gconf/examples/Makefile.am: Fix for builddir != srcdir.
1500
15012000-03-08  Havoc Pennington  <hp@redhat.com>
1502
1503        * gconf/gconf.c (gconf_init): exit on error.
1504
1505        * examples/simple-controller.c (main): fix gconf_init() error
1506
1507        * examples/simple-view.c (main): fix gconf_init() error
1508
15092000-03-06  Havoc Pennington  <hp@redhat.com>
1510
1511        * doc/intro-article.sgml: Add the examples
1512
1513        * examples/simple-view.c: Change include to work before
1514        we install.
1515       
1516        * examples/simple-controller.c: ditto
1517
15182000-02-29  Havoc Pennington  <hp@redhat.com>
1519
1520        * configure.in: Add goofy "--enable-docs" option to bypass all
1521        library checks, we just want to generate sufficient makefile
1522        for the doc-building targets to run on developer.gnome.org
1523
15242000-02-26  Havoc Pennington  <hp@pobox.com>
1525
1526        * examples/Makefile.am: Add new examples
1527        * examples/simple-view.c, examples/simple-controller.c:
1528        Two simple new examples
1529
15302000-02-23  Havoc Pennington  <hp@redhat.com>
1531
1532        * configure.in: Bump version and libtool versions,
1533        and try to fix the prefix mess. Update required OAF version.   
1534
1535        * doc/gconf/Makefile.am: srcdir != builddir fix
1536
1537        * standard-schemas/Makefile.am: add schemas to EXTRA_DIST
1538
15392000-02-22  Elliot Lee  <sopwith@redhat.com>
1540
1541        * tests/Makefile.am: srcdir != builddir fix.
1542        * wrappers/gtk/Makefile.am: Add libgconf-gtk.la to testgconfclient
1543        deps so that 'make -j' builds will work correctly.
1544
15452000-02-19  Havoc Pennington  <hp@pobox.com>
1546
1547        * gconf/gconf.c (try_to_contact_server): Make sure we always set
1548        an error
1549
15502000-02-15  Havoc Pennington  <hp@redhat.com>
1551
1552        * gconf/gconf-changeset.c (gconf_change_set_set): apply patch from
1553        Rusty Conover <rconover@zootweb.com> fixing an infinite recursion
1554        typo
1555
1556        * gconf/gconfd.c (fast_cleanup): Don't bother to unregister with
1557        OAF
1558
15592000-02-01  Havoc Pennington  <hp@redhat.com>
1560
1561        * configure.in (GCONF_CONFIG_SOURCE): update default schema
1562        install source
1563        (XML_LIBS): add better check that we actually ran xml-config
1564        successfully
1565
1566        * gconf/gconf-backend.c (gconf_backend_resolve_address): Honor the
1567        "readonly" flag in address names
1568
1569        * gconf/gconf-sources.c (SOURCE_WRITEABLE): convert to a function,
1570        source_is_writeable
1571
1572        * gconf/gconf-sources.h: add GCONF_SOURCE_NEVER_WRITEABLE flag
1573
1574        * tests/testaddress.c: new test to verify the functions that break
1575        up a configuration source address
1576
1577        * gconf/gconf-backend.c (gconf_address_flags): function to extract
1578        configuration source flags
1579
1580        * doc/gconf/gconf.sgml: note new configuration source URL format
1581
1582        * gconf/gconf.c: Add space, tab, carriage return, newline to the
1583        invalid characters in a gconf key
1584
15852000-01-31  Havoc Pennington  <hp@redhat.com>
1586
1587        * wrappers/gtk/gconf-client.c (check_type): include name of the
1588        key with the wrong type in the error message
1589
15902000-01-31  Havoc Pennington  <hp@redhat.com>
1591
1592        * wrappers/gtk/gconf-client.c
1593        (gconf_client_real_unreturned_error): only handle the error if the
1594        mode is GCONF_CLIENT_HANDLE_UNRETURNED
1595        (gconf_client_real_error): only handle if GCONF_CLIENT_HANDLE_ALL
1596        (gconf_client_init): change default error handling to
1597        GCONF_CLIENT_HANDLE_UNRETURNED
1598
1599        * wrappers/gtk/gconf-client.h: don't pass error handling mode to
1600        the error handler function
1601
16022000-01-28  Havoc Pennington  <hp@redhat.com>
1603
1604        * wrappers/gtk/gconf-client.c
1605        (gconf_client_set_global_default_error_handler): New function so
1606        gnome-libs can install a Gnomized error dialog
1607
16082000-01-27  Havoc Pennington  <hp@pobox.com>
1609
1610        * wrappers/gtk/gconf-client.c (check_overlap): fix the no-debug
1611        case
1612
16132000-01-24  Havoc Pennington  <hp@redhat.com>
1614
1615        * backends/xml-backend.c (resolve_address): base mode for creating
1616        files and directories on the permissions of the root XML directory
1617
1618        * gconf/gconf.h: Clean up indentation
1619
16202000-01-27  Elliot Lee  <sopwith@redhat.com>
1621        * gconf/Makefile.am, standard-schemas/Makefile.am: Fix builddir != srcdir
1622
16232000-01-24  Havoc Pennington  <hp@redhat.com>
1624
1625        * gconf/gconf-sources.c (gconf_sources_new_from_addresses):
1626        never return errors, just log them.
1627
1628        * gconf/gconf-backend.c (gconf_get_backend): fix mem leak (free
1629        "name" if we don't create a new backend to use it in)
1630
1631        * gconf/gconf-internals.c (gconf_get_lock): fix mem leak
1632
1633        * backends/xml-entry.c (schema_node_extract_value): fix a mem leak
1634
1635        * gconf/gconfd.c (main): keep a pointer to the object ID returned
1636        from PortableServer_POA_activate_object()
1637
1638        * backends/xml-backend.c (resolve_address): fix a mem leak on
1639        error
1640
16412000-01-24  Havoc Pennington  <hp@redhat.com>
1642
1643        * gconf/gconf-internals.c (gconf_get_lock): Use a long enough
1644        buffer to read in the IOR
1645
16462000-01-24  Havoc Pennington  <hp@redhat.com>
1647
1648        * gconf/gconftool.c (do_load_schema_file): Apply patch from Mirko,
1649        properly locates the root node instead of assuming it is the only
1650        node at the toplevel (handles comments, etc).
1651        (process_schema): Report error if a schema has no <locale>
1652        tags.
1653
16542000-01-23  Havoc Pennington  <hp@pobox.com>
1655
1656        * backends/xml-entry.c (node_set_value): Store strings in a
1657        sub-node and use xmlEncodeEntitiesReentrant() to encode it
1658        (node_extract_value): Extract string from the subnode
1659
16602000-01-23  Havoc Pennington  <hp@pobox.com>
1661
1662        * doc/gconf/gconf.sgml: Add schema file DTD from Mirko
1663
1664        * backends/xml-dir.c (dir_sync): pass the XML filename in to
1665        create_fs_dir()
1666        (dir_load): This was broken; bug reported by Mirko Streckenbach.
1667        The Dir object was created even if %gconf.xml file didn't exist,
1668        so we didn't get around to actually creating %gconf.xml
1669        (create_fs_dir): Make %gconf.xml the thing this function is
1670        primarily creating, with the directory containing it as a side
1671        effect only.
1672
1673        * gconf/Makefile.am (install-data-local): Install default path to
1674        path.example, so we don't override someone's existing setup.
1675
1676        * gconf/tests/testdirlist.c: test program that detects dir listing
1677        bugs.
1678       
16792000-01-22  Havoc Pennington  <hp@pobox.com>
1680
1681        * backends/xml-dir.c (dir_all_subdirs): If we can't open the
1682        directory it's not an error, just return NULL.
1683
16842000-01-21  Havoc Pennington  <hp@redhat.com>
1685
1686        * backends/xml-cache.c (cache_clean_foreach): remove everything
1687        older than or the same age as the older_than time value (i.e.
1688        put >= instead of >)
1689        (cache_destroy_foreach): debug check to be sure we aren't
1690        destroying unsynced directories
1691
1692        * gconf/gconfd.c (context_synchronous_sync): remove sync
1693        timeout/idle handlers when we do a synchronous sync
1694
16952000-01-21  Havoc Pennington  <hp@pobox.com>
1696
1697        * gconf/gconf-value.c (gconf_value_new_from_string): use new
1698        double conversion
1699        (gconf_value_to_string): use new conversion
1700
1701        * gconf/gconf-internals.c (gconf_double_to_string)
1702        (gconf_string_to_double): new functions to go from string
1703        to double, we had precision problems with this and maybe
1704        still do, these functions encapsulate it. For now
1705        copied code from gnumeric/src/xml-io.c
1706
1707        * gconf/gconftool.c (main): improve gconfd-is-running error
1708        message
1709
1710        * gconf/gconf.c (gconf_synchronous_sync): internal-only API
1711        for the synchronous sync
1712
1713        * gconf/gconfd.c (gconfd_synchronous_sync): implement a way to
1714        force _immediate_ sync for testing purposes
1715
17162000-01-21  Havoc Pennington  <hp@pobox.com>
1717
1718        * tests/Makefile.am (testpersistence_SOURCES): add new test
1719
1720        * tests/testpersistence.c: New test, clears the cache after every
1721        set, to see if the get() function can properly load stuff off of
1722        disk. Right now we fail this test. Blah.
1723
17242000-01-21  Havoc Pennington  <hp@pobox.com>
1725
1726        * backends/xml-cache.c (cache_clean): oops, this was broken
1727        before; we need to check that the dir doesn't need a sync before
1728        we destroy it.
1729
1730        * backends/xml-dir.c (dir_sync_pending): new function
1731
1732        * backends/xml-backend.c (clear_cache): implement clearing cache
1733        for XML backend
1734
1735        * gconf/gconf.c (gconf_clear_cache): implement API here
1736
1737        * gconf/GConf.idl: add clear_cache method
1738
1739        * gconf/gconfd.c (context_clear_cache): add code to implement
1740        clear_cache IDL
1741
1742        * gconf/gconf-sources.c (gconf_sources_clear_cache): New function
1743        for debugging purposes
1744
17452000-01-20  Havoc Pennington  <hp@pobox.com>
1746
1747        * backends/xml-entry.c (node_extract_value): Detect case where a
1748        pair is missing car and/or cdr and do an error instead of
1749        returning an invalid pair.
1750
1751        * gconf/gconf-internals.c (gconf_get_lock): remove IOR debug spew
1752
1753        * gconf/gconftool.c: Add --break-key and --break-directory, these
1754        allow you to easily torture test your application and see if
1755        you're robust against users setting your config keys to stupid
1756        stuff.
1757
1758        * tests/testgconf.c: Include the empty string in the list
1759        of strings we test. I know this is currently broken if you
1760        exit gconfd or purge the cache between set and get.
1761       
17622000-01-20  Havoc Pennington  <hp@redhat.com>
1763
1764        * gconf/Makefile.am (EXTRA_DIST): fix EXTRA_DIST to have
1765        default.path.in in it
1766
17672000-01-20  Havoc Pennington  <hp@redhat.com>
1768
1769        * gconf/default.path: remove, replace with gconf/default.path.in
1770        which is set up properly to go in $sysconfdir
1771       
1772        * gconf/gconftool.c (main): Always unref the engine when we're
1773        done, to ensure we cleanly give up locks on local sources.
1774
1775        * configure.in (GCONF_CONFIG_SOURCE): --enable-gconf-source option
1776
1777        * gconf/gconftool.c (main): add an --makefile-install-rule option,
1778        which does the right thing in makefile install rules.   
1779
1780        * Makefile.am: add standard-schemas subdir
1781       
1782        * configure.in (absolute_top_srcdir): create standard-schemas Makefile
1783
1784        * standard-schemas/desktop.schemas: Schemas that any desktop can use
1785
1786        * standard-schemas/Makefile.am: install schemas
1787
17882000-01-19  Havoc Pennington  <hp@redhat.com>
1789
1790        * gconf/gconfd.c (gconf_set_exception): warn if the error is set
1791        to GCONF_ERROR_SUCCESS
1792
1793        * gconf/gconf-error.h: Prefix all errno values with GCONF_ERROR as
1794        Owen suggested
1795
17962000-01-15  Havoc Pennington  <hp@pobox.com>
1797
1798        * tests/testlisteners.c (check_immediate_remove_after_add): update
1799        to match change to gconf-listeners.c
1800
1801        * gconf/gconf-listeners.c: Use only 24 bits for the array index,
1802        and put a variable value in the top 8 bits, so recycling array
1803        indices doesn't create the possibility of clients clashing with
1804        each other (i.e. to clients it doesn't appear that indexes are
1805        being recycled).       
1806
18072000-01-15  Havoc Pennington  <hp@pobox.com>
1808
1809        * backends/xml-dir.c (dir_unset_value): check entries for
1810        uselessness on unset, even if they are unchanged by the unset.
1811        Allows us to delete useless crap we loaded from disk.
1812        If you unset, the entry should no longer appear in all_entries
1813        unless there's a schema name to remember.
1814       
1815        * backends/xml-entry.c (entry_unset_value): Fix this to properly
1816        unset value for all locales if the locale passed in to "unset" is
1817        NULL
1818        (entry_sync_to_node): Remember to unset the value if necessary
1819       
1820        * gconf/gconftool.c (list_pairs_in_dir): handle entries with no
1821        value.
1822
18232000-01-15  Havoc Pennington  <hp@pobox.com>
1824
1825        * backends/xml-dir.c (dir_destroy): destroy entries before the xml
1826        doc, since they hold pointers into the xml doc.
1827
1828        * backends/xml-entry.c (entry_sync_to_node): if no cached value,
1829        blow away the value in the node.
1830
18312000-01-14  Havoc Pennington  <hp@pobox.com>
1832
1833        * gconf/gconfd.c (gconfd_all_entries): remove bad assertion that
1834        the value in an entry was non-NULL
1835
1836        * gconf/gconf.c (gconf_set): check for invalid list type
1837
1838        * gconf/gconf-internals.c (gconf_value_from_corba_value): Be more
1839        paranoid about list types coming from gconfd
1840
18412000-01-13  Havoc Pennington  <hp@pobox.com>
1842
1843        * gconf/gconf.c (gconf_unique_key): function to generate
1844        a pseudo-random very-very-likely-to-be-unique key name.
1845
18462000-01-13  Havoc Pennington  <hp@redhat.com>
1847
1848        * gconf/gconf-internals.c (gconf_concat_key_and_dir): move
1849        declaration to public header
1850
1851        * doc/gconf/tmpl/gconf-client.sgml: Document the changed
1852        dir add/remove behavior
1853
18542000-01-13  Havoc Pennington  <hp@redhat.com>
1855
1856        * backends/xml-dir.c (dir_load): arguments to this were backward
1857
1858        * wrappers/gtk/gconf-client.c: keep a count of the number of times
1859        a directory has been added/removed from the dir list, so we only
1860        remove it from the list after that number of removals.
1861        Perhaps somewhat unintuitive, but we'll document it, and it's
1862        really necessary if multiple code sections are going to share the
1863        same GConfClient.
1864        (gconf_client_destroy): move a bunch of stuff to finalize
1865        so we remain "safe" before last unref
1866
18672000-01-12  Havoc Pennington  <hp@redhat.com>
1868
1869        * gconf/gconfd.c (main): don't use custom object ID
1870
18712000-01-12  Jonathan Blandford  <jrb@redhat.com>
1872
1873        * wrappers/gtk/gconf-client.c: #include <stdio.h>
1874
18752000-01-11  Havoc Pennington  <hp@pobox.com>
1876
1877        * gconf.m4: separate $4 from gconf_config_args
1878
1879        * gconf-config.in (af_libs): -lgconf, not -lgconf-client
1880        (Libraries): add gconf-gtk lib
1881
18822000-01-11 Andreas Hyden <andreas.hyden@telia.com>
1883
1884        * configure.in : added sv (swedish)
1885
18862000-01-08  Havoc Pennington  <hp@pobox.com>
1887
1888        * gconf/gconftool.c (main): had local and non-local cases backward
1889        so you got the opposite of what you requested
1890
1891        * gconf/gconf-internals.c (gconf_release_lock): include strerror()
1892        in "can't open lock file" message
1893        (gconf_get_lock): actually write the PID to the lock file,
1894        and use ConfigServer_ping() instead of CORBA_Object_is_nonexistent()
1895
18962000-01-07  Havoc Pennington  <hp@redhat.com>
1897
1898        * gconf/gconf-internals.c (gconf_get_lock): totally rewrite the
1899        locking stuff
1900
1901        * backends/xml-dir.c (dir_load): if errno == ENOENT don't make
1902        dir_load() fail
1903
1904        * gconf/gconfd.c (main): check return value of
1905        oaf_active_server_register() and act accordingly.
1906
1907        * gconf/gconf.c (try_to_contact_server): use new
1908        OAF_FLAG_EXISTING_ONLY when appropriate
1909
1910        * gconf/gconf-internals.c (gconf_set_daemon_ior): allow setting
1911        IOR to a global var
1912
1913        * gconf/gconfd.c (main): set the IOR so it can be used in lockfiles
1914
19152000-01-03  Havoc Pennington  <hp@redhat.com>
1916
1917        * gconf/gconftool.c (main): add support for direct config source access
1918
19191999-12-31  Havoc Pennington  <hp@pobox.com>
1920
1921        * gconf/gconf-internals.c (gconf_log): in non-daemon mode, use
1922        fprintf() when it's an error and printf() when not
1923        (gconf_in_daemon_mode): new function
1924
1925        * gconf/gconfd.c (signal_handler): special-case some more signals;
1926        do more thorough cleanup when we can.
1927        (main): fix which signals we add an action for
1928
1929        * gconf/gconf-internals.h: Remove server_info* functions
1930
1931        * gconf/gconf-error.h: add GCONF_LOCK_FAILED
1932
1933        * gconf/gconf.c (corba_errno_to_gconf_errno): lock failed error
1934
1935        * gconf/gconf-internals.c (gconf_nanosleep): Add utility function
1936        to portably sleep a little while (we should really stick one of
1937        these in glib)
1938        (gconf_release_lock, gconf_get_lock): Lock directory functions
1939
19402000-01-02  Timur Bakeyev <mc@bat.ru>
1941
1942        * doc/gconf/Makefile.am: Replace unportable install -d with $MKINSTALLDIRS.
1943        install -m 0644 - with $(INSTALL_DATA).
1944
19452000-01-02  Timur Bakeyev <mc@bat.ru>
1946
1947        * po/uk.po: Add missed "\n" in 2 strings. Things sholud be checked
1948        before commit :)
1949       
1950        * backends/Makefile.am, wrappers/gtk/Makefile.am: Add $(top_builddir)/gconf
1951        to INCLUDES to make GConf.h visiable.
1952
1953        * gconf/gconf-internals.c: If LC_MESSAGE doesn't exist, use value of
1954        LC_CTYPE (is this correct?)
1955               
19561999-12-31  Yuri Syrota  <rasta@renome.rovno.ua>
1957
1958        * configure.in: Added "uk" to ALL_LINGUAS
1959
19601999-12-30  Havoc Pennington  <hp@pobox.com>
1961
1962        * backends/xml-backend.c: Complete cleanup of XML backend,
1963        all test suite passes, code is much more manageable.
1964
19651999-12-21  Havoc Pennington  <hp@redhat.com>
1966
1967        * doc/gconf/tmpl/gconf-backend.sgml: Documented the methods in the
1968        backend vtable.
1969
1970        * backends/xml-dir.[hc], backends/xml-entry.[hc]: fixed up some
1971        code, mostly done.     
1972
19731999-12-20  Havoc Pennington  <hp@redhat.com>
1974
1975        * gconf/gconf-sources.c (gconf_sources_new_from_addresses): const
1976        correctness
1977
1978        * gconf/gconfd.c: Massive const-correctness changes to match
1979        latest ORBit
1980
1981        * gconf/gconf.c (notify): "in string" seems to be const again now.
1982
1983        * wrappers/gtk/gconf-client.c (cache_pairs_in_dir): store the
1984        is_default parameter when preloading
1985
1986        * gconf/gconf.c (gconf_all_entries): receive the is_default
1987        parameter
1988
1989        * gconf/gconfd.c (gconfd_all_entries): pass the is_default
1990        parameter over the CORBA link
1991
1992        * backends/xml-backend.c (listify_foreach): Add the schema name to
1993        the entry if appropriate (if value is unset)
1994
1995        * gconf/gconf-sources.c (gconf_sources_all_entries): Change to
1996        match new semantics of all_entries in the backend; get all entries
1997        that have a schema set on them, and the corresponding default
1998        value if appropriate.
1999
2000        * gconf/gconf-value.c (gconf_entry_set_is_default): new function
2001        (gconf_entry_set_schema_name): new function
2002
2003        * backends/xml-backend.c (listify_foreach): Include keys that
2004        exist but have no value set in the list of returned entries.
2005
20061999-12-20  Havoc Pennington  <hp@redhat.com>
2007
2008        * tests/testlisteners.c: fix include
2009
2010        * wrappers/gtk/gconf-client.c (gconf_client_preload): Actually
2011        implement preloading. We have some "issues" here to resolve I
2012        think, because of the defaults stuff and schemas.
2013       
20141999-12-14  Havoc Pennington  <hp@redhat.com>
2015
2016        * gconf/gconf.c (gconf_engine_new_from_address): Add a g_warning()
2017        that people probably don't want to use this.
2018
20191999-12-14  Havoc Pennington  <hp@redhat.com>
2020
2021        * doc/gconf/tmpl/gconf-client.sgml: fix a typo, add additional
2022        explanation to the introduction.
2023
2024        * doc/gconf/tmpl/gconf.sgml: Document the string-to-enum functions.
2025        Update some other docs too.
2026
2027        * doc/gconf/gconf-sections.txt: add new functions
2028
2029        * gconf/gconf.c (gconf_string_to_enum): new function
2030        (gconf_enum_to_string): new function
2031
2032        * gconf/gconf-engine.h: Put gconf_engine_new_local() here instead
2033        of gconf-internals.h
2034
2035        * gconf/gconf-internals.h: added a new GCONF_ENABLE_INTERNALS
2036        define, to allow us to have internal stuff in headers other than
2037        gconf-internals.h
2038
2039        * gconf/gconf.c (gconf_unset): local version
2040        (gconf_associate_schema): local version
2041        (gconf_all_entries): local version
2042        (gconf_all_dirs): local version
2043        (gconf_suggest_sync): local version
2044        (gconf_dir_exists): local version
2045
2046        * gconf/gconf-internals.h (gconf_engine_new_local): Declare this
2047        function here, though it's defined in gconf.c
2048
2049        * gconf/gconf.c (gconf_set): local version
2050
2051        * gconf/gconfd.c (context_query_default_value): use
2052        gconf_sources_query_default_value()
2053
2054        * gconf/gconf-sources.c (gconf_sources_query_default_value): New
2055        function
2056
2057        * gconf/gconf-sources.h: egtk-format-protos the function
2058        prototypes.
2059
2060        * gconf/Makefile.am (libgconf_la_SOURCES): move gconf-locale.[hc]
2061        into the library, bah
2062
2063        * gconf/gconf.c (gconf_get_full): Add local (no gconfd) version
2064
2065        * gconf/gconf-locale.c (gconf_split_locale): locale splitter
2066        function.
2067
2068        * gconf/gconf-sources.c (gconf_sources_new_from_source): new function
2069
2070        * examples/basic-gconf-app.c (create_prefs_dialog): Move keys from
2071        /apps/gnome to plain /apps
2072
2073        * doc/gconf/gconf.sgml: Add an initial stab at namespace
2074        splitting.
2075
20761999-12-09  Havoc Pennington  <hp@redhat.com>
2077
2078        * gconf/gconf.c (gconf_init): Safety check to ensure we don't
2079        initialize OAF a second time.
2080
20811999-12-06  Havoc Pennington  <hp@pobox.com>
2082
2083        * gconf/gconf.c (gconf_notify_add): Backward assertion
2084
20851999-12-02  Havoc Pennington  <hp@pobox.com>
2086
2087        * examples/basic-gconf-app.c (create_configurable_widget): use
2088        gconf_client_get_string() instead of gconf_client_get()
2089        (update_entry): Check for the default value if we have an unset
2090        value in the change set.       
2091
2092        * wrappers/gtk/gconf-client.c
2093        (gconf_client_create_change_set_from_currentv): use without_default
2094        (revert_foreach): use without_default
2095
2096        * gconf/gconf-changeset.c (gconf_create_change_set_from_currentv):
2097        use gconf_get_without_default()
2098        (revert_foreach): use gconf_get_without_default()
2099
2100        * wrappers/gtk/testgconfclient.c (entry_notify_func): fix to compile
2101
2102        * examples/basic-gconf-app.c (configurable_widget_config_notify):
2103        fix to compile
2104
2105        * wrappers/gtk/gconf-client.c
2106        (gconf_client_get_default_from_schema): New function
2107
2108        * gconf/gconf.c (gconf_get_without_default): renamed from
2109        gconf_get_no_default(), so that gconf_get_default_from_schema()
2110        won't be as confusing maybe.
2111        (gconf_get_default_from_schema): new function to read the default
2112        setting in the schema
2113
2114        * backends/xml-backend.c (xentry_extract_value): remove ignore_subsequent
2115        (xentry_set_value): ditto
2116
2117        * gconf/gconf-sources.c (gconf_sources_query_value): Remove ignore
2118        subsequent
2119
2120        * gconf/gconf-value.c (gconf_value_new_from_string): remove
2121        ignore_subsequent
2122        (gconf_value_to_string): remove ignore_subsequent
2123        (gconf_value_copy): Remove ignore_subsequent
2124
2125        * gconf/gconfd.c (context_unset): add is_default to notification
2126        (context_set): add is_default to notification
2127
2128        * gconf/gconf-internals.c (gconf_value_type_to_string): Remove
2129        ignore_subsequent.
2130
2131        * gconf/gconf.c (gconf_cnxn_notify): add is_default
2132        (notify) add is_default
2133
2134        * gconf/gconf-value.h: Remove GCONF_VALUE_IGNORE_SUBSEQUENT
2135
2136        * gconf/gconf-sources.c (gconf_sources_unset_value): don't do that
2137        weird IGNORE_SUBSEQUENT goo
2138
2139        * wrappers/gtk/Makefile.am (INCLUDES): add top_builddir to include
2140        search to get the built sources
2141
2142        * gconf/gconf-engine.h: fix includes
2143
2144        * gconf/gconf-changeset.h: fix includes
2145
2146        * gconf/Makefile.am (gconfd_SOURCES): add gconf-sources.h here
2147        instead of installing it.
2148
2149        * wrappers/gtk/Makefile.am (INCLUDES): remove -I$(top_builddir)/gconf
2150
2151        * wrappers/gtk/gconf-client.c (gconf_client_get_full): Add this,
2152        etc.
2153
2154        * gconf/gconf-sources.c (gconf_sources_query_value): Set a flag
2155        indicating whether the retrieved value was the default or not.
2156
2157        * gconf/GConf.idl: add value_is_default out flag to
2158        lookup_with_locale()
2159
21601999-12-02  Havoc Pennington  <hp@pobox.com>
2161
2162        * gconf/gconf-error.c: Was missing an element in the err_msgs
2163        array and the array had the wrong size.
2164       
2165        * gconf/gconf-sources.c (gconf_sources_query_value): Add
2166        use_schema_default flag here (and in the other stuff that calls
2167        it, I'm skipping some layers in the changelog)
2168        (gconf_sources_query_value): If we find an IGNORE_SUBSEQUENT, we
2169        should return immediately, rather than checking the schema default.
2170
2171        * gconf/gconfd.c (gconfd_lookup_with_locale): fix
2172       
2173        * gconf/gconf.c (gconf_get_no_default): new function to get
2174        a value, but not fall back to the schema default.
2175
2176        * gconf/GConf.idl: lookup_with_locale() needs to raise
2177        ConfigException. Also, add a "use schema default" flag.
2178
21791999-12-01  Havoc Pennington  <hp@pobox.com>
2180
2181        * gconf/gconf.c: Add local "direct mode" engine; mildly bad hack.
2182        This file could use some modularization. Still have to make
2183        all the methods support the local version.
2184       
2185        * gconf/Makefile.am (libgconf_la_SOURCES): move gconf-sources.c to
2186        the library instead of gconfd (again).
2187
2188        * gconf/gconf-internals.c (gconf_handle_oaf_exception): set the
2189        GCONF_OAF_ERROR errno
2190       
2191        * gconf/gconf-error.c: add strerror stuff for those errors.
2192
2193        * gconf/gconf-error.h: add oaf error and "this is not a gconfd
2194        engine" error.
2195
21961999-12-01  Havoc Pennington  <hp@pobox.com>
2197
2198        * gconf/gconf.c (try_to_contact_server): handle OAF exceptions
2199
2200        * gconf/gconf-internals.c (gconf_handle_oaf_exception): new
2201        function to handle OAF CORBA exceptions, now I have to find all
2202        the places that I need to use this function...
2203
22041999-12-01  Havoc Pennington  <hp@pobox.com>
2205
2206        * doc/gconf/gconf-sections.txt: Add new create_change_set
2207        functions for GConfClient and GConfEngine
2208
2209        * doc/gconf/Makefile.am (LDFLAGS): Use proper cflags/ldflags
2210        for gtk and OAF when doing 'make scan'
2211
2212        * wrappers/gtk/testgconfclient.c (entry_attached_to): change for
2213        new get_string() thing
2214
2215        * gconf/gconf-changeset.h: fix the "" vs. <> issue on an #include
2216
2217        * wrappers/gtk/gconf-client.c (gconf_client_get_bool): remove
2218        "default" argument
2219        (gconf_client_get_string): ditto
2220        (gconf_client_get_int): ditto
2221        (gconf_client_get_float): ditto
2222
2223        * gconf/gconf.c (gconf_get_bool): Remove "default" argument.
2224        (gconf_get_string): ditto
2225        (gconf_get_int): ditto
2226        (gconf_get_float): ditto
2227
22281999-11-30  Havoc Pennington  <hp@pobox.com>
2229
2230        * backends/xml-backend.c (resolve_address): s/dir/root_dir/
2231
22321999-11-29  Havoc Pennington  <hp@pobox.com>
2233
2234        * gconf/gconftool.c (do_load_schema_file): Use new syntax for
2235        attaching schema names to key names
2236
2237        * backends/xml-backend.c (resolve_address): Create the XML root
2238        directory if necessary.
2239
22401999-11-29  Havoc Pennington  <hp@pobox.com>
2241
2242        * wrappers/gtk/gconf-client.c (gconf_client_get): sheesh, this
2243        stupid function didn't work at all. fix it
2244        (get): properly check whther val is NULL before copying it.
2245
2246        * gconf/gconf-internals.c (gconf_set_daemon_mode): Function to set
2247        daemon mode, for now changes gconf_log behavior
2248        (gconf_log): handle daemon vs. non-daemon mode, and with syslog do
2249        syslog(pri, "%s", msg) instead of syslog(pri, msg) to avoid
2250        unwanted printf magic. 
2251        (gconf_value_from_corba_value): more robust for list types, add an assertion
2252
2253        * gconf/gconfd.c (gconfd_set): return if the conversion from
2254        GConfValue doesn't fly
2255
2256        * gconf/gconf-value.c (gconf_value_new): add a check for valid type
2257
2258        * gconf/gconf-value.h (GCONF_VALUE_TYPE_VALID): Add macro to check the
2259        a value type is valid
2260
2261        * gconf/gconf-changeset.c (change_set): return if the value being
2262        set is the same as the existing value.
2263
2264        * examples/Makefile.am (EFENCE): add EFENCE var
2265
2266        * wrappers/gtk/gconf-client.c (gconf_client_commit_change_set):
2267        add checks
2268
2269        * gconf/gconf-changeset.c (gconf_commit_change_set): add checks
2270
2271        * gconf/gconf-listeners.c (gconf_listeners_remove): Robust against
2272        bad notify_id
2273
2274        * gconf/gconf-changeset.c (gconf_create_change_set_from_current):
2275        New function to create a change set which will restore the current
2276        values of a list of keys.
2277        (gconf_create_change_set_from_currentv): Vector version of the
2278        same function.
2279        (gconf_change_set_check_value): new function to check for and get
2280        the value of a key in a change set.
2281
2282        * wrappers/gtk/gconf-client.h: Add client analogues for the above
2283        two set-creation functions.
2284       
22851999-11-28  Havoc Pennington  <hp@pobox.com>
2286
2287        * gconf.m4: add the "" around the $4, seems to work - the problem
2288        here seems to have something to do with aclocal or autoconf
2289        doing the wrong thing, rather than a shell issue. I don't
2290        understand it yet.
2291
22921999-11-23  Havoc Pennington  <hp@pobox.com>
2293
2294        * backends/xml-backend.c (query_value): Don't return errors here;
2295        this is somewhat wrong, we actually need to discriminate between
2296        errors and report the "abnormal" ones, but for now I think all of
2297        them are ignorable.
2298
2299        * gconf/gconf-internals.c (gconf_log): If the log string contains
2300        a % escape it with another percent so we don't get printf()
2301        effects (was causing a segfault) - however it's still broken if
2302        unintentional percents exist in the initial format string. Will
2303        fix later by adding a "printf()-formatting" arg I think
2304
2305        * wrappers/gtk/gconf-client.c (gconf_client_commit_change_set):
2306        put some casts in to chill warnings
2307
2308        * gconf/gconf-changeset.c (gconf_change_set_size): new function
2309
2310        * wrappers/gtk/gconf-client.c (gconf_client_destroy): Destroy the
2311        directory list.
2312
2313        * Makefile.am (SUBDIRS): add "examples" directory
2314
2315        * examples/Makefile.am, examples/basic-gconf-app.c: Examples;
2316        write nice example program.
2317       
2318        * gconf/gconfd.c (notify_listeners_cb): error message improvement
2319        (set_default_context): Set the "context" field of the default
2320        context, I don't get how that was working before.       
2321
23221999-11-23  Havoc Pennington  <hp@pobox.com>
2323
2324        * wrappers/gtk/testgconfclient.c: remove GNOME dependency
2325
2326        * configure.in: don't build gconf-editor makefile.
2327
2328        * Makefile.am (SUBDIRS): never build gconf-editor, it will have to
2329        go in a separate module (somewhat inconveniently, since I'll
2330        probably end up installing gconf-internals.h for its use, blah)
2331
2332        * configure.in (GCONF_AGE): Check for plain GTK not GNOME
2333
2334        * wrappers/Makefile.am (SUBDIRS): change GNOME conditional to GTK
2335
23361999-11-23  Havoc Pennington  <hp@pobox.com>
2337
2338        * gconf/Makefile.am (libgconf_la_LDFLAGS): split off LIBADD
2339
2340        * wrappers/gtk/Makefile.am (libgconf_gtk_la_LIBADD): set shared
2341        lib version
2342        (libgconf_gtk_la_LDFLAGS): split LIBADD and LDFLAGS maybe properly.
2343
2344        * configure.in: remove gnorba cflags/libs
2345
2346        * gconf/Makefile.am (install-data-local): Create the
2347        $(sysconfdir)/gconf directory.
2348
2349        * wrappers/Makefile.am: For now, always disable Guile wrapper
2350        build.
2351
23521999-11-22  Havoc Pennington  <hp@pobox.com>
2353
2354        * backends/xml-backend.c (resolve_address): Check whether the XML
2355        directory is readable/writeable and report an error if neither;
2356        set readable/writeable flags properly.
2357
2358        * gconf/gconfd.c (gconf_server_load_sources): log decision to use
2359        default config source
2360
23611999-11-22  Havoc Pennington  <hp@pobox.com>
2362
2363        * gconf/gconfd.c (gconf_server_load_sources): Fall back to
2364        xml:~/.gconf if no config file is found
2365
23661999-11-22  Havoc Pennington  <hp@pobox.com>
2367
2368        * gconf/default.path: default configuration file
2369       
2370        * gconf/Makefile.am (install-data-local): Install default.path to
2371        sysconfdir/gconf/path (theoretically)
2372
23731999-11-22  Havoc Pennington  <hp@pobox.com>
2374
2375        * gconf/gconfd.c (gconf_set_exception): lots of assertions
2376        (gconf_server_load_sources): Install the default context even if
2377        we don't find any configuration sources in the path
2378
2379        * gconf/gconf.c (gconf_get_config_server): always return an error
2380        if the server isn't available. This is still not doing the right
2381        thing; for shutdown and ping we need to be able to get the object
2382        if and only if it already exists. This feature is also needed for
2383        something like magicdev-patched gtcd.
2384
2385        * gconf/gconfd.c (gconf_server_load_sources): #ifdef the
2386        debug-only search for debugging path file.
2387
23881999-11-19  Havoc Pennington  <hp@pobox.com>
2389
2390        * gconf/gconfd.c (gconf_server_load_sources): Give actual
2391        sysconfdir in the error message, not just /etc;
2392        include liboaf.h
2393
2394        * gconf/gconf.c: include liboaf.h
2395        (gconf_postinit): fix a bunch of missing semicolons
2396
23971999-11-20  Havoc Pennington  <hp@pobox.com>
2398
2399        * wrappers/gtk/gconf-client.c
2400        (gconf_client_create_reverse_change_set): new function
2401        (gconf_client_commit_change_set): new function
2402
24031999-11-20  Havoc Pennington  <hp@pobox.com>
2404
2405        * gconf/gconf-changeset.c (gconf_create_reverse_change_set): New
2406        function creates a change set which will revert another change set
2407        on commit.
2408
24091999-11-19  Havoc Pennington  <hp@pobox.com>
2410
2411        * gconf/gconfd.c (gconf_server_load_sources): Give actual
2412        sysconfdir in the error message, not just /etc;
2413        include liboaf.h
2414
2415        * gconf/gconf.c: include liboaf.h
2416        (gconf_postinit): fix a bunch of missing semicolons
2417
24181999-11-19  Havoc Pennington  <hp@pobox.com>
2419
2420        * gconf/gconf.c (gconf_server_broken): don't need to set the
2421        server to NIL here, it gets set in gconf_detach_config_server()
2422
2423        * doc/gconf/gconf-sections.txt: Add preinit, postinit
2424
2425        * doc/gconf/gconf.sgml: Remove gconf-orbit entity
2426
2427        * doc/gconf/gconf-sections.txt: Remove gconf-orbit stuff
2428
2429        * tests/*.c: Fix to not include gconf-orbit.h, call gconf_init()
2430        properly
2431       
2432        * gconf-editor/gconf-editor.c: don't include gconf-orbit.h
2433
2434        * wrappers/gtk/testgconfclient.c (main): remove "orb" variable
2435
2436        * gconf/gconftool.c: don't include gconf-orbit.h
2437
2438        * gconf/gconfd.c: don't include gconf-orbit.h
2439
2440        * gconf/gconf.c: don't include gconf-orbit.h
2441
2442        * gconf/gconf.h: don't include gconf-orbit.h
2443
2444        * gconf/Makefile.am (gconfinclude_HEADERS): remove gconf-orbit.h
2445        (libgconf_la_SOURCES): remove gconf-orbit.c
2446
2447        * gconf/gconfd.c (main): fix error message if oaf_init() returns FALSE
2448
2449        * gconf/gconf.c (try_to_contact_server): Use the IID macro
2450        (gconf_postinit): Change all the error checks to assertions; if
2451        these errors can really happen they need to be reported as before
2452        (not sure how to do this with the pre/post init setup), if they
2453        can't happen then they should be asserted, not error-checked.
2454
2455        * gconf/gconfd.c (fast_cleanup): Unregister with OAF in order to
2456        clean up.
2457
2458        * gconf/Makefile.am: add -DIID to INCLUDES
2459
2460        * gconf/gconfd.c (main): Use a macro for the IID
2461
2462        * gconf/gconf-internals.c: Remove gconf_read_server_ior(),
2463        gconf_info_dir(), gconf_info_file(), etc. since we use OAF instead.
2464
2465        * gconf/gconfd.c (main): Remove "nodaemon" flag since we don't run
2466        as a daemon anymore.
2467        (main): After oaf_init(), don't try to use "err" since oaf_init()
2468        won't set it.
2469
2470        * gconf/gconf-orbit.h, gconf/gconf-orbit.c: Delete these, we
2471        are using OAF now.
2472       
2473        * gconf/gconf.c (gconf_get_config_server): Change this to only
2474        call try_to_contact_server() if start_if_not_found is TRUE,
2475        since with OAF any attempt to contact the server will
2476        automatically restart it. Now we keep the server variable
2477        up-to-date locally (set it to NULL on any system exception).
2478
24791999-11-19  Elliot Lee  <sopwith@redhat.com>
2480
2481        * Make it all use OAF, and redo the initialization routine(s) to
2482        fit better into the GnomeModuleInfo system.
2483
24841999-11-18  Elliot Lee  <sopwith@redhat.com>
2485
2486        * gconf.m4: AM_PATH_GCONF macro.
2487       
2488        * wrappers/gtk/Makefile.am, autogen.sh, backends/Makefile.am: Work with builddir != srcdir
2489
2490        * Makefile.am: Distribute gconf.m4 & gconf-config.in, install gconf.m4
2491
24921999-11-18  Havoc Pennington  <hp@pobox.com>
2493
2494        * gconf/gconfd.c (gconf_server_load_sources): fix the message
2495        about writeable sources
2496
24971999-11-18  Havoc Pennington  <hp@pobox.com>
2498
2499        * backends/xml-backend.c (find_schema_subnode_by_locale): Check
2500        that locale && this_locale before strcmp()'ing them
2501        (entry_unset): take a NULL locale in unset to mean "unset all locales"
2502
2503        * tests/testschemas.c (check_one_schema): fix the locale-related tests
2504
2505        * gconf/gconf.c (gconf_set_schema): remove debug spew
2506
2507        * gconf/gconf-internals.c (gconf_schema_from_corba_schema): parse
2508        the encoded default value
2509        (fill_corba_schema_from_gconf_schema): encode the default value to
2510        ship to the server.
2511
2512        * gconf/GConf.idl: Add encoded default value string to
2513        ConfigSchema struct
2514
2515        * gconf/gconf-internals.c (gconf_value_decode): implement
2516        (gconf_value_encode): implement
2517
2518        * gconf/gconf-value.c (gconf_value_to_string): Use
2519        g_strdup_printf() to create int/float strings, rather than
2520        guessing at the needed string size.
2521
25221999-11-17  Havoc Pennington  <hp@pobox.com>
2523
2524        * tests/testencode.c: new test for string quoting
2525
2526        * gconf/gconf-internals.c (gconf_unquote_string_inplace): new
2527        function unquotes a string
2528        (gconf_quote_string): quotes a string
2529        (gconf_unquote_string): unquotes a const string
2530
25311999-11-16  Havoc Pennington  <hp@pobox.com>
2532
2533        * gconf/gconf-schema.c (gconf_schema_copy): copy locale, and
2534        handle NULL fields. Sheesh this was broken.
2535        (gconf_schema_destroy): destroy default value and locale
2536
25371999-11-16  Havoc Pennington  <hp@pobox.com>
2538
2539        * gconf/gconf-value.c (gconf_value_to_string): print more info
2540        about schemas
2541
2542        * backends/xml-backend.c (xentry_set_schema_value): Set the schema
2543        type on the toplevel node, not the localized node.
2544        (xentry_set_schema_value): Set the owner on the toplevel node
2545        (schema_node_extract_value): Do better at falling back to any
2546        schema if the locale we want isn't found.
2547        (my_xmlSetProp): Replace xmlSetProp with this, deletes the prop
2548        if setting to NULL or ""
2549        (my_xmlGetProp): Replace xmlGetProp with this, returns NULL if the
2550        prop has an empty value.
2551
2552        * gconf/gconf-internals.c (gconf_value_type_to_string): Add case
2553        for GCONF_VALUE_INVALID
2554
2555        * backends/xml-backend.c (entry_unset): refill cached_value if
2556        other locale values still exist. Also, mark the Entry dirty.
2557        (entry_value): add a sync_if_needed here
2558        (entry_sync_if_needed): just always sync if it's a schema; this
2559        code is so broken we may as well not try to be clever. 
2560
25611999-11-15  Havoc Pennington  <hp@pobox.com>
2562
2563        * backends/xml-backend.c (entry_fill): handle locale by syncing
2564        cached value if necessary
2565       
2566        * wrappers/gtk/gconf-client.c (gconf_client_get_string):
2567        g_strdup() the retval if necessary
2568        (gconf_client_get_pair): fix one of the checks
2569
2570        * backends/xml-backend.c (xentry_extract_value): use "C" locale if
2571        none is given.
2572
2573        * gconf/gconftool.c (do_load_schema_file): check type of nodes
2574        (process_key_list): check node type
2575        (process_schema): check node type
2576        (process_locale_info): check node type
2577        (extract_global_info): check node type
2578
2579        * backends/xml-backend.c (entry_unset): deal with locales
2580        (entry_set): deal with locales
2581        (entry_value): locales
2582        (schema_node_extract_value): handle locales
2583
2584        * gconf/gconf-internals.c (gconf_log): move the check for debug
2585        messages to the top of the function, before g_strdup_vprintf(),
2586        and if GCONF_ENABLE_DEBUG isn't defined return immediately (ignore
2587        the GCL_DEBUG messages).
2588
25891999-11-15  Havoc Pennington  <hp@pobox.com>
2590
2591        * doc/gconf/tmpl/gconf-client.sgml: write GConfClient docs.
2592
2593        * wrappers/gtk/gconf-client.c (gconf_client_new_with_engine):
2594        change this to increment the #GConfEngine reference count.
2595
2596        * doc/gconf/gconf.sgml: Add GConfClient entity
2597
2598        * doc/gconf/gconf-sections.txt: Add GConfClient stuff, add
2599        set_list and set_pair for GConfChangeSet
2600
2601        * doc/gconf/gconf.types: New file gtk-doc requires
2602
2603        * doc/gconf/Makefile.am (scan): Scan GConfClient as well.
2604        Uses a bad, probably nonportable hack, but this stuff isn't
2605        built by default anyway.
2606
2607        * wrappers/Makefile.am: Build GConfClient if we have GNOME
2608
26091999-11-15  Havoc Pennington  <hp@pobox.com>
2610
2611        * gconf/gconf.c (gconf_get): Fix it to use the current
2612        locale as documented.
2613
2614        * gconf/gconf-internals.c
2615        (gconf_value_list_to_primitive_list_destructive): new function
2616        takes most code from gconf_get_list()
2617        (gconf_value_pair_to_primitive_pair_destructive): new function
2618
2619        * wrappers/gtk/gconf-client.c (get): Return a copy of the cached
2620        value, should save us some segfaults.
2621        (gconf_client_get_list): new function
2622        (gconf_client_get_pair): new function
2623        (gconf_client_set_list): new function
2624        (gconf_client_set_pair): new function
2625
2626        * gconf/gconf-internals.c (gconf_value_pair_from_primitive_pair):
2627        new function removes guts of gconf_set_pair()
2628
2629        * gconf/gconf.c (gconf_set_list): change to use
2630        gconf_value_list_from_primitive_list()
2631
2632        * gconf/gconf-changeset.c (gconf_change_set_set_list): new
2633        convenience function
2634        (gconf_change_set_set_pair): new function
2635
2636        * gconf/gconf-internals.c (gconf_value_list_from_primitive_list):
2637        new function, takes most of the code from gconf_set_list() to
2638        share with other list-set wrappers
2639
26401999-11-14  Havoc Pennington  <hp@pobox.com>
2641
2642        * backends/xml-backend.c (listify_foreach):  s/gconf_entry_new/gconf_entry_new_nocopy/
2643
2644        * gconf/gconf.c (gconf_all_entries):  s/gconf_entry_new/gconf_entry_new_nocopy/
2645
2646        * gconf/doc/*: tons of documentation updates.
2647       
2648        * gconf/gconf-changeset.c: Add an "in_foreach" flag and warn if
2649        you do bad things during a foreach operation.
2650        (gconf_change_set_remove): check that we aren't in a foreach
2651        (gconf_change_set_unref): if refcount == 0 check that we aren't in
2652        a foreach
2653
2654        * gconf/gconf-changeset.h: try to spell "committed" right.
2655
2656        * gconf/gconf-value.h (gconf_entry_value): add accessor macros
2657        to GConfEntry.
2658
2659        * gconf/gconf-value.c (gconf_entry_new_nocopy): Rename
2660        gconf_entry_new() to gconf_entry_new_nocopy() to reflect its
2661        actual behavior.
2662
26631999-11-13  Havoc Pennington  <hp@pobox.com>
2664
2665        * gconf/gconf-internals.h: move the value-from-string constructors
2666        here
2667
2668        * gconf/gconf-value.h: moved from here
2669
26701999-11-13  Havoc Pennington  <hp@pobox.com>
2671
2672        * gconf/gconf-value.h (gconf_meta_info_schema): Add const cast to
2673        this macro.
2674
2675        * gconf/gconf.c (gconf_set_list): allow list of schemas
2676        (from_primitive): handle schemas
2677        (primitive_value): handle schemas
2678        (gconf_get_list): handle schemas
2679
2680        * doc/gconf/tmpl/gconf-value.sgml: docs!
2681
2682        * doc/gconf/tmpl/gconf.sgml: docs!
2683
2684        * doc/gconf/gconf-sections.txt: add set/get list/pair
2685
2686        * gconf/gconf.c (gconf_set_list): Fix dumb bug (assign back to the
2687        original list!)
2688
26891999-11-13  Havoc Pennington  <hp@pobox.com>
2690
2691        * tests/testgconf.c (check_list_storage): Use the new list
2692        convenience wrappers, to be sure they are tested. (the test
2693        reveals that right now they don't work ;-)
2694
2695        * gconf/gconf.c (error_checked_set): destroy the error if it isn't
2696        passed out to the user, to avoid a mem leak
2697        (gconf_set_float): checks
2698        (gconf_set_int): checks
2699        (gconf_set_string): checks
2700        (gconf_set_bool): checks
2701        (gconf_set_bool): canonicalize the boolean value with !!
2702        (gconf_set_schema): checks
2703
2704        * gconf/gconf-value.h (gconf_value_string): add const cast to this
2705        macro
2706
2707        * gconf/gconf.c (gconf_get_schema): add checks
2708        (gconf_get_bool): checks
2709        (gconf_get_string): checks
2710        (gconf_get_int): checks
2711        (gconf_get_float): checks
2712        (gconf_get_with_locale): checks
2713        (gconf_set): more checks
2714        (gconf_unset): checks
2715        (gconf_associate_schema): checks
2716        (gconf_all_dirs): checks
2717        (gconf_dir_exists): checks
2718        (gconf_get_list): New function, gets a list of native types
2719        and avoids GConfValue.
2720        (gconf_get_pair): New function, gets a pair of native types
2721        (gconf_set_list): New function, sets a list of native types
2722        (gconf_set_pair): New function, sets a pair of native types
2723       
27241999-11-12  Havoc Pennington  <hp@pobox.com>
2725
2726        * doc/gconf/gconf.sgml: Set up the gtk-doc system. Added all the
2727        files for that.
2728
27291999-11-12  Havoc Pennington  <hp@pobox.com>
2730
2731        * backends/xml-backend.c: Change all comments starting with /** to
2732        not start with that (for gtkdoc)
2733
27341999-11-12  Havoc Pennington  <hp@pobox.com>
2735
2736        * gconf/gconftool.c (main): Add the ability to specify a
2737        configuration source other than the default configuration source
2738        stack.
2739        Add the ability to install a schema file.
2740
2741        * gconf/Makefile.am (INCLUDES): add XML_CFLAGS
2742        (gconftool_LDADD): add XML_LIBS
2743
2744        * backends/Makefile.am (INCLUDES): add XML_CFLAGS
2745
27461999-11-11  Havoc Pennington  <hp@pobox.com>
2747
2748        * tests/testchangeset.c: test for the changeset stuff
2749       
2750        * gconf/gconf.c (gconf_set): add check that string values don't
2751        contain a NULL string   
2752
2753        * gconf/gconf-changeset.c (gconf_change_set_unset): fix typo
2754
2755        * doc/gconf.sgml: tweaks
2756       
2757        * gconf/gconf-changeset.c, gconf/gconf-changeset.h: ChangeSet data
2758        structure stores a bunch of changes to be committed in a block.
2759        For now the gconf_commit_change_set() function is really naive
2760        (iterates over the change set and sets each value)
2761
2762        * backends/xml-backend.c: Throughout, use accessor functions to
2763        access the "value" field in the cache entries; we're going to
2764        have to update the value field to match the proper locale
2765        before supplying it via the entry_value() accessor.
2766
27671999-11-11  Havoc Pennington  <hp@pobox.com>
2768
2769        * tests/runtests.sh: Enhance to detect missing tests.
2770
2771        * gconf/gconf-internals.c (gconf_log): don't log DEBUG level stuff
2772        if built without GCONF_ENABLE_DEBUG
2773
2774        * backends/xml-backend.c (safe_g_hash_table_insert): Same, use
2775        GCONF_ENABLE_DEBUG
2776        Add locales stuff throughout this file, but do nothing with it for
2777        now.
2778
2779        * gconf/gconfd.c (safe_g_hash_table_insert): Make this dependent
2780        on GCONF_ENABLE_DEBUG setting.
2781
2782        * gconf/gconf-sources.c (gconf_sources_query_value): fix locale
2783        (gconf_sources_unset_value): locale
2784        (gconf_sources_all_entries): locales
2785
2786        * gconf/gconfd.c (context_query_value): Use locale list
2787        (context_unset): locale argument
2788        (context_all_entries): locale argument
2789        (gconfd_unset_with_locale): locale
2790
2791        * gconf/gconf-sources.c (gconf_source_query_value): Pass an array
2792        of locales to look for
2793        (gconf_source_all_entries): ditto
2794        (gconf_source_unset_value): pass locale to unset
2795
2796        * gconf/gconf-backend.h: Add locale args to the backend functions
2797        that need it
2798
2799        * gconf/gconf-internals.c (gconf_current_locale): Use setlocale()
2800        again, not guess_category_value from gnome-i18n
2801
28021999-11-10  Havoc Pennington  <hp@pobox.com>
2803
2804        * gconf/Makefile.am (gconfd_SOURCES): Move the locale stuff here;
2805        decided not to use it in backends, so it can be in gconfd not the
2806        library.
2807
2808        * gconf/gconfd.c (one_hour_timeout): Expire old locale cache stuff
2809        (locale_cache_lookup): New function to look stuff up in the locale
2810        cache.
2811        (main): free the locale cache on exit
2812
28131999-11-10  Havoc Pennington  <hp@pobox.com>
2814
2815        * backends/xml-backend.c (free_childs): function to free children
2816        of a node.
2817        (xentry_set_value): free_childs() in a couple places we weren't
2818
2819        * tests/testschemas.c: Add new schema test to check for storing a
2820        blank schema
2821
2822        * gconf/gconf-locale.c, gconf/gconf-locale.h: New module, creates
2823        and caches the list of locales to search for given an environment
2824        variable value
2825
2826        * gconf/gconf-internals.c (gconf_current_locale): We want
2827        LC_MESSAGES not LC_ALL
2828
28291999-11-07  Havoc Pennington  <hp@pobox.com>
2830
2831        * gconf/gconf.c (reinstall_listeners_for_all_engines): Function to
2832        iterate over all engines and do the context
2833        reinstallation. However, it's not used yet because we also need
2834        to regenerate the context IDs.
2835
2836        * gconf/gconfd.c: Add a ConfigServer_Context field to GConfContext
2837        (register_context): fill in the ConfigServer_Context field
2838        (context_new): init context field to invalid context
2839
2840        * gconf/gconf.c (register_engine): Keep a hash from context ID's
2841        to GConfEngine, because we no longer have the global connection
2842        table (that table was broken anyway).
2843        (gconf_engine_blank): new function shared by the GConfEngine
2844        constructors (contains previous contents of gconf_engine_new,
2845        separate function required by registration stuff)
2846        (gconf_engine_new): Create blank engine, then register it
2847        (gconf_engine_new_from_address): register the engine
2848        (gconf_engine_unref): unregister the engine
2849
2850        * gconf/GConf.idl: Add a context ID to the argument
2851        list of the notification.
2852
2853        * gconf/gconf.c (gconf_server_broken): New predicate, asks if an
2854        exception is set indicating that our server is hosed.
2855        (gconf_detach_config_server): Function to release the server
2856        object reference and set it to nil
2857        (gconf_engine_new_from_address): Detach server and retry if
2858        appropriate.
2859        (gconf_notify_add): Detach and respawn if needed
2860        (gconf_notify_remove): ditto
2861        (gconf_set): ditto
2862        (gconf_associate_schema): ditto
2863        (gconf_unset): ditto
2864        (gconf_all_entries): ditto
2865        (gconf_all_dirs): ditto
2866        (gconf_suggest_sync): ditto
2867        (gconf_notify_add): remove debugging spew
2868        (gconf_cnxn_new): Add namespace_section to GConfCnxn struct
2869        (gconf_cnxn_destroy): free namespace_section
2870        (GConfEnginePrivate): Put the connection table in here, it is
2871        per-context (and thus per-GConfEngine), should not be global.
2872        (gconf_init): don't create CnxnTable here, create it for each engine.
2873        (gconf_engine_new_from_address): remove redundant refcount
2874        initialization
2875        (gconf_engine_unref): Destroy CnxnTable, and free the engine
2876        struct itself.
2877        (notify): remove debug spew, reflect new signature of notify function
2878
28791999-11-07  Havoc Pennington  <hp@pobox.com>
2880
2881        * gconf/gconf-internals.c: #include <locale.h>, oops
2882
28831999-11-07  Havoc Pennington  <hp@pobox.com>
2884
2885        * tests/testschemas.c (check_schema_storage): Properly consider
2886        that schema fields can be NULL
2887
2888        * backends/xml-backend.c (entry_value): Properly consider that
2889        a schema can have a NULL locale
2890
2891        * gconf/gconf.c (gconf_get_with_locale): New function
2892        (gconf_get): just calls get_with_locale() with a NULL locale
2893        (gconf_get_schema): Use get_with_locale()
2894
2895        * gconf/gconf-internals.c (gconf_current_locale): So I don't have
2896        to think about setlocale()
2897
2898        * tests/testschemas.c: New test program for schema stuff
2899       
29001999-11-06  Havoc Pennington  <hp@pobox.com>
2901
2902        * gconf/gconf.c (gconf_associate_schema): Add function to associate
2903        a schema name with a key.
2904
29051999-10-28  Havoc Pennington  <hp@pobox.com>
2906
2907        * backends/xml-backend.c (query_value): Add locale
2908        (dir_get_value): add locale
2909        (entry_value): new function gets the value from an entry,
2910        looking up a new value by locale if necessary.
2911
2912        (xentry_extract_value): locale argument added, but needs to
2913        be implemented.
2914
2915        * gconf/gconf-backend.h: Add locale to query_value in vtable
2916
2917        * gconf/gconf-sources.c (gconf_source_query_value): Add locale
2918        (gconf_sources_query_value): Add locale
2919
2920        * gconf/gconfd.c (gconfd_lookup_with_locale): Implement new
2921        IDL method
2922        (context_query_value): Add locale
2923
2924        * gconf/GConf.idl: Add lookup_with_locale() method
2925
2926        * gconf/gconf-internals.c (fill_corba_schema_from_gconf_schema):
2927        Handle case where some schema fields are NULL, handle locale field.
2928        (gconf_schema_from_corba_schema): Handle locale field.
2929
2930        * gconf/gconf-schema.c (gconf_schema_set_locale): New function
2931
2932        * gconf/gconftool.c: Clean up so it is easier to deal with
2933
29341999-10-28  Havoc Pennington  <hp@pobox.com>
2935
2936        * gconf/gconfd.c: Rework the sync code; now, any change queues a
2937        sync in 1 minute. If a client calls suggest_sync(), we sync in an
2938        idle (as soon as the event loop quiets down). Also, we now sync
2939        on shutdown.
2940
2941        * tests/testgconf.c: Fix to compile
2942
2943        * tests/Makefile.am (testgconf_LDADD): Fix Makefile.am to use new
2944        library name
2945
29461999-10-27  Havoc Pennington  <hp@pobox.com>
2947
2948        * configure.in: Add --enable-debug option to G_DISABLE_CHECKS as needed
2949
2950        * gconf/wrappers/gtk/testgconfclient.c: Test program for the GTK+
2951        client wrapper.
2952       
2953        * gconf/gconf-sources.c (gconf_sources_query_value):
2954        Wasn't handling errors; now we report errors. The bad thing is,
2955        it might be better to go ahead and do our best despite the error.
2956
2957        * gconf/gconf.c (gconf_init): Actually set the have_initted variable.   
2958
2959        * wrappers/gtk/Makefile.am (libgconf_gtk_la_LIBADD): Don't try to
2960        link with libgconf;
2961        Add testgconfclient target.
2962
2963        * wrappers/gtk/gconf-client.h, wrappers/gtk/gconf-client.c: Make
2964        it compile
2965       
2966        * configure.in: Generate Makefile for GtkObject wrapper
2967
29681999-10-27  Havoc Pennington  <hp@pobox.com>
2969
2970        * gconf-editor/Makefile.am (gconf_editor_LDADD):
2971        link to libgconf.la
2972
2973        * gconf/Makefile.am: Renamed the shared lib to libgconf instead of
2974        libgconf-client.
2975       
2976        * wrappers/gtk/Makefile.am: Renamed gconf-gtk.[hc] to
2977        gconf-client.[hc] via CVS surgery, then updated Makefile.
2978
29791999-10-21  Havoc Pennington  <hp@pobox.com>
2980
2981        * gconf/gconf.c (gconf_key_is_below): New function, tells you if a
2982        key is below another key in the directory hierarchy.
2983
29841999-10-20  Havoc Pennington  <hp@pobox.com>
2985
2986        * gconf/gconfd.c, gconf/gconf-sources.c: Finish stuff from the
2987        17th (use GConfError throughout, etc.)
2988
2989        * gconf/gconfd-error.h, gconf/gconfd-error.c: Remove the broken
2990        old error stuff, even gconfd no longer uses it.
2991       
29921999-10-17  Havoc Pennington  <hp@pobox.com>
2993
2994        * gconf/gconf-sources.c: Use GConfError** throughout, make the
2995        _source_ functions static
2996        (gconf_sources_query_value): Use the new flags and readable
2997        function
2998        (gconf_sources_set_value): use the new flags and writeable
2999        function
3000
3001        * gconf/gconf-error.c (gconf_error_copy): new function
3002        (gconf_compose_errors): new function
3003
3004        * backends/xml-backend.c: Throughout, use a GConfError** argument
3005        instead of the global errno thing
3006       
3007        * gconf/gconf-error.c (gconf_set_error): New function properly
3008        handles a GConfError** by setting error or ignoring if NULL,
3009        also warns if you "stack" two errors on top of each other.
3010        (gconf_clear_error): New function clears a GConfError**
3011
3012        * gconf/gconfd.c: don't include gconfd-error.h
3013
3014        * backends/xml-backend.c: Remove inclusion of gconfd-error.h
3015
3016        * gconf/gconf-backend.h: Add lock/unlock and readable/writeable
3017        functions to the backend vtable, and add error arguments to
3018        all functions in the vtable.
3019
3020        * gconf/gconfd.c (safe_g_hash_table_insert): priority GCL_WARNING
3021
3022        * backends/xml-backend.c (safe_g_hash_table_insert): make
3023        it priority GCL_WARNING.
3024
3025        * gconf/gconf-sources.h: GCONF_SOURCE_ALL_WRITEABLE,
3026        GCONF_SOURCE_ALL_READABLE flags to short-circuit calls to the new
3027        writeable/readable vtable functions.
3028
30291999-10-17  Havoc Pennington  <hp@pobox.com>
3030
3031        * gconf/gconf-orbit.h: Include orb/orbit.h instead of GConf.h
3032
30331999-10-17  Havoc Pennington  <hp@pobox.com>
3034
3035        * backends/xml-backend.c: Use %gconf.xml instead of .gconf.xml
3036        for the magic files.
3037
30381999-10-17  Havoc Pennington  <hp@pobox.com>
3039
3040        * tests/runtests.sh: Make this script work
3041
3042        * gconf/gconftool.c: Don't use -s for --spawn, since it's used for
3043        --set.
3044
3045        * gconf/gconf.c (gconf_get_config_server): Clear the error
3046        from the initial ping if we're asked to start the server.
3047        (gconf_engine_unref): No error spew if server is down when
3048        the engine is destroyed.
3049
3050        Throughout: Make sure error is set but don't require a
3051        specific error type
3052
3053        * gconf/gconf-internals.c (gconf_read_server_ior): Set error
3054        if the server info file doesn't exist
3055
3056        * gconf/gconf.c (try_to_contact_server): Add a check for setting
3057        the error properly
3058
3059        * gconf/gconftool.c (main): Switch to gconf_suggest_sync()
3060        instead of gconf_sync()
3061
3062        * gconf/gconfd.c: Add a GConfContext::sync_idle field, to
3063        store the source ID of an idle function that performs a sync.
3064        (context_destroy): Remove the sync idle
3065        (context_hibernate): Check that sync idle is 0
3066        (context_sync): Add the sync idle if it doesn't exist
3067
3068        * gconf/gconf.c (gconf_suggest_sync): gconf_sync() renamed to
3069        gconf_suggest_sync(), because a sync is for all clients;
3070        suggest_sync() means "I just finished a large block of operations,
3071        so I'm suggesting that it would be efficient and data-preserving
3072        to schedule a sync in the near future." gconf_sync() didn't
3073        make much sense because it was global, not per-client.
3074       
30751999-10-17  Havoc Pennington  <hp@pobox.com>
3076
3077        * For all files, s/G_CONF/GCONF
3078
30791999-10-12  Havoc Pennington  <hp@pobox.com>
3080
3081        * gconf/gconfd.c: Use GConfListeners to handle listener
3082        registration and notification
3083
30841999-10-12  Havoc Pennington  <hp@pobox.com>
3085       
3086        * gconf/gconf-listeners.c (ltable_insert): Was failing to init
3087        the node in the flat array of nodes if the listener location
3088        was NULL.
3089        (gconf_listeners_count): new function reports number of listeners
3090        (ltable_new): init next_cnxn to 1 instead of 0
3091        (ltable_remove): Do a better job of cleaning up dead
3092        tree nodes (go up looking for empty parent nodes)
3093        (ltable_destroy): type error, was calling listener_destroy()
3094        on the GNodes. Oops. fixed, now use g_node_traverse() to
3095        destroy the node contents.
3096        (ltable_new): don't create the root node until it's needed
3097        (ltable_insert): add root node here if needed
3098        (ltable_remove): zero lt->tree if we destroy it
3099       
3100        * tests/testlisteners.c: New test program for GConfListeners,
3101        fairly comprehensive
3102
3103        * tests/Makefile.am: add testlisteners, put EFENCE at the end of
3104        the link line
3105
31061999-10-12  Havoc Pennington  <hp@pobox.com>
3107
3108        * gconf/Makefile.am: Fixes - remove some public headers from
3109        libgconf_client_SOURCES, look for GConf.idl in $(srcdir) (bug from
3110        Wichert Akkerman)
3111
3112        * gconf/gconf-listeners.h, gconf/gconf-listeners.c: New files,
3113        compile but are not tested. Moves listener tree interface into
3114        a public header to re-use in GTK+ wrapper.
3115
31161999-10-11  Havoc Pennington  <hp@pobox.com>
3117
3118        * For all files, s/g_conf/gconf
3119
31201999-10-05  Havoc Pennington  <hp@pobox.com>
3121
3122        * tests/testgconf.c (check_list_storage): Add checks for empty
3123        lists, and all the various list types.
3124
3125        * gconf/gconf-value.c (g_conf_value_to_string): Fix a segfault
3126        (not always allocating a large enough buffer)
3127
31281999-10-05  Havoc Pennington  <hp@pobox.com>
3129
3130        * configure.in: 0.3, bump soname
3131
31321999-10-04  Havoc Pennington  <hp@pobox.com>
3133
3134        * tests/testgconf.c (main): Add checks for getting/setting lists,
3135        bools, floats, and ints
3136
3137        * gconf/gconf-internals.c (fill_corba_value_from_g_conf_value): We
3138        have to set the release flag on a sequence inside a union, since
3139        the sequence isn't default initialized as it normally would be.
3140        Plugs a big memory leak (all sequence buffers).
3141
3142        * backends/xml-backend.c (dir_fill_cache_from_doc): Plug a leak
3143        where we set entry->name and then reset it in entry_fill()
3144        (entry_destroy): Free entry->mod_user
3145        (x_shutdown): Renamed shutdown() to x_shutdown() to avoid
3146        namespace clash with some libcs. Bug report from Bjorn Andersson
3147        <ban@lifix.fi>.
3148
3149        * gconf/gconf-internals.c (g_conf_log): Plug memory leak (not
3150        freeing log string)
3151
3152        * gconf/gconfd.c (gconfd_set): Plug memory leak (not freeing the GConfValue)
3153
3154        * tests/Makefile.am: Make testgconf noinst
3155
3156        * gconf/gconfd.c (main): check GCONFD_NO_DAEMON environment
3157        variable to run in no-daemon mode for debugging. Needless to say
3158        this does NOT work if you are trying to use gconf for real.
3159
3160        * gconf/gconf-internals.c (fill_corba_value_from_g_conf_value):
3161        Fill in the list type in the CORBA value
3162        (g_conf_value_from_corba_value): Fill in the list type in the
3163        GConfValue
3164
3165        * gconf/GConf.idl: Create ConfigList type to past the list type
3166        along with the sequence of values
3167
3168        * gconf/gconf-value.c (g_conf_value_set_list): New function, list
3169        setter that copies the list
3170
3171        * gconf/gconf.c (g_conf_unset, g_conf_set): return boolean to
3172        indicate success
3173
3174        * gconf/gconf-value.c (g_conf_value_new_from_string): Rewrite the
3175        bool string parser with switch, accept y/n as values.
3176
31771999-10-01  Havoc Pennington  <hp@pobox.com>
3178
3179        * gconf/gconf-sources.c (g_conf_sources_query_value): Check for
3180        errors when we query the default value from the schema.
3181
3182        * backends/xml-backend.c (entry_fill): If the schema key for a key is
3183        invalid, don't load it.
3184
31851999-09-30  Havoc Pennington  <hp@pobox.com>
3186
3187        * gconf/gconf-sources.c (g_conf_key_check_hack): Clear error
3188        before we check the key
3189
3190        * backends/xml-backend.c (dir_unset_value): Actually set the
3191        entry's value to NULL
3192        (entry_destroy): check whether Entry::value is NULL. Not sure
3193        why I didn't check; I think NULL is allowed, but if not
3194        we will have problems I guess.
3195
3196        * tests/testgconf.c: Easiest to just write the test suite in
3197        C. Tests set/get and unset for strings so far.
3198
31991999-09-29  Havoc Pennington  <hp@pobox.com>
3200
3201        * gconf/gconf.sgml: Update docs
3202
32031999-09-29  Havoc Pennington  <hp@pobox.com>
3204
3205        * gconf/gconf-conf.h: Replaced with gconf-engine.h
3206
3207        * gconf/Makefile.am: use gconf-engine.h
3208
3209        * gconf/gconf.c, gconf/gconf.h, gconf/gconftool.c,
3210        gconf-editor/app.c, wrappers/guile/scm-gconf.c:
3211        Use GConfEngine name instead of GConf
3212
32131999-09-29  Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>
3214
3215        * configure.in: added pt_BR to ALL_LINGUAS
3216
32171999-09-29  Havoc Pennington  <hp@pobox.com>
3218
3219        * backends/xml-backend.c: include gconfd-error.h and gconf.h,
3220        change error checking to new system as needed
3221
3222        * gconf/Makefile.am: Put more stuff in gconfd_SOURCES instead of
3223        client lib, add new files
3224
3225        * gconf/gconf-backend.h: include gconf-sources.h
3226
3227        * gconf/gconf-conf.h: add error arg to g_conf_new_from_address
3228
3229        * gconf/gconf-error.c: move strerror in here, fixups,
3230        preconditions
3231
3232        * gconf/gconf-internals.c, gconf/gconf-sources.c: move all sources
3233        stuff to new gconf-sources file
3234
3235        * gconf/gconf-orbit.c: Check for failure to get lock
3236
3237        * All the rest of this giant diff: Move to new error-handling
3238        scheme
3239       
32401999-09-26  Havoc Pennington  <hp@pobox.com>
3241
3242        * gconf/Makefile.am: add gconf-error.h, gconf-conf.h headers,
3243        gconf-value.c file
3244
3245        * gconf/gconf-error.h, gconf/gconf-conf.h, gconf/gconf-value.c:
3246        New files, just rearranging old files, no new code (well, there is
3247        a new GConfError object but it's unused)
3248
3249        * gconf/gconf-internals.c: Move the value, metainfo, and entry
3250        datatypes to gconf-value.c
3251
3252        * gconf/gconf.c, gconf/gconf.h: Remove appname argument from
3253        g_conf_init(), remove g_conf_global_appname() function.
3254
3255        * gconf/gconftool.c: don't pass appname to g_conf_init()
3256
3257        * gconf-editor/gconf-editor.c: Ditto
3258       
32591999-09-25  Kjartan Maraas  <kmaraas@online.no>
3260
3261        * configure.in: Added "da" to ALL_LINGUAS.
3262       
32631999-09-19  Havoc Pennington  <hp@pobox.com>
3264
3265        * NEWS, README: put something in here
3266
3267        * Makefile.am: conditionally include gconf-editor if we have
3268        GNOME
3269
3270        * autogen.sh: make it more like "macros" autogen.sh
3271       
3272        * configure.in: manually check for GNOME instead of using
3273        "macros"
3274       
3275        * macros, intl: remove these subdirs, autogen.sh now
3276        generates intl
3277
3278        * gconf/gconf.c: fix array size for strerror messages
3279
3280        * gconf-editor/Makefile.am: use new GNOME variables
3281
3282        * gconf-editor/gconf-editor.c: use new g_conf_init()
3283        signature
3284
3285        * gconf-editor/menus.h, gconf-editor/menus.c: These
3286        hadn't been added
3287       
32881999-09-19  Havoc Pennington  <hp@pobox.com>
3289
3290        * gconf/gconf.h: Add G_CONF_OVERRIDDEN error if you try to
3291        set a value which will have no effect due to a read-only
3292        setting earlier in the path.
3293
3294        * gconf/gconf.c: Add G_CONF_OVERRIDDEN to strerror, etc.
3295
3296        * gconf/GConf.idl: add ConfigOverridden to pass it across the
3297        CORBA link
3298
3299        * doc/gconf.sgml: Add more stuff to docs
3300       
33011999-09-17  Havoc Pennington  <hp@pobox.com>
3302
3303        * gconf/gconf-internals.c (subst_variables): Add a new function to
3304        perform variable substitution on addresses in the path file.
3305        Supports $(HOME), $(USER), and $(ENV_ANYENVVARNAME)
3306
3307        * Makefile.am: Add "doc" subdir
3308
3309        * doc/Makefile.am: Added
3310
3311        * doc/gconf.sgml: write more docs
3312       
33131999-09-03  Havoc Pennington  <hp@pobox.com>
3314
3315        * configure.in: Set library version info variables, and locate
3316        Guile libraries, etc.   
3317
3318        * wrappers/Makefile.am: conditionally build Guile subdir if we
3319        found guile.
3320
3321        * wrappers/guile: new subdir with the basic files/build for Guile
3322        bindings, will add the actual bindings later.
3323       
33241999-09-03  Havoc Pennington  <hp@pobox.com>
3325
3326        * configure.in: set POPT_LIBS instead of adding -lpopt to generic
3327        LDFLAGS; this was causing libtool to fail to generate the .so
3328        file for the XML backend module.
3329
3330        * gconf/Makefile.am: use POPT_LIBS
3331
3332        * gconf/gconf-backend.c: change some g_warning to g_conf_log
3333
33341999-09-03  Havoc Pennington  <hp@pobox.com>
3335
3336        * gconf/gconfd.c: Every hour or so, hibernate all contexts that
3337        haven't been accessed in 45 minutes. Make some assorted changes
3338        to support that.
3339
33401999-09-02  Havoc Pennington  <hp@pobox.com>
3341
3342        * gconf/gconf-internals.h, gconf/gconf-internals.c: Add a new
3343        g_conf_log() function for logging errors in backends;
3344        for now this wraps syslog() but if we eventually have non-daemon
3345        direct access to backends, we will need to change it. Use
3346        g_conf_log() throughout this file instead of printf() and
3347        g_warning().
3348
3349        * gconf/backends/xml-backend.c: Install a timeout which cleans
3350        old stuff out of the cache every 5 minutes; use g_conf_log
3351        to report problems.
3352
3353        * gconf/gconfd.c: Use g_conf_log(); log "exiting" later than we
3354        had been, after shutting everything down.
3355
33561999-09-02  Havoc Pennington  <hp@pobox.com>
3357
3358        * backends/Makefile.am: Install backends in $(libdir)/gconf
3359
3360        * gconf/Makefile.am: Look for backends in $(libdir)/gconf
3361
3362        * gconf/gconf-backend.c (g_conf_backend_file): Use
3363        g_module_build_path() to build the module path
3364
3365        * gconf/gconf-orbit.c (g_conf_get_cookie_reliably): Make the
3366        ~/.gconfd directory if necessary.
3367
3368        Lots of error-checking added.
3369
3370        * gconf/gconfd.c: Mark a lot of strings for translation; include
3371        username in the syslog spew.
3372
33731999-09-02  Havoc Pennington  <hp@pobox.com>
3374
3375        * gconf/gconfd.c (main): If the orb init fails, syslog the
3376        GConf error.
3377
3378        * gconf/gconf-orbit.c: Add tons of error checks/reports
3379
33801999-09-01  Tim P. Gerla  <timg@means.net>
3381
3382        * configure.in: Added test for popt.
3383
33841999-09-01  Havoc Pennington  <hp@pobox.com>
3385
3386        * backends/xml-backend.c (dir_get_value): Fix a segfault, check
3387        that an Entry != NULL before dereferencing it
3388
3389        * GConf.idl: Add ConfigException and ConfigErrorType to pass
3390        errors from server to client
3391
3392        * gconf.c (g_conf_handle_corba_exception): set the GConf error
3393        based on CORBA error, if any, and free the exception.
3394        Use throughout the file to receive server errors.
3395
3396        * gconfd.c (g_conf_set_exception): set the CORBA exception based
3397        on the GConf error, if any. Use this function throughout the file
3398        to send errors to clients.
3399        (g_conf_nuke_dir): Remove this obsolete function
3400        (context_set): don't notify listeners of a change if an error
3401        occurred
3402
34031999-09-01  Havoc Pennington  <hp@pobox.com>
3404
3405        * configure.in: add gmodule check to AM_PATH_GLIB, add an error if
3406        glib isn't found, use detected $XML_CONFIG to instead of
3407        xml-config, AC_PATH_PROG orbit-config, check for C++ compiler
3408        (since we'll have a C++ wrapper soon)
3409
3410        * gconf/Makefile.am: Assume GMODULE_CFLAGS are now included in
3411        GLIB_CFLAGS since we fixed configure.in
3412
3413        * gconf/gconf.c, gconf/gconf.h: Reference count the GConf object,
3414        add extern "C" when using C++
3415
3416        * gconf/gconftool.c: unref instead of destroying the GConf object
3417
34181999-08-31  Dave Camp  <campd@oit.edu>
3419
3420        * gconf/gconf.c (g_conf_is_initialized): New function.
3421
34221999-08-31  Dave Camp  <campd@oit.edu>
3423
3424        * gconf/gconftool.c (main): Changed --dir-exists to return 0 if
3425        the dir exists, and 2 if it does not.
3426
34271999-08-31  Dave Camp  <campd@oit.edu>
3428
3429        * gconf/gconftool.c (options): Added "--dir-exists".
3430        (main): If dir_exists is on the command line, check if the argument dir
3431        exists.
3432
3433        * gconf/gconfd.c (server_epv): Added gconfd_dir_exists.
3434        (gconfd_dir_exists): New function.
3435        (context_dir_exists): New function.
3436
3437        * gconf/gconf.c (g_conf_dir_exists): New function.
3438
3439        * gconf/gconf-internals.c (g_conf_sources_dir_exists): New function.
3440        (g_conf_source_dir_exists): New function.
3441
3442        * gconf/gconf-backend.h (GConfBackendVTable): Added a dir_exists
3443        entry.
3444
3445        * gconf/GConf.idl (dir_exists): New function.
3446
3447        * backends/xml-backend.c (dir_exists): New function.
3448        (xml_vtable): Added dir_exists.
3449
34501999-08-30  Dave Camp  <campd@oit.edu>
3451
3452        * gconf/gconf.h: #include gconf-orbit.h.
3453
3454        * gconf/Makefile.am (gconfinclude_HEADERS): Install gconf-orbit.h,
3455        GConf.h
3456
34571999-08-29  Dave Camp  <campd@oit.edu>
3458
3459        * Makefile.am (bin_SCRIPTS): Install gconf-config.
3460
3461        * configure.in (AC_OUTPUT): Create gconf-config.
3462
3463        * gconf/Makefile.am: Install gconf.h and gconf-schema.h.
3464       
3465
34661999-08-29  Dave Camp  <campd@oit.edu>
3467
3468        * configure.in (XML_LIBS): Use xml-config.
3469
34701999-08-29  Kjartan Maraas  <kmaraas@online.no>
3471
3472        * configure.in: Added "no" to ALL_LINGUAS
Note: See TracBrowser for help on using the repository browser.