Tryag File Manager
Home
-
Turbo Force
Current Path :
/
proc
/
self
/
root
/
usr
/
share
/
doc
/
GConf2-2.14.0
/
Upload File :
New :
File
Dir
//proc/self/root/usr/share/doc/GConf2-2.14.0/ChangeLog
2006-03-18 Guilherme de S. Pastore <gpastore@gnome.org> * NEWS: updated. * configure.in: version 2.14.0. 2006-03-10 Kjartan Maraas <kmaraas@gnome.org> * backends/markup-tree.c: (parse_tree): Patch from Matthias Clasen to fix my leak fix to not crash. Closes bug #334047. 2006-03-06 Kjartan Maraas <kmaraas@gnome.org> * backends/markup-tree.c: (parse_tree): Free the parse context in some more cases. Fixes bug #332528. 2006-03-06 Mark McLoughlin <mark@skynet.ie> Based on patch from Josselin Mouette <joss@debian.org> in bug #333353 to speed up the install of multiple schem files * gconf/gconftool.c: (do_load_file): split do_sync() out of here (main), (do_makefile_install): call do_sync() after calling do_load_file() 2006-03-06 Mark McLoughlin <mark@skynet.ie> Patch from Christopher.Hanna@sun.com * doc/gconftool-2.1: improved man page 2006-02-17 Benoît Dejean <benoit@placenet.org> * configure.in: * gconf/gconf-value.c: (gconf_value_new), (gconf_value_free), (gconf_entry_new_nocopy), (gconf_entry_unref): Use new g_slice API. 2006-01-28 Benoît Dejean <benoit@placenet.org> * gconf/gconf-schema.c: * gconf/gconf-value.c: Got rid of padding members in private structs. 2006-01-27 Tor Lillqvist <tml@novell.com> * gconf-zip.in: Include backend DLLs only in the runtime zipfile. * gconf/gconfd.c (main): Don't call closelog() unless we HAVE_SYSLOG_H. 2006-01-15 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.13.6. ==================== 2.13.5 ==================== 2006-01-15 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.13.5. 2006-01-10 Thomas Vander Stichele <thomas at apestaart dot org> * backends/Makefile.am: don't use top_builddir to link in library from current directory; fixes parallel make 2006-01-05 Vincent Untz <vuntz@gnome.org> * gconf/gconf-client.c: (clear_dir_cache_foreach): new, clears a cache entry if it matches the directory (gconf_client_real_remove_dir): remove from cache all entries that are in this directory Fix bug #127285. 2006-01-05 Tor Lillqvist <tml@novell.com> * gconf-zip.in: Include the backend DLLs in the runtime zipfile. 2006-01-03 Mark McLoughlin <mark@skynet.ie> Switch on "subtree merging" by default in the defaults database. * gconf/gconftool.c: (do_get_default_source): add the "merged" flag to the default target for --makefile-install-rule * backends/markup-backend.c: (resolve_address), (ms_new): add a new "merged" flag signalling that the entire tree should be saved as a subtree. * backends/markup-tree.[ch]: (markup_tree_get): add "merged" param and set flag on MarkupTree struct (recursively_load_subtree): copy function from gconf-merge-tree.c (markup_dir_sync): when saving the tree, save it as a merged subtree if the "merged" flag is set * backends/gconf-merge-tree.c: (recursively_load_subtree): remove; it's in markup-tree.c now * configure.in: remove --enable-gconf-source option which was only used when we installed standard-schemas * standard-schemas: remove old cruft 2006-01-03 Mark McLoughlin <mark@skynet.ie> Pointed out by Nicolas Peninguy <npeniguy@gmail.com> in bug #323509 * gconf/gconf-internals.c: (gconf_value_decode): fix crasher with previous fix for decoding schemas 2005-12-30 Abel Cheung <maddog@linuxhall.org> * configure.in: Added "is" "zh_HK" to ALL_LINGUAS. 2005-12-11 Mark McLoughlin <mark@skynet.ie> * backends/markup-tree.c: (markup_entry_get_value): re-work the logic for finding the best schema for the given locales. 2005-12-11 Mark McLoughlin <mark@skynet.ie> * backends/markup-tree.c: - Introduce the concept of a "subtree root" - a point in the tree where we save a subtree in a merged file. - When loading a subtree (%gconf-tree.xml), take note of any available translations (%gconf-tree-$(locale).xml) - When getting/setting/unsetting a schema, ensure that the appropriate translations are loaded - When parsing a translations file, allow for missing attributes and elements and read the translations of descriptions - When syncing a subtree, write out all translations of descriptions which are currently cached in memory to separate files. * backends/gconf-merge-tree.c: (merge_tree): update for markup_dir_build_file_path() change 2005-12-09 Jorn Baayen <jorn@openedhand.com> * gconf/gconf-internals.h: * gconf/gconf-value.h: Publicize gconf_value_compare() and gconf_entry_equal(). Closes bug #322832. 2005-12-09 Mark McLoughlin <mark@skynet.ie> * configure.in: post-branch bump to 2.13.1 2005-12-08 Kjartan Maraas <kmaraas@gnome.org> * gconf/gconf-internals.c: (gconf_value_decode): Make this function work for schemas too. Patch from Nicolas Peninguy <npeniguy@gmail.com>. Closes bug #323509. 2005-12-08 Dan Williams <dcbw@redhat.com> * gconf/gconf.c: (gconf_unescape_string): Don't stomp on the function-level scoped 'end' from deep in the function. Fixes a segfault. 2005-11-11 Dinoop Thomas <dinoop.thomas@wipro.com> * gconf/gconf.c: (gconf_debug_shutdown): Corrected documentation. * doc/gconf/gconf-sections.txt: Included the functions for which doc was newly added. * doc/gconf/tmpl/gconf-changeset.sgml, doc/gconf/tmpl/gconf-client.sgml, doc/gconf/tmpl/gconf-engine.sgml, doc/gconf/tmpl/gconf-error.sgml, doc/gconf/tmpl/gconf-internals.sgml, doc/gconf/tmpl/gconf-listeners.sgml, doc/gconf/tmpl/gconf-value.sgml, doc/gconf/tmpl/gconf.sgml: Included documentation for all the missing functions exported by gconf library. 2005-11-08 Mark McLoughlin <mark@skynet.ie> Patch from Jens Granseuer <jensgr@gmx.net> in bug #320852 * gconf/gconf-listeners.c: (ltable_insert): remove C99 usage. 2005-11-03 Alexander Larsson <alexl@redhat.com> * configure.in: Post release version bump ==================== 2.12.1 ==================== 2005-11-03 Alexander Larsson <alexl@redhat.com> * NEWS: Update for release 2005-11-01 Kjartan Maraas <kmaraas@gnome.org> * gconf/gconf-backend.c: (gconf_get_backend): Use G_MODULE_BIND_LAZY in g_module_open(). * gconf/gconf-internals.c: (gconf_value_from_corba_value), (gconf_value_type_to_string), (gconf_unquote_string_inplace), (type_byte), (byte_type), (gconf_value_encode), (gconf_get_lock_or_current_holder): Remove unused and unreachable code. * gconf/gconf-listeners.c: (ltable_insert): Warning fix. * gconf/gconf-value.c: (gconf_value_compare): Same here. * gconf/gconf.c: (gconf_unescape_key), (corba_errno_to_gconf_errno), (gconf_server_broken), (gconf_handle_corba_exception): And here. * gconf/gconfd.c: (main): Missing closelog() call. 2005-10-28 Erdal Ronahi <erdal.ronahi@gmail.com> * configure.in: Added ku (Kurdish) to ALL_LINGUAS 2005-10-27 Alexander Larsson <alexl@redhat.com> * gconf/gconf-sources.c (gconf_sources_is_affected): Correctly handle the case where the modified source is not in the sources list. 2005-10-18 Tor Lillqvist <tml@novell.com> * gconf/gconf-backend.c (invalid_chars[]): Do allow space in configuration source addresses on Windows, as space is common in user names, and thus home directories (i.e., profile folders). 2005-10-09 Mark McLoughlin <mark@skynet.ie> Based on patch from Lorenzo Colitti <lorenzo@colitti.com> in bug #316673 * backends/markup-tree.c: (parse_tree): read and process the xml file incrementally in 4k chunks. 2005-09-13 Stepan Kasal <kasal@ucw.cz> * gconf-2.m4.in (AM_GCONF_SOURCE_2): Simplify the handling of --enable-schemas-install. * Makefile.am (EXTRA_DIST): Remove sources for files gnerated at config time; they are distributed automatically. (DISTCLEANFILES): Deleted; we don't use intltool here. * .cvsignore: Add mkinstalldirs. 2005-09-10 Tor Lillqvist <tml@novell.com> * gconf/gconf-backend.c (gconf_address_resource): On Win32, do _gconf_win32_replace_prefix() on the return value so that we change configure-time prefix pathnames in the path file into corresponding end-user installation prefix pathnames. * gconf/gconf-sanity-check.c: Use gstdio wrappers here, too. * backends/markup-backend.c (get_dir_from_address): Use G_IS_DIR_SEPARATOR(). 2005-09-06 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.12.1. ==================== 2.12.0 ==================== 2005-09-06 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.12.0. 2005-08-29 Tor Lillqvist <tml@novell.com> * gconf-zip.in: Use correct capitalization of GConf in the zipfile names. 2005-08-22 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.11.93. ==================== 2.11.92 ==================== 2005-08-22 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.11.92. 2005-08-10 Adam Weinberger <adamw@gnome.org> * backends/evoldap-backend.c: Minor spelling fix and capitalization tweak (fixes bug #301133) 2005-07-25 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.11.91. ==================== 2.11.90 ==================== 2005-07-25 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.11.90. 2005-07-14 Aivars Kalvans <aivars.kalvans@inbox.lv> Reduce number g_string_append_c() calls (bug#309760) * configure.in: flockfile is not used anymore * gconf/gconf.c (gconf_escape_key): join two g_string_append_c() and g_string_append_printf() call * gconf/gconfd.c (read_line): use fgets() instead of getc_unlocked() to read a line 2005-07-13 Gustavo J. A. M. Carneiro <gjc@inescporto.pt> * gconf/gconf-client.c (gconf_client_notify): s/g_entry_unref/gconf_entry_unref (a typo). 2005-07-13 Aivars Kalvans <aivars.kalvans@inbox.lv> * gconf/gconf-client.c (gconf_client_notify): unref GConfEntry after notifying client. Fixes bug #158756 2005-06-21 Mark McLoughlin <mark@skynet.ie> * configure.in: require glib 2.7.0 2005-06-21 Mark McLoughlin <mark@skynet.ie> Patch from Marcus Meissner <meissner@suse.de> in bug #308448 * gconf/gconf-changeset.h, gconf/gconf-client.h: use G_GNUC_NULL_TERMINATED for gconf_(client|engine)_change_set_from_current() 2005-06-18 Aivars Kalvans <aivars.kalvans@inbox.lv> * gconf/gconf-sources.c (gconf_source_free): free ->address Fixes bug #307887 2005-06-17 Theppitak Karoonboonyanan <thep@linux.thai.net> * configure.in: Added 'th' (Thai) to ALL_LINGUAS. 2005-06-13 Mark McLoughlin <mark@skynet.ie> Fixes bug #306937 - gconfd-2 not shutting down when its no longer in use. * gconf/gconfd.c: (no_databases_in_use): account for the fact that the default database is on the global list of databases now too. 2005-06-08 Tor Lillqvist <tml@novell.com> * configure.in: Require GLib 2.6.0 so we can use the "gstdio wrappers". * backends/*.c * gconf/*.c: Use gstdio wrappers and gdir for better support of non-ASCII pathnames on Windows. Use g_strerror() consistently in error messages, as g_printerr() etc want UTF-8. * gconf/Makefile.am: Append EXEEXT to gconfd's name. * gconf/gconf-internals.h: Use functions instead of variables to access the run-time pathnames on Win32. This enables us to have a cleaner DllMain(). Add underscore prefix to the internal Win32-only functions. * gconf/dllmain.c (DllMain): Use minimalistic DllMain() that only stores the handle to the DLL. (setup): Do the real work here instead. (_gconf_win32_get_locale_dir, etc): Functions to return the run-time pathnames. * gconf/gconf-internals.c (_gconf_win32_get_home_dir): As g_get_home_dir() has now been fixed to never return NULL on Windows, we don't have to bother checking that here. 2005-05-17 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.11.2. ==================== 2.11.1 ==================== 2005-05-17 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.11.1. 2005-05-17 Mark McLoughlin <mark@skynet.ie> * backends/README.evoldap: update. 2005-05-17 Mark McLoughlin <mark@skynet.ie> Re-work a bit so it now supports putting the addressbook, calendar and task sources in LDAP. * backends/evoldap-backend.c: (get_evolution_uid), (get_variable): renamed the $(ACCOUNT_UID) variable to $(EVOLUTION_UID) (parse_conf_file): upd to lookup the new templates. (subst_variables_into_template): allow substituing into any template. (build_value_from_entries): split out; constructs a list value by munging the LDAP entries with a template. (lookup_values_from_ldap): lookup the addressbook, calendar and tasks sources too. (query_value), (all_entries), (all_subdirs), (dir_exists): upd. to handle addressbook, calendar and tasks. (destroy_source): free new stuff. * backends/evoldap.conf: change the format slightly to add templates for addressbook, calendar and tasks. * backends/evoldap.schema: add new schema. 2005-05-09 Mark McLoughlin <mark@skynet.ie> Update to use GNOME OIDs as assigned by Jochen Friedrich <jochen@scram.de> * backends/evoldap.schema: use GNOME OIDs. 2005-05-06 Mark McLoughlin <mark@skynet.ie> Small fix for previous commit. * gconf/gconfd.c: (gconfd_notify_other_listeners): Don't try and free a NULL GConfValue. 2005-05-06 Mark McLoughlin <mark@skynet.ie> Fix for crasher based on patch from Josselin Mouette <joss@debian.org> in bug #158917 * gconf/gconfd.c: (gconfd_notify_other_listeners): if the value is unset, create an InvalidVal ConfigValue. 2005-04-27 Mark McLoughlin <mark@skynet.ie> * backends/Makefile.am: link the evoldap backend with libxml. 2005-04-25 Mark McLoughlin <mark@skynet.ie> Pointed out by Gustavo Carneiro <gjc@inescporto.pt> in bug #300804 * gconf/gconf-enum-types.[ch]: run "make regenerate-built-sources" so that we get GCONF_TYPE_UNSET_FLAGS. * gconf/gconf-error.h, gconf/gconf-value.h: remove unneccessary glib-mkenums options from C comment. * gconf/regenerate-enum-footer.sh, gconf/regenerate-enum-header.sh: tweak the arguments to glib-mkenums so that we get the same output that we were getting before and the command line is a wee bit more readable. 2005-04-18 Mark McLoughlin <mark@skynet.ie> * backends/evoldap-backend.c, backends/evoldap.conf, backends/evoldap.schema, backends/README.evoldap: Add Evolution mail account LDAP backend. * configure.in, backends/Makefile.am: build the backend if we can find the openldap library and header. 2005-05-07 Gareth Owen <gowen72@yahoo.com> * po/en_GB.po: Updated British English translation. 2005-04-04 Mark McLoughlin <mark@skynet.ie> Patch from Stepan Kasal <kasal@ucw.cz> * gconf-2.m4.in (AM_GCONF_SOURCE_2): Use "--enable-schemas-install", not "--disable-schemas-install", in the error message; one has to give "--enable-schemas-install=foo" to get here, the form "--disable-schemas-install=*" is refused immediately by the init code of the configure script. 2005-03-30 Steve Murphy <murf@e-tools.com> * configure.in: Added "rw" to ALL_LINGUAS. 2005-03-27 Tor Lillqvist <tml@novell.com> * configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated after all, and in fact necessary with HEAD libtool. 2005-03-23 Tor Lillqvist <tml@novell.com> * gconf/gconfd.c (test_safe_tmp_dir): Nah, stat() isn't useful for permission checking on Win32. Bypass for now on Win32. 2005-03-18 Tor Lillqvist <tml@novell.com> Port to Windows: * gconf-zip.in: New file, script to build zipfile-based distribution for Windows. * Makefile.am * configure.in: Distribute and expand it. * configure.in: Check for Win32, Define automake conditional OS_WIN32. Force shared library (DLL) build on Windows. Check for some more headers and functions. * */*.c: Conditionalize on HAVE_SYSLOG_H, HAVE_SYS_WAIT_H, HAVE_GETUID, HAVE_FSYNC, HAVE_FCHMOD, HAVE_SIGACTION, F_GETFD, FD_CLOEXEC, F_SETLK, SIGBUS, SIGPIPE, SIGHUP, SIGUSR1, and ELOOP. * backends/Makefile.am: Explicitly link with INTLLIBS. * backends/markup-tree.c (save_tree): Can't rename or remove open files on Win32. * backends/xml-backend.c: Don't use G_MODULE_EXPORT on Win32. If we use it, only the functions thus marked will be exported, and xml-test uses also other ones. Instead rely on the auto-export feature. * gconf/Makefile.am: Pass -DPREFIX=$(prefix). Include dllmain.c on Win32. * gconf/dllmain.c: New file. Used for installation location independence. (DllMain) DLL entry point. Automatically called when the DLL is attached to a process. Deduce the run-time installation location and construct run-time pathnames. (gconf_win32_replace_prefix): New funcion. Replaces a configure-time prefix in a pathname with the corresponding end-user run-time installation prefix. * gconf/gconf-internals.c (gconf_win32_get_home_dir): New function, returns the home directory with forward slashes. Guaranteed to return non-NULL, unlike GLib's g_get_home_dir(). (get_variable, gconf_get_daemon_dir): Use gconf_win32_get_home_dir(). (gconf_load_source_path): Use gconf_win32_replace_prefix(). (create_new_locked_file, open_empty_locked_file, gconf_release_lock): Use _sopen() to open file with locking on Win32. (close_fd_func): Not used on Win32, where there is no FD_CLOEXEC, and a gspawn child setup function is run in the parent process anyway. * gconf/gconf-internals.h: mkdir() takes only one parameter on Win32. S_IRWX{U,G,O} aren't in mingw's sys/stat.h. Use run-time installation prefix instead of configure-time. Redefine the GCONF_*DIR macros to refer to the variables from the dllmain.c file. Use NUL: on Windows instead of /dev/null. * gconf/gconf-sanity-check.c * gconf/gconftool.c: Use POPT_AUTOHELP. * gconf/gconf.c: Use g_get_current_time() instead of gettimeofday(). * gconf/gconfd.c (gconf_server_load, get_log_names): Use gconf_win32_get_home_dir(). (signal_handler): If we don't HAVE_SIGACTION, use signal(), and re-arm the signal handler. (test_safe_tmp_dir): Can't open() a directory on Win32. (get_log_names): Use g_build_filename() instead of gconf_concat_dir_and_key() on all platforms. 2005-03-14 Mark McLoughlin <mark@skynet.ie> * acinclude.m4: remove - we don't use anything from it anymore. Fixes bug #153049 2005-03-14 Mark McLoughlin <mark@skynet.ie> * configure.in: bump version to 2.11.1 after branching. 2005-03-07 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.10.1. ==================== 2.10.0 ==================== 2005-03-07 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.10.0. 2005-02-16 Adi Attar <aattar@cvs.gnome.org> * configure.in: Added "xh" to ALL_LINGUAS. 2005-02-07 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.9.92. ==================== 2.9.92 ==================== 2005-02-07 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.9.91. 2005-02-06 Mark McLoughlin <mark@skynet.ie> Fix bug #154005 - "preload breaks saved state", caused by a bug in the way the listeners tree was constructed. * gconf/gconf-listeners.c: (ltable_entry_new): take a list of path elements and index to the entry and construct the full path for that entry. (ltable_insert): update for above so that we don't pass use the wrong path for full_name. 2005-01-18 Mark McLoughlin <mark@skynet.ie> Fixes problem where a path file which only includes another path file wouldn't work. * gconf/gconf-internals.c: (gconf_load_source_path): assign the return value of g_slist_concat() to something. 2005-01-17 Mark McLoughlin <mark@skynet.ie> Fix double free with gconf_client_clear_cache() * gconf/gconf-client.c: (clear_cache_foreach): don't free the key explicitly - the key is owned by the GConfEntry. 2005-01-12 Vincent Untz <vincent@vuntz.net> * gconf-value.c: (gconf_value_validate): add sanity check 2004-11-30 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.9.3. ==================== 2.9.2 ==================== 2004-11-30 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.9.2. Tue Nov 16 12:24:26 2004 Jonathan Blandford <jrb@redhat.com> * doc/gconf/gconf-docs.sgml: add a title/name instead of [Insert name here] 2004-11-02 Fernando Herrera <fherrera@onirica.com> * backends/markup-tree.c: (markup_entry_get_value): Read the schema file until a matching locale is found and the C one. This solves bug #152175 when current locale is before the C. 2004-11-02 Fernando Herrera <fherrera@onirica.com> * gconf/gconf-sources.c: (gconf_sources_all_entries): Get schema_name also if we got a value from a previous source. Fix #131011 2004-10-12 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.8.2. ==================== 2.8.1 ==================== 2004-10-12 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.8.1. 2004-10-04 Mark McLoughlin <mark@skynet.ie> GConf part of fix for gconf-editor spewing warnings on startup. See bug #144833. * backends/markup-backend.c: (resolve_address): if the toplevel directory isn't writable, mark the whole source as non-writable. 2004-09-30 Kjartan Maraas <kmaraas@gnome.org> * gconf/gconf-internals.c: (gconf_activate_server): Fix pipe misuse reported by valgrind. Suggested fix by Mark McLoughlin. Closes bug #153929. 2004-09-28 Kjartan Maraas <kmaraas@gnome.org> * gconf/gconf-sanity-check.c: (main): Plug a leak. * gconf/gconfd.c: (main): Plug a couple of leaks. Ref bug #153929. Still one to go. 2004-09-28 Mark McLoughlin <mark@skynet.ie> Leak identified by Kjartan in bug #153891. * gconf/gconfd.c: (gconf_server_load_sources): Plug leak. * gconf/gconf-internals.c: (gconf_load_source_path): remove some crufty code, don't unneccessarily copy strings. 2004-09-14 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.8.1. ==================== 2.8.0.1 ==================== 2004-09-13 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.8.0.1. 2004-09-14 Mark McLoughlin <mark@skynet.ie> * autogen.sh: use automake 1.7 and run gtkdocize. * configure.in: check for glib-genmarshal and use GTK_DOC_CHECK. * Makefile.am: add --enable-gtk-doc to DISTCHECK_CONFIGURE_FLAGS. * gconf/Makefile.am: re-do how the marshallers are generated. * doc/gconf/Makefile.am: use gtk-doc.make. * doc/gconf/gconf.sgml: tweak to validate. * backends/Makefile.am: make xml-test link against the backend rather than rebuilding the sources. * gconf-2.m4.in: rename from gconf.m4.in. 2004-09-13 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.8.1. ==================== 2.8.0 ==================== 2004-09-13 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.8.0. 2004-08-30 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.7.93. ==================== 2.7.92 ==================== 2004-08-30 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.7.92. 2004-08-30 Mark McLoughlin <mark@skynet.ie> Fix problem with schemas install. Bug #151334. * gconf/gconftool.c: (process_locale_info): install the global default in the C locale only. 2004-08-30 Mark McLoughlin <mark@skynet.ie> Lots of debugging info from Mickey Stein <yekkim@pacbell.net> narrowed this one down in bug #150779. * gconf/gconfd.c: (drop_old_databases): don't drop the default database here, we do that later. Hangover from the fact that the default database didn't use to be on db_list. 2004-08-30 Mark McLoughlin <mark@skynet.ie> Patch from Josselin Mouette <joss@debian.org> in bug #148028 * gconf/gconfd.c: (periodic_cleanup_timeout): save and reload ~/.gconfd/saved_state so we don't drop listeners when reloading the database. 2004-08-27 Mark McLoughlin <mark@skynet.ie> * gconf/gconftool.c: (process_locale_info): don't explicitly install the global default in a schema for every locale since we happily fall back to the C locale anyway. Fixes bug #131488. 2004-08-25 Mark McLoughlin <mark@skynet.ie> * backends/markup-tree.c: (markup_entry_get_value): don't abort if we find no local schema to match any locales - there may not be a "C" local schema at all. See bug #147522 for a test case from Caio Begotti <caio1982@gmail.com > 2004-08-19 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.7.92. ==================== 2.7.91.1 ==================== 2004-08-19 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.7.91.1. 2004-08-19 Mark McLoughlin <mark@skynet.ie> Revert the patch to make use of the merge-subtree feature at specific points in the tree. Not clear that it solves the problems we thought it solved. Patch archived in bug #138498 * backends/markup-tree.[ch]: (markup_tree_get): remove try_merge flag. (markup_dir_sync): don't try and save as a merged subtree. * backends/markup-backend.c: (resolve_address), (ms_new): Remove the "nomerge" backend flag. * backends/gconf-merge-tree.c: (recursively_load_subtree): add back. (merge_tree): upd. for markup_tree_get() change. 2004-08-16 Christian Rose <menthos@menthos.com> * configure.in: Added "bs" to ALL_LINGUAS. 2004-08-16 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.7.92. ==================== 2.7.91 ==================== 2004-08-16 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.7.91. 2004-08-11 Kjartan Maraas <kmaraas@gnome.org> * backends/xml-cache.c: (cache_clean): Use NULL in place of 0. * configure.in: Added nb to ALL_LINGUAS. * gconf/gconf-internals.c: (gconf_invalid_corba_value): ANSI parameter list warning. * gconf/gconf-sanity-check.c: (ensure_gtk): NULL vs. 0 * gconf/gconfd.c: (main): Same. Closes bug #149843. 2004-08-10 Mark McLoughlin <mark@skynet.ie> * gconf/gconftool.c: (main): set the umask for --makefile-install-mode so we always install the schemas with the correct permissions. bug #145041. 2004-08-07 Danilo Šegan <dsegan@gmx.net> Fixes bug #149518. * gconf/gconftool.c (options): s/dir/directory/ s/standard out/standard output/. * gconf/gconfd.c (main): s/fd/file descriptor/. * gconf/gconf-sources.c (gconf_sources_new_from_addresses): s/config/configuration/. * backends/markup-tree.c (parse_value_element): s/car_type/first-element/. 2004-08-03 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.7.91. ==================== 2.7.90 ==================== 2004-08-03 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.7.90. 2004-08-03 Mark McLoughlin <mark@skynet.ie> Patch from Carlos Daniel Ruvalcaba Valenzuela <clsdaniel@yahoo.com.mx> in bug #148973. * gconf/gconf-internals.[ch]: (gconf_escape_percents): remove unused (and internal) function. 2004-07-09 Mark McLoughlin <mark@skynet.ie> Patch from Kai Willadsen <kaiw@itee.uq.edu.au> in bug #120349. * doc/gconf/gconf.sgml, doc/gconf/tmpl/gconf-client.sgml, doc/gconf/tmpl/gconf.sgml, doc/intro-article.sgml, gconf/gconf-client.h, gconf/gconf-listeners.h: bring the docs up to date with the patch that we're using GObject instead of GtkObject. 2004-07-07 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.7.4. ==================== 2.7.3.1 ==================== 2004-07-07 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.7.3.1. 2004-07-07 Mark McLoughlin <mark@skynet.ie> * gconf/gconftool.c: (process_key_list): one character fix to make the schema actually be applied. 2004-07-07 Fernando Herrera <fherrera@onirica.com> * gconf/default.path.in: Removed outdated comment. 2004-07-07 Mark McLoughlin <mark@skynet.ie> * gconf/gconftool.c: (do_makefile_uninstall): merge with do_makefile_install() by adding a "unload" flag. 2004-07-05 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.7.4. ==================== 2.7.3 ==================== 2004-07-05 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.7.3. 2004-07-05 Mark McLoughlin <mark@skynet.ie> Patch from Josselin Mouette <joss@debian.org> to handle SIGHUP by reloading all databases. Intended to be used in package's postinst scripts to get all running gconfds to reload schemas. * gconf/gconfd.c: (signal_handler): handle SIGHUP by setting flag. (periodic_cleanup_timeout): reload all databases when the reload flag is set. 2004-07-04 Mark McLoughlin <mark@skynet.ie> Patch from Julio M. Merino Vidal <jmmv@menta.net> in bug #134517 to add a --sysconfsubdir configure argument which allows the sub-directory GConf uses under $sysconfdir to be change. * configure.in: add --sysconfsubdir argument and subst $sysgconfdir which contains the full sysconf path GConf uses. * Makefile.am, examples/Makefile.am, gconf/Makefile.am, gconf/default.path.in, gconf/gconftool.c, standard-schemas/Makefile.am, wrappers/cxx/Makefile.am: use $sysgconfdir. 2004-07-02 Mark McLoughlin <mark@skynet.ie> Fixup some bugs with the merge files support which was causing unset entries not to be completely wiped out. * backends/markup-tree.c: (clean_old_local_schemas): rename. (clean_old_local_schemas_recurse): if we're saving as a subtree, recurse down the tree. (delete_useless_subdirs): ignore the some_subdir_needs_sync and entries_need_save flags on the subdir - they're irrelevant if there's no entries or subdirs. Also, check whether the subdir is in a subtree file rather than current dir. (delete_useless_subdirs_recurse): correctly recurse over subdirs. (delete_useless_entries_recurse): implement recursively deleting entries too. (recursively_load_subtree): set the not_in_filesytem flag if we're going to be saving as a subtree. (markup_dir_sync): recusively clean schemas and delete entries if we're saving as a subtree. 2004-07-02 Mark McLoughlin <mark@skynet.ie> Based on a patch to add --unload option from Julio M. Merino Vidal <jmmv@menta.net> in bug #130129. * gconf/gconftool.c: (main): add --unload option. (do_load_file): add an 'unload' flag. (set_values), (process_entry), (process_key_list), (hash_install_foreach), (process_schema), (process_list): pass the flag about and unset/unassociate things as appropriate. (do_makefile_uninstall): pass the unload flag to do_load_file(). 2004-07-02 Mark McLoughlin <mark@skynet.ie> Fix for bug #145141. * backends/markup-tree.c: (load_subdirs): recognise subdirs which don't contain a %gconf.xml file but do contain a %gconf-tree.xml file. 2004-07-01 Pawan Chitrakar <pawan@nplinux.org> * configure.in: Added "ne" Nepali in ALL_LINGUAS 2004-06-27 Ross Burton <ross@burtonini.com> * doc/Makefile.am: Distribute the incredibly useful FAQ and DTD. 2004-06-22 Mark McLoughlin <mark@skynet.ie> * backends/markup-tree.c: fix tiny typo which was causing /schemas/apps to be saved as one gigantic file. 2004-06-21 Mark McLoughlin <mark@skynet.ie> Fix for bug #138498 - turn on "subtree-in-a-file" for the subdirectories of the following directories: /apps/evolution", /apps/panel/profiles", /apps /desktop/gnome /system /schemas/apps /schemas/desktop/gnome /schemas/system /schemas / You can turn this of by passing the "nomerge" flag to the backend - e.g. xml:readwrite,nomerge:$(HOME)/.gconf * backends/markup-tree.[ch]: (markup_tree_get): pass in the nomerge path. (markup_dir_build_file_path), (markup_dir_build_dir_path): simple wrappers for build_path(). (load_subtree), (load_entries), (load_subdirs), (delete_useless_subdirs): upd. for above change. (recursively_load_subtree): impl. recursively loading the tree below a given dir. (should_save_as_subtree): logic to figure out which dirs should be saved as merged files. (markup_dir_sync): save the dir in a merged file if neccessary. (markup_dir_build_path): allow building a non-filesystem path. (parse_tree), (save_tree): upd. (write_dir): set the "not_in_filesystem" flag. * backends/markup-backend.c: (resolve_address), (ms_new): parse and use the "nomerge" flag. * backends/gconf-merge-tree.c: (merge_tree): upd. 2004-06-21 Mark McLoughlin <mark@skynet.ie> * gconf/gconfd.c: (shutdown_databases): don't free the default database twice. Its on the databases list now so it doesn't need to freed explicitly. 2004-06-21 Mark McLoughlin <mark@skynet.ie> Patch from Leonardo Quijano Vincenzi <lquijano@hotpop.com> in bug #144502. * doc/gconf/tmpl/gconf-client.sgml: warn the g_type_init() must be called before using GConfClient. 2004-06-12 Mark McLoughlin <mark@skynet.ie> Patch from Daniel Elstner <daniel.elstner@gmx.net> in bug #143679. * gconf.m4.in (AM_GCONF_SOURCE_2): Use $(sysconfdir)/gconf/schemas as the default value of GCONF_SCHEMA_FILE_DIR, without the trailing slash. Also get rid of the pointless else branch. 2004-06-12 Mark McLoughlin <mark@skynet.ie> Patch from Julio M. Merino Vidal <jmmv@menta.net> in bug #134247. * doc/gconf/Makefile.am: don't create a directory if its not needed. 2004-06-12 Mark McLoughlin <mark@skynet.ie> Patch from Mariano Suárez-Alvarez <msuarezalvarez@arnet.com.ar> in bug #122958 to change the encoding logic so as to produce shorter encoded keys when encoding non-ascii characters. Does not require changes to the decoder. * gconf/gconf.c: (gconf_escape_key): use a shorter encoding for non-ascii characters. 2004-06-12 Mark McLoughlin <mark@skynet.ie> 64-bit fix from Joe Marcus Clarke <marcus@freebsd.org> * backends/markup-tree.c: (parse_tree): the length returned from g_file_get_contents() is a gsize not an int. 2004-06-09 Kjartan Maraas <kmaraas@gnome.org> * gconf/gconf-internals.c: (gconf_activate_server): Plug a small leak. Fixes bug #143941. 2004-05-31 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.7.2. ==================== 2.7.1 ==================== 2004-05-31 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.7.1. 2004-05-04 Morten Welinder <terra@gnome.org> * gconf/gconf-internals.c (gconf_activate_server): Delete stray ";" aka null statement. (Valid only in C99 where it had no effect.) 2004-04-23 Mark McLoughlin <mark@skynet.ie> * gconf/gconf-sources.c: (gconf_sources_new_from_addresses): return NULL and the last error if we failed to resolve any of the addresses. 2004-04-21 Richard Hult <richard@imendio.com> * gconf/gconf-database.c (gconf_database_unset): Init modified_sources to NULL since we access it later. Fixes random crashes. 2004-04-19 Mark McLoughlin <mark@skynet.ie> Based on a patch from Julio Merino <jmmv@hispabsd.org> in bug #102825 * configure.in: add a --enable-gtk=yes/no/auto (defaults to auto) 2004-04-19 Mark McLoughlin <mark@skynet.ie> Patch Elijah Newren <bugsqueesher@yahoo.com> in bug #138009 * examples/basic-gconf-app.c: (config_entry_commit): return a boolean so we don't crash. 2004-04-19 Mark McLoughlin <mark@skynet.ie> Based on a patch from Ryan Lovett <ryan@ocf.berkeley.edu> in bug #95198. * backends/markup-backend.c: (resolve_address): backends/xml-backend.c: (resolve_address): check to see if the dir exists before trying to create it rather than relying on EEXIST from mkdir. 2004-04-19 Mark McLoughlin <mark@skynet.ie> * backends/dir-utils.[ch], backends/val-encode.[ch]: remove last remenants of the BDB backend. 2004-04-19 Mark McLoughlin <mark@skynet.ie> Tracked down by Gustavo Giráldez <gustavo.giraldez@gmx.net> in bug #139170 * gconf/gconfd.c: (logfile_save): don't save default_db explicitly since its now stored in the same list as the other dbs - but do make sure that it gets saved as "def" rather than using its full address list. 2004-04-16 Colin Walters <walters@redhat.com> * gconf/gconf-internals.c (gconf_activate_server): Move temporary directory creation into daemon code, so that we play better with SELinux. Patch reviewed by (and several improvements suggested by) Mark McLoughlin <mark@skynet.ie>. 2004-04-13 Mark McLoughlin <mark@skynet.ie> Fix pointed out by Frédéric L. W. Meunier <1@pervalidus.net>. * gconf.m4.in: add quotes around AM_GCONF_SOURCE_2 to quell autoconf's rudeness. 2004-04-08 Guntupalli Karunakar <karunakar@freedomink.org> * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS. 2004-04-08 Adam Weinberger <adamw@gnome.org> * configure.in: Added en_CA to ALL_LINGUAS. 2004-04-05 Mark McLoughlin <mark@skynet.ie> Revert the --dump behaviour change (not dumping schema defaults) and add a --ignore-schema-defaults argument which applies to all arguments which get the value of a key. * gconf/gconftool.c: (main): check that --ignore-schema-defaults is being used with an option which gets a value. (list_pairs_in_dir), (dump_entries_in_dir): respect --ignore-schema-defaults. (get_maybe_without_default): helper function. (do_get), (do_get_type), (do_get_list_size), (do_get_list_element): respect --ignore-schema-defaults. 2004-04-02 Mark McLoughlin <mark@skynet.ie> * gconf/gconftool.c: (set_values), (process_entry): handle an <entry> with only a <schema_name> correctly. 2004-04-01 Mark McLoughlin <mark@skynet.ie> * gconf/gconftool.c: (dump_entries_in_dir): don't dump the value if its the schema default. 2004-04-01 Mark McLoughlin <mark@skynet.ie> * gconf/default.path.in: fix the position of the local-defaults.path include. Bug #137578. 2004-03-31 Mark McLoughlin <mark@skynet.ie> Fix last remaining obvious issue I'm seeing with the previous patches. gconfd was crashing when removing objects from the panel. * gconf/gconf-database.c: (gconf_database_recursive_unset): Don't try and propogate a NULL error. * gconf/gconf-sources.c: (gconf_sources_unset_value): create modified_sources when they it doesn't exist. (prepend_unset_notify): add a couple of assertions. (recursive_unset_helper): unset modified_sources between unsets so that we don't append to the same source list. 2004-03-30 Mark McLoughlin <mark@skynet.ie> * gconf/gconf-backend.c: (gconf_backend_verify_vtable): Return TRUE if the vtable is okay. 2004-03-30 Mark McLoughlin <mark@skynet.ie> * doc/gconf/tmpl/gconf-backend.sgml: add some documentation for set_notify_func(). 2004-03-30 Mark McLoughlin <mark@skynet.ie> * tests/testbackend.c: (foreach_recursive), (sync_and_clear), (check_unset), (set_value), (get_value): upd. for the fact we have a copy of the vtale now rather than a pointer to it. 2004-03-30 Mark McLoughlin <mark@skynet.ie> * gconf/gconf-backend.h: actually add the vtable_size vtable member. 2004-03-29 Mark McLoughlin <mark@skynet.ie> * gconf/gconf-database.c: (safe_g_hash_table_insert): remove - no hash table here. 2004-03-29 Mark McLoughlin <mark@skynet.ie> * gconf/gconf-engine.h: add gconf_engine_get_for_addresses() and gconf_engine_get_local_for_addresses(). * gconf/gconf.c: (gconf_engine_connect): implement setting up a database from an arbitrary stack of sources. (register_engine): use the concatenation of addresses for the key. (unregister_engine): free the persistent address and address list on unregistering. (lookup_engine): use the concatenation of addresses for the key. (gconf_engine_get_local_for_addresses): add. (gconf_engine_get_for_address): update for register_engine change. (gconf_engine_get_for_addresses): impl support for remote composite dbs. (update_listener): update for the fact that listeners are now saved using the persistent name. * gconf/GConfX.idl: extend the ConfigServer interface by adding ConfigServer2 inherting from ConfigServer. Add ConfigServer2::get_database_for_addresses(). * gconf/gconf-backend.c: (gconf_address_valid), (gconf_get_backend): check the backend address doesn't contain any special characters. * gconf/gconf-database.[ch]: (source_notify_cb): don't notify unless this change could actually cause a change for the client. (gconf_database_notify_listeners): impl. notifying "other" listeners - clients listening on other stacks which contains any of the modified sources. (gconf_database_set), (gconf_database_unset): keep track of the sources modified by the change and update for the notify_listeners change. (gconf_database_recursive_unset): ditto and upd. for the change in the listeners list returned by gconf_sources_recursive_unset(). (gconf_database_get_persistent_name): make the persistent name a concatenation of the individual addresses instead of the first address. * gconf/gconf-internals.[ch]: (gconf_address_list_get_persistent_name): impl method similar to gconf_database_get_persistent_name, except concatenate the addresses from a GSList. (gconf_persistent_name_get_address_list): do the reverse. (gconf_address_list_free): free the list of strings. * gconf/gconf-sources.[ch]: (gconf_sources_new_from_source): allow creating an empty source list. (gconf_sources_set_value), (gconf_sources_unset_value): return the sources modified by the change. (prepend_unset_notify), (recursive_unset_helper), (gconf_sources_recursive_unset): return a list of GConfUnsetNotifys which contains both the key and the modified source. (get_address_resource): copy and paste of gconf_address_resource except it doesn't dup the return value. (gconf_sources_is_affected): figure out if a change to a particular key in one source affects the key with a particular stack of sources. * gconf/gconfd.[ch]: impl ConfigServer2 inheritance. (gconfd_get_database): upd for obtain_database change. (gconfd_get_composite_database): implement. (init_databases): rename dbs_by_address to dbs_by_addresses. (set_default_database): register the default db like the others. (register_database): use the persistent name as the key. (unregister_database): ditto. (lookup_database): ditto. (obtain_database): use a list of addresses, not a single one. (gconfd_notify_other_listeners): impl notifying listeners on GConfDatabases other than the one which was changed. (listener_logentry_restore_and_destroy_foreach): restore by splitting the address list string. * gconf/gconftool.c: (main): enable --config-source without --direct as it works better now. Also allow --config-source to be an address list. 2004-03-29 Mark McLoughlin <mark@skynet.ie> * backends/markup-backend.c, backends/xml-backend.c: initialize the set_notify_func vtable member. 2004-03-29 Mark McLoughlin <mark@skynet.ie> Re-work the notifications-from-backends patch so that the backend doesn't have to keep track of a callback per listener as suggested by Cyrille. * gconf/gconf-backend.h: add a set_notify_func() member to the vtable and remove the callback arg from add_listener(). * gconf/gconf-database.c: (gconf_database_new): set the notification callback here. (gconf_database_readd_listener): upd. * gconf/gconf-sources.[ch]: (gconf_source_set_notify_func): add. (gconf_source_add_listener): upd. (gconf_sources_set_notify_func): add. (gconf_sources_add_listener): upd. 2004-03-26 Mark McLoughlin <mark@skynet.ie> * gconf/gconf-database.c: (source_notify_cb): don't leak the schema name. * gconf/gconf-sources.c: (gconf_sources_add_listener), (gconf_sources_remove_listener): fix mistake pointed out by Cyrille. 2004-03-25 Mark McLoughlin <mark@skynet.ie> Allow backends to notify the daemon of changes to entries. Based on a patch from Cyrille Moureaux <Cyrille.Moureaux@Sun.COM> in bug #07692. * gconf/gconf-backend.h: add add_listener() and remove_listener() members to the vtable. * gconf/gconf-database.c: (source_notify_cb): re-compute the value and notify listeners when the backend reports the key has changed. (gconf_database_readd_listener), (gconf_database_remove_listener): add/remove backend listeners. * gconf/gconf-sources.[c]: (gconf_source_add_listener), (gconf_source_remove_listener), (gconf_sources_add_listener), (gconf_sources_remove_listener): impl. the glue. * doc/gconf/tmpl/gconf-backend.sgml: update the backend documentation. * backends/markup-backend.c, backends/xml-backend.c: set the add_listener() and remove_listener() members to NULL. 2004-03-24 Mark McLoughlin <mark@skynet.ie> * gconf/gconf-backend.h: add a vtable_size member to the vtable. * gconf/gconf-backend.c: (gconf_backend_verify_vtable): impl. copying handling mismatches in vtable sizes and also refuse to use the backend if any of the functions we require are NULL. (gconf_get_backend): fixup error handling a bit. * gconf/gconf-sources.c: update to take into account that the we have a copy of the vtable now rather than just a pointer to it. * doc/gconf/tmpl/gconf-backend.sgml: upd. * backends/markup-backend.c, backends/xml-backend.c: add sizeof (GConfBackendVTable) to the vtable. 2004-03-24 Mark McLoughlin <mark@skynet.ie> * gconf/gconf-database.c: (impl_ConfigDatabase_set): don't convert the value into a string and then do nothing with it. 2004-03-30 Mark McLoughlin <mark@skynet.ie> * configure.in: bump to 2.7.1. 2.6.x development is on the gnome-2-6 branch now. 2004-03-24 Mark McLoughlin <mark@skynet.ie> * configure.in: kill the message-of-doom. 2004-03-22 Guntupalli Karunakar <karunakar@freedomink.org> * configure.in: Added "pa" (Punjabi) to ALL_LINGUAS. 2004-03-22 Mark McLoughlin <mark@skynet.ie> * configure.in: post-release bump to 2.6.1. 2004-03-22 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.6.0 2004-03-18 Ross Burton <ross@burtonini.com> * doc/FAQ.txt: Added a FAQ, based upon the old FAQ and updated for the new locking policy. 2004-03-16 Gareth Owen <gowen72@yahoo.com> * configure.in: Added "en_GB" (British) to ALL_LINGUAS 2004-03-02 Dinesh Nadarajah <dinesh_list@sbcglobal.net> * ta.po: Started Tamil Translation. 2004-02-24 Mark McLoughlin <mark@skynet.ie> * configure.in: Version 2.5.90. 2004-02-01 Robert Sedak <robert.sedak@sk.htnet.hr> * configure.in: Added "hr" (Croatian) to ALL_LINGUAS. 2003-12-14 Havoc Pennington <hp@redhat.com> * configure.in: 2.5.1 2003-12-03 Ross Burton <ross@burtonini.com> * tmpl/gconf.sgml: lamest patch *ever*, remove a newline. Tue Nov 4 17:17:07 2003 Jonathan Blandford <jrb@redhat.com> * gconf/gconf-changeset.h: register GConfChangeSet as a boxed type. 2003-11-02 Havoc Pennington <hp@pobox.com> * ChangeLog: ascii-ize various people's names; Emacs can't handle UTF-8, sadly * backends/Makefile.am: cut over to the new backend implementation * configure.in: change to 2.5.0, add "this is the unstable branch" warning. 2003-10-28 Ghee Teo <ghee.teo@sun.com> * gconf/default.path.in: added hooks for paths to preserve local configuration gconf values as in bug #107481. 2003-10-28 Mark McLoughlin <mark@skynet.ie> * backends/gconf-merge-tree.c: include locale.h - patch from Damien Carbery <damien.carbery@sun.com> in bug #125688. 2003-10-27 Mark McLoughlin <mark@skynet.ie> Patch to allow a single XML file to represent an arbitrary GConf tree rather than a single directory. Also fixes many little bugs with the markup backend. See bug #116948. * backends/Makefile.am: install the markup backend and build gconf-merge-tree. * backends/markup-tree.c: if a %gconf-tree.xml file exists in a given directory, load that and ignore any %gconf.xml files in the directory and any sub-directories. Also, fix many little buglets to make this work compatibly with the XML backend. * gconf/gconftool.c: (recurse_subdir_dump), (do_dump_values): sort the directories before dumping. (print_schema_in_xml): don't add extra whitespace to schema descriptions. (print_value_in_xml): dump " " strings as empty strings. (compare_entries), (dump_entries_in_dir): dump entries sorted by the key name. * backends/markup-backend.c: (cleanup_timeout): fixup. * backends/gconf-merge-tree.c: utility to merge a GConf tree into a single markup backend %gconf-tree.xml file. Doing this to a tree means that any changes you make to that tree using the markup backend will not be reflected if you go back to the XML backend. * tests/testbackend.c: include stdio.h to fix warnings. Wed Oct 22 22:59:47 2003 Matthias Clasen <maclas@gmx.de> * doc/gcnf/Makefile.am: * doc/gconf/gconf.sgml: * doc/gconf/tmpl/gconf-backend.sgml: * doc/gconf/tmpl/gconf-client.sgml: * doc/gconf/tmpl/gconf-engine.sgml: * doc/gconf/tmpl/gconf.sgml: Use gtk-doc in xml mode. (#111791) 2003-10-22 Havoc Pennington <hp@redhat.com> * gconf/gconf.c, gconf/gconfd.c: use g_string_new (NULL) rather than g_string_new ("") #106974 Morten Welinder * gconf/gconfd.c (gconf_main): change cleanup/exit timeout to 30 seconds, bug #97361 * backends/xml-cache.c (cache_clean): whack string that needed ngettext, as it was dumb debug spew. #123866 Danilo Segan * gconf/gconf.c (gconf_handle_corba_exception): fix to avoid passing arbitrary data as printf format, #123556 Dan Winship * backends/markup-backend.c (resolve_address): remove unused variables, #122734 Kjartan Maraas * gconf.spec.in: remove, not maintained * gconf/gconf-error.c (gconf_error_new_valist): don't put a newline in error messages, bug #111845 Morten Welinder * throughout: s/dir/directory/ bug #111822 Christian Rose * gconf/gconfd.c (gconf_server_load_sources): avoid string concatenation with #defines, confuses gettext, #111821 Christian Rose * gconf/gconfd.h: fix gconf_get_poa() declaration, #110186 Morten Welinder * gconf/gconf-internals.c (read_current_server_and_set_warning): fix a warning, bug #110179 * gconf/gconfd.c (test_safe_tmp_dir): fix warning 2003-10-22 Havoc Pennington <hp@redhat.com> * gconf/gconf-client.c: patch from Ray Strode to avoid breaking the schema name cache, bug #94412 * doc/rationales.txt: add file to track bugzilla numbers to refer to later 2003-10-22 Vincent Untz <vincent@vuntz.net> * backends/xml-dir.c (dir_load_doc): don't mark "%s" as translatable. Fix bug #84893. 2003-10-09 Ross Burton <ross@burtonini.com> * doc/Makefile.am: * doc/gconftool-2.1: Added a basic man page. 2003-10-07 Aygimantas Beru?ka <uid0@tuxfamily.org> * configure.in: Added "lt" to ALL_LINGUAS 2003-09-26 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (gconf_engine_all_dirs): fix crash calling this with --direct (local source), the list contains strings not GConfEntry Wed Sep 10 15:23:17 2003 Jonathan Blandford <jrb@redhat.com> * configure.in: Rerelease 2.4.0.1 to fix glib-gettext problem. 2003-09-08 Havoc Pennington <hp@redhat.com> * configure.in: 2.4.0 2003-09-05 Taneem Ahmed <taneem@bengalinux.org> * configure.in: Added "bn" to ALL_LINGUAS. 2003-08-30 Laurent Dhima <laurenti@alblinux.net> * configure.in: Added "sq" (Albanian) to ALL_LINGUAS. 2003-08-18 Muktha <muktha.narayan@wipro.com> * gconf/gconftool.c (main) : Print usage message when no options are passed to gconftool-2. Fixes #70316. 2003-08-11 Christophe Fergeau <teuf@gnome.org> * doc/gconf/tmpl/gconf-client.sgml: * doc/gconf/tmpl/gconf.sgml: Update API documentation (in particular the gconf_client doc). Fixes #89348. 2003-08-11 Frederic Crozat <fcrozat@mandrakesoft.com> * gconf/gconf-client.c: (gconf_client_real_unreturned_error), (gconf_client_real_error), (cache_pairs_in_dir): * gconf/gconf-internals.c: (gconf_log): * gconf/gconf-listeners.c: (ltable_insert), (ltable_remove), (spew_func), (ltable_spew): * gconf/gconfd.c: (main): * gconf/gconftool.c: (main), (recurse_subdir_list), (do_recursive_list), (do_dump_values), (list_pairs_in_dir), (print_schema_in_xml), (print_pair_in_xml), (print_list_in_xml), (print_value_in_xml), (dump_entries_in_dir), (do_dir_exists), (do_spawn_daemon), (do_get), (read_value_type), (do_set), (do_get_type), (do_get_list_size), (do_get_list_element), (do_schema_info), (do_associate_schema), (do_dissociate_schema), (do_set_schema), (do_all_entries), (do_unset), (do_recursive_unset), (do_all_subdirs), (get_list_value_from_xml), (get_pair_value_from_xml), (get_schema_values_from_xml), (get_values_from_xml), (set_values), (fill_default_from_string), (extract_global_info), (process_locale_info), (process_key_list), (get_schema_from_xml), (hash_install_foreach), (hash_uninstall_foreach), (process_schema), (process_list), (do_load_file), (do_makefile_install), (do_makefile_uninstall), (check_err), (key_breakage), (do_break_key), (do_break_directory), (do_get_default_source): * gconf/gnome-testclient.c: (notify_func), (main): * gconf/testclient.c: (main), (notify_func): use g_print/g_printerr instead of printf/fprintf(strerr). It fixes UTF-8 being displayed on command line with non-UTF-8 locales. 2003-08-09 Guntupalli Karunakar <karunakar@freedomink.org> * configure.in: Added "hi" in ALL_LINGUAS. 2003-03-16 Jeffrey Stedfast <fejj@ximian.com> Fixes bug #108574 * backends/xml-dir.c (gconf_xml_doc_dump): Replacement for xmlDocDump() which is not reliable. While we're at it, also dump formatted xml. (dir_sync): Call the new gconf_xml_doc_dump() rather than xmlDocDump() because we don't want to risk losing user settings. 2003-07-19 Havoc Pennington <hp@pobox.com> * doc/gconf/gconf.sgml: doc fixes from Samuel Stringham #117830 2003-07-17 Havoc Pennington <hp@redhat.com> * gconf/gconftool.c (do_recursive_unset): do a suggest_sync after do_recursive_unset() (which shouldn't be necessary except that we suck). Patch from Greg Hudson #117713 * gconf/gconf-value.h: flags can't be 0, patch from Greg Hudson, #117712 2003-07-07 Mark McLoughlin <mark@skynet.ie> * gconf/gconf-client.c: (recurse_subdir_list): the subdir list contains full paths, so don't append it to the full path. Fixes recursive preloading. (gconf_client_preload): don't get (and leak) the list of subdirs if we're only doing onelevel preloading. 2003-06-28 Dafydd Harries <daf@parnassus.ath.cx> * gconf/gconftool.c (main): Slight extra option tweaking. 2003-06-26 Dafydd Harries <daf@parnassus.ath.cx> * gconf/gonftool.c (main): Tidied up "--foo option must be used by itself" messages. 2003-06-26 Ross Golder <ross@golder.org> * gconf/gconftool.c (do_dissociate_schema): Fixed a misleading string (#116042) * gconf/gconftool.c (do_associate_schema): Prevent segfault when no args supplied (#116040) * gconf/gconftool.c (do_dissociate_schema): Prevent segfault when no args supplied (#116040) 2003-06-26 Abel Cheung <maddog@linux.org.hk> * configure.in: Added "am" "mk" to ALL_LINGUAS. 2003-06-26 Abel Cheung <maddog@linux.org.hk> * configure.in: Added "am" "mk" to ALL_LINGUAS. 2003-06-23 Havoc Pennington <hp@redhat.com> * NEWS: update * configure.in: 2.3.3 2003-06-22 James M. Cape <jcape@ignore-your.tv> * gconf/gconf-database.c: Fix for GCC 3.3 warning (fixes #115722). 2003-06-18 Mohammad DAMT <mdamt@bisnisweb.com> * po/id.po: Added Indonesian translation * configure.in: Added "id" to ALL_LINGUAS 2003-06-18 Rodrigo Moya <rodrigo@ximian.com> Fixes #73323 * gconf/gconf-sources.h: moved GConfUnsetFlags enum... * gconf/gconf-value.h: ...to here. * gconf/gconf-client.[ch] (gconf_client_recursive_unset): implemented new function for calling the unrecursive_unset method on the engine. 2003-06-12 Guntupalli Karunakar <karunakar@freedomink.org> * configure.in: Added "ml" in ALL_LINGUAS. 2003-06-06 Michael Meeks <michael@ximian.com> * configure.in: remove the explicit linc module. 2003-05-31 Michael Meeks <michael@ximian.com> * backends/markup-tree.c: include <stdio.h> 2003-05-19 Ross Burton <ross@burtonini.com> * gconf/gconftool.c: Implement uninstalling GConf schemas, closing #104487. Patch based on work by jmmv@hispabsd.org <Julio Merino>. 2003-05-19 Telsa Gwynne <hobbit@aloss.ukuu.org.uk> * configure.in: Add cy (Welsh) to ALL_LINGUAS 2003-05-09 Mark McLoughlin <mark@skynet.ie> * gconf/gconftool.c: (print_value_in_xml): escape the string text before outputting it in the XML. (dump_entries_in_dir): ouput the keyname relative to the base directory rather than the current directory. 2003-05-08 Ross Burton <ross@burtonini.com> * gconf/gconf-client.[ch]: Add gconf_client_notify(), to fake a notification from a monitored key. Fixes #70553. 2003-05-07 Danilo Egan <dsegan@gmx.net> * configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS. 2003-05-03 Havoc Pennington <hp@pobox.com> * configure.in: 2.3.2 * NEWS: update 2003-04-26 Masahiro Sakai <sakai@tom.sfc.keio.ac.jp> * configure.in: call AC_LIBTOOL_WIN32_DLL. * backends/Makefile.am: add -no-undefined to *_la_LDFLAGS. add $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la to *_la_LIBADD. * gconf/Makefile.am (libgconf_2_la_LDFLAGS): add -no-undefined. * gconf/gconfd.c (main): use g_strdup_printf() instead of strlen() + g_malloc() + g_snprintf(). 03-04-23 Muktha <muktha.narayan@wipro.com> * gconf/gconfd.c When reading the saved_state file, gconfd will not log message if the saved_state file is not present. Fixes bug #110944. 2003-03-27 Brian Cameron <brian.cameron@sun.com> * gconf/gconf-sanity-check.c Updated text of the lock question to more clear text that was approved by the docs team. Havoc reviewed/approved this change. 2003-03-27 Ross Burton <ross@burtonini.com> * gconf/gconftool.c: Added --get-type, --get-list-size and --get-list-element. Patch from TODO, closing #91349. (do_dump_values): Return an int as the prototype says we do. Applied patch from Jeff Franks <jcf@tpg.com.au> with a extensions, closing #97205. * gconf/gconf-schema.h: * gconf/gconf-value.h: Wrapped both header files in an extern "C" for C+compilation. * gconf/gconf-internals.h: * gconf/gconf-value.h: Exported gconf_entry_copy(), _ref and _unref. Moved declaration from gconf-internals.h to gconf-value.h. Also deprecated gconf_entry_free(). * doc/gconf/tmpl/gconf-value.sgml: Fixed typo, GCONF_VALUE_DOUBLE, in the description for gconf_value_get_float(). Changed the value type to GCONF_VALUE_FLOAT. * gconf/gconf-client.h: Added missing GCONF_CLIENT_GET_CLASS macro. 2003-03-26 Havoc Pennington <hp@pobox.com> * gconf/gconf-internals.c (gconf_get_daemon_dir): we need giop_tmpdir_init(), linc_get_tmpdir() isn't helpful. Revert to /tmp/gconfd-foo for now. 2003-03-26 Havoc Pennington <hp@pobox.com> * gconf/gconf-internals.c (gconf_get_daemon_dir): call linc_set_tmpdir() to maybe make it work 2003-03-26 Havoc Pennington <hp@redhat.com> * configure.in: bump to 2.3.1 Apply "local locks" patch with linc_get_tmpdir modification from Michael, and the default changed to local locks. Now to get global locks you must set GCONF_GLOBAL_LOCKS=1. * gconf/gconf-internals.c (gconf_log): convert to locale encoding to pass stuff to syslog 2003-03-26 Christian Rose <menthos@menthos.com> * configure.in: Added "yi" to ALL_LINGUAS. 2003-03-14 Mark McLoughlin <mark@skynet.ie> Basically the same patch as the previous one .. but for the markup backend. * backends/markup-backend.c: (resolve_address): update. (clear_cache): use markup_tree_rebuild() instead of re-creating the tree. (ms_new): remove the read_only arg and s/markup_tree_new/ markup_tree_get/ (ms_destroy): s/markup_tree_free/markup_tree_unref/ * backends/markup-tree.[ch]: (markup_tree_get), (markup_tree_unref): rename these from new()/free() and share caches for sources with the same root directory. (markup_tree_rebuild): impl. (markup_dir_needs_sync): we don't keep the read_only flag per-tree anymore so don't check it here. 2002-07-16 Mark McLoughlin <mark@skynet.ie> Use the same cache for multiple sources with the same root directory. * backends/xml-cache.[ch]: (cache_get): rename from cache_new and return and existing cache for this root dir if one exists. Also use g_free as a key destroy handler for the nonexistant hash instead of doing it manually. (cache_unref): rename from cache_destroy and only destroy when refcount drops to zero. (cache_set_nonexistent), (cache_destroy_nonexistant_foreach): don't free the key here. * backends/xml-backend.c: (xs_new): s/cache_new/cache_get/ (xs_destroy): s/cache_destroy/cache_unref/. 2003-03-14 Mark McLoughlin <mark@skynet.ie> * backends/Makefile.am: kill unused bdb SOURCES. 2003-03-13 Mark McLoughlin <mark@skynet.ie> Implement --load and --dump options for gconftool. e.g.: gconftool-2 --dump /apps/metacity > metacity.dump gconftool-2 --config-source blah --load metacity.dump or gconftool-2 -load metacity.dump /apps/other_metacity * gconf/gconftool.c: (recurse_subdir_dump), (do_dump_values), (print_schema_in_xml), (print_pair_in_xml), (print_list_in_xml), (print_value_in_xml), (get_key_relative), (dump_entries_in_dir): impl dumping to XML. (get_list_value_from_xml), (get_car_cdr_value), (get_pair_value_from_xml), (get_schema_values_from_xml), (get_values_from_xml), (get_first_value_from_xml), (set_values): impl loading entries from XML. (hash_listify_foreach), (process_entry), (fill_default_from_string), (extract_global_info), (process_locale_info), (get_schema_from_xml), (hash_install_foreach), (process_schema), (process_list), (do_load_file), (do_makefile_install): munge the entries loading code with schemas loading code. 2003-03-05 Havoc Pennington <hp@pobox.com> * backends/Makefile.am: remove BDB backend * configure.in: remove BDB backend support 2003-03-04 Mark McLoughlin <mark@skynet.ie> Fixes weird bug where a directory appears to not exist when you create subdirectories of it. * backends/xml-cache.c: (cache_lookup): use unset_nonexistent. (cache_unset_nonexistent): unset the existent flag not only on this directory but all parent directories. 2003-02-25 Havoc Pennington <hp@redhat.com> * configure.in: bump to 2.3.0 unstable version number to avoid confusion 2003-02-22 Roozbeh Pournader <roozbeh@sharif.edu> * configure.in: Added "fa" to ALL_LINGUAS. 2003-02-12 Mark McLoughlin <mark@skynet.ie> * gconf/gconf.c: (gconf_engine_set), (gconf_engine_associate_schema): don't rely on caller passing in a valid GError** in assertions. 2003-02-12 Mark McLoughlin <mark@skynet.ie> * backends/xml-dir.c: (listify_foreach): set the schema name even when the key is set. 2003-01-21 Ross Burton <ross@burtonini.com> * doc/gconf-1.0.dtd: Add comments to the DTD. 2003-01-21 Christian Rose <menthos@menthos.com> * configure.in: Added "mn" to ALL_LINGUAS. 2003-01-12 Havoc Pennington <hp@pobox.com> * configure.in: 2.1.90 2002-12-04 Havoc Pennington <hp@pobox.com> * backends/markup-tree.c (markup_entry_get_value): fix a logic error causing us to deref a null pointer, reported by Brian Alexander Quistorff 2002-11-22 Dan Mills <thunder@ximian.com> * configure.in: fix gtk-doc version check. 2002-11-09 Dmitry G. Mastrukov <dmitry@taurussoft.org> * configure.in: Added Belarusian to ALL_LINGUAS 2002-11-02 Havoc Pennington <hp@pobox.com> * gconf/gconf-internals.c (gconf_value_list_to_primitive_list_destructive): fix using the wrong type (value->type not value->list_type) in an error message, #96210 2002-10-18 Havoc Pennington <hp@pobox.com> * gconf/gconf-internals.c (subst_variables): patch from Benn Vosseteig fixing a crash with a long path to $HOME 2002-09-30 Yanko Kaneti <yaneti@declera.com> * doc/gconf/gconf.sgml: * doc/gconf-1.0.dtd: Some additions to match the full range of schema elements curently accepted by gconftool. Supposedly complete now. 2002-09-18 Yanko Kaneti <yaneti@declera.com> * doc/Makefile.am: change the gconf-1.0.dtd install location to $(datadir)/sgml/gconf which sounds more standards compliant. 2002-09-18 Havoc Pennington <hp@pobox.com> * backends/markup-backend.c (resolve_address): add FIXME about GCONF_LOCAL_LOCKS 2002-09-18 Havoc Pennington <hp@pobox.com> Merge gconf-markup-hacking branch * tests/testbackend.c: add a test for backends * gconf/gconftool.c (extract_global_info): add more error checking, adding more error strings * gconf/gconf-schema.c (gconf_schema_validate): do some more validation with error strings that couldn't be added to stable branch * backends/xml-dir.c: fix quoting in error string * backends/xml-backend.c (resolve_address): fix quoting in error string * backends/markup-tree.c: make it work * backends/markup-backend.c: make it work * backends/Makefile.am (libgconfbackend_markup_la_SOURCES): add markup-backend.c 2002-09-18 Yanko Kaneti <yaneti@declera.com> * gconf.m4.in: Introduce --disable-schemas-install and the GCONF_SCHEMAS_INSTALL conditional, which allows disabling the schemas installation given the package decides to support it. * doc/Makefile.am: * doc/gconf/gconf.sgml: * doc/gconf-1.0.dtd (ADDED): formal dtd for the schema files. Not yet complete. Installed in $(pkgdatadir)/xml/gconf/ for now. 2002-09-18 Havoc Pennington <hp@pobox.com> * configure.in: bump to 2.1.0, to get in sync with gnome and allow identifying HEAD 2002-09-09 jacob berkman <jacob@ximian.com> * gconf/GConf.idl: * gconf/GConfX.idl: * gconf/Makefile.am: * gconf/gconf-database.h: * gconf/gconf-internals.h: * gconf/gconf.c: * gconf/gconfd.c: * gconf/gconfd.h: rename GConf.idl to GConfX.idl in order to build on non-case-sensitive file systems 2002-09-06 Peteris Krisjanis <peteris.krisjanis@os.lv> * configure.in: Added Latvian (lv) to ALL_LINGUAS 2002-08-04 Havoc Pennington <hp@redhat.com> * configure.in: 1.2.1 2002-07-12 Brian Cameron <Brian.Cameron@sun.com> * gconf/gconfd.c Removed reference to gnome_segv2 since it was not used. 2002-07-11 Brian Cameron <Brian.Cameron@sun.com> * gconf-2.0.pc.in * gconf.spec.in * gconf/Makefile.am * gconf/gconfd.c * gconf/gconf-internals Now install gconfd-2 and gconf-sanity-check-2 in libexec 2002-07-09 Mark McLoughlin <mark@skynet.ie> * gconf/gconfd.c: (obtain_database): fix silly with addresses list. 2002-07-04 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (logfile_read): close our FILE* when we're done. Reported by Michael. 2002-07-03 Yanko Kaneti <yaneti@declera.com> * configure.in: (ALL_LINGUAS) Added Bulgarian (bg). 2002-06-16 Havoc Pennington <hp@pobox.com> * gconf/gconf-sources.c (gconf_sources_recursive_unset): don't propagate nonexistent errors, fixes a warning. Fri Jun 14 13:24:42 2002 HideToshi Tajima <hidetoshi.tajima@sun.com> * gconf/gconfd.c: include <locale.h> for setlocale. 2002-06-11 Havoc Pennington <hp@pobox.com> * configure.in: version 1.2.0 * README, NEWS, AUTHORS: update 2002-06-02 Havoc Pennington <hp@pobox.com> * gconf/gconftool.c: add --version argument, #79555, involves a help string but it should be OK if this string isn't translated. * gconf/gconf-client.c (gconf_client_get): add some g_return_if_fail, #74984 (gconf_client_key_is_writable): handle NULL entry, #75503 * gconf/gconfd.c (gconf_handle_segv): disable bug-buddy for now, too much recursion danger. * gconf/gconf-internals.c, gconf/gconfd.c: replace isspace() with g_ascii_isspace, bug #70945 * gconf/gconf-value.c (gconf_value_new): init i18n here * gconf/gconf.c (gconf_engine_blank): init i18n here * gconf/gconftool.c (main): init i18n here, call textdomain * gconf/gconfd.c (main): init i18n here, and call setlocale and textdomain * gconf/gconf-internals.c (_gconf_init_i18n): function to call from various places (gconf_orb_get): init i18n here * configure.in: require ORBit 2.4.0, linc 0.5.0, bump version to 1.1.11 fix setting of gconflocaledir (there was a typo, gtklocaledir instead of gconflocaledir) check for bind_textdomain_codeset * backends/Makefile.am (noinst_LTLIBRARIES): make markup lib noinst for now, until we merge back the gconf-markup-hacking branch post-string-freeze 2002-06-02 Havoc Pennington <hp@pobox.com> * backends/xml-cache.c (cache_sync): avoid zombie directory cruft by aggressively redoing the resync anytime we delete a subdir, which might enable a parent dir to also be deleted. 2002-06-02 Havoc Pennington <hp@pobox.com> * backends/xml-cache.c (cache_lookup): don't leave a dir marked nonexistent after creating it (cache_set_nonexistent): remove hash entry _before_ freeing the current key. Should fix assorted "gconf loses my settings" kind of bugs. * backends/xml-dir.c (dir_sync): don't try to delete the root dir, should fix some warnings. 2002-05-27 Hasbullah Bin Pit <sebol@ikhlas.com> * configure.in: Added Malay (ms)to ALL_LINGUAS. * po/ms.po: Added Malay Translation. 2002-05-27 Havoc Pennington <hp@pobox.com> * backends/markup-tree.c: implement all the tree reading stuff, need to implement modification/writing and implement markup-backend.c. (Backend is totally unused and unusable until post-GNOME2, don't worry.) * gconf/gconf-internals.h (gconf_value_set_string_nocopy): new function 2002-05-15 Pablo Saratxaga <pablo@mandrakesoft.com> * configure.in: Added Vietnamese (vi) to ALL_LINGUAS 2002-05-10 Shivaram U <shivaram.upadhyayula@wipro.com> * doc/gconf/Makefile.am: Honouring CFLAGS and LDFLAGS passed by the user Ensures successful 64bit build on Solaris. 2002-05-09 Michael Meeks <michael@ximian.com> * backends/xml-entry.c (entry_get_value): ensure we don't print a NULL. 2002-04-29 Pablo Saratxaga <pablo@mandrakesoft.com> * configure.in: Added Basque (eu) to ALL_LINGUAS 2002-04-29 Havoc Pennington <hp@pobox.com> * configure.in: 1.1.10 2002-04-26 Havoc Pennington <hp@pobox.com> * gconf/gconf-changeset.c: make the internal functions static * gconf/gconf-internals.c (byte_type): make static (get_hostname): remove * gconf/gconfd.c (add_client): set the maximum connection buffer to a reasonable-size value in order to handle locked-up clients. * backends/xml-entry.c (node_set_schema_value): opacity fixes * gconf/gconftool.c (list_pairs_in_dir): opacity fixes * gconf/gconf.c: opacity fixes (gconf_engine_get_for_address): remove the g_warning about using this function; the change notification is a bit broken but maybe it's still useful. * gconf/gconf-sources.c: opacity fixes * gconf/gconf-database.c: namespace fixes * gconf/gconf-internals.h: namespace some things * gconf/gconf-internals.c: opacity fixes (fill_corba_schema_from_gconf_schema): make static (corba_schema_from_gconf_schema): make static * gconf/gconf-schema.c: do groundwork to make GConfSchema opaque, and fix some lack of spaces before parens * gconf/gconf-value.c: do groundwork to make GConfEntry mostly opaque (implement with GConfRealEntry) 2002-04-19 Abel Cheung <maddog@linux.org.hk> * configure.in: Added "zh_TW" to ALL_LINGUAS. 2002-04-10 jacob berkman <jacob@ximian.com> * backends/xml-dir.c (my_xml_parse_file): g_file_get_contents() takes gsize, not int 2002-03-29 Havoc Pennington <hp@pobox.com> * configure.in: 1.1.9 * gconf/gconf-client.c (gconf_client_get_string): clean up some weird cruft * gconf/gconf-internals.c (primitive_value): steal the schema, avoids a copy. * gconf/gconf-value.h, gconf/gconf-value.c: Hide private fields, suggested by Michael. But then make them public again for now due to libgnome/eel being broken. * configure.in (PKGCONFIG_MODULES): require the right versions of various things 2002-03-24 Havoc Pennington <hp@pobox.com> * gconf/gconf-internals.c (gconf_activate_server): save a bit more data about the errors that occurred for the error message, and shorten the message in favor of a link to the new gconf web page. 2002-03-23 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (gconf_main): change exit timeout to 2 minutes 2002-03-22 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (gconf_set_exception): change "returning exception" message to DEBUG priority 2002-03-20 Havoc Pennington <hp@pobox.com> * tests/testpersistence.c: remove the -G_MAXFLOAT test, since it didn't work and probably shouldn't * gconf/gconf-internals.c (gconf_double_to_string): use g_ascii_dtostr() (gconf_string_to_double): use g_ascii_strtod() 2002-03-21 Havoc Pennington <hp@redhat.com> * configure.in: fuck, Martin apparently deleted -Wall last March. * gconf/gconftool.c (main): don't pass unused arg to do_get_default_source * backends/xml-test.c: include all headers we use * backends/xml-backend.c (remove_dir): fix unused variable * backends/xml-dir.c (dir_rescan_subdirs): return a value in all cases * gconf/gconf-sanity-check.c (check_gconf): remove unused variables * gconf/gconfd.c: include sys/wait.h * gconf/gconf-client.c: remove unused function 2002-03-21 Havoc Pennington <hp@redhat.com> * backends/xml-entry.c (schema_node_extract_value): be sure we use only NODE elements as a fallback, and that we always use a NODE if possible (schema_node_extract_value): fix bug that would fail to fall back to a less-well-matched locale value if a better matched locale had no value. Should fix Galeon. And the world rejoiced! Assuming it actually fixes it. ;-) 2002-03-21 Havoc Pennington <hp@redhat.com> * gconf/gconf-schema.c: move schema accessors to be functions not macros. 2002-03-20 Havoc Pennington <hp@redhat.com> * gconf/gconf-internals.c (gconf_value_list_to_primitive_list_destructive): don't call gconf_value_get_int on a bool. WTF. * gconf/gconfd.c (main): enable the signal handler for USR1 * backends/xml-dir.c (dir_load_doc): do our own file reading, only use libxml to parse, so we can return an error on I/O problems (as opposed to the current behavior, nuking the file contents, which only makes sense for corrupt files) 2002-03-20 Havoc Pennington <hp@redhat.com> * gconf/gconf-value.c: change all the "getters" to be functions not macros, so we can add g_return_if_fail and be typesafe and generally suck less. Suggested most recently by Jody. 2002-03-19 Havoc Pennington <hp@pobox.com> * backends/xml-cache.c (dircmp): fix bad assertion reported by lunarbard on #gnome 2002-03-14 Havoc Pennington <hp@redhat.com> * gconf/gconf-sanity-check.c (check_gconf): beef up the sanity checker to detect stuck locks, missing config files, and other screwups. 2002-03-10 Havoc Pennington <hp@pobox.com> * gconf/gconf-sources.c (gconf_sources_query_metainfo): fix obnoxious typo (s/mi/this_mi/), also needed to fix bug reported by Kristian. * backends/xml-backend.c (query_metainfo): make key relative prior to looking up metainfo. Fixes bug where schema defaults would mysteriously get lost in some cases, reported by Kristian Rietveld. 2002-03-07 Havoc Pennington <hp@pobox.com> * backends/xml-test.c: test program for XML backend code * configure.in: add a "minimum" debug mode and compile with it by default. * gconf/gconftool.c (main): call setlocale() * tests/runtests.sh: run tests in various locales * gconf/gconf-value.h: add more padding to GConfEntry * gconf/gconf-internals.c (gconf_CORBA_Object_equal): (gconf_CORBA_Object_hash): remove stupid inlining of these functions 2002-02-26 Havoc Pennington <hp@redhat.com> * gconf/gconf-client.c (notify_one_entry): protect notify callback with a reference count around the entry, for reentrancy. Reported by Rodrigo Moya and Alex Larsson. * gconf/gconf-value.c (gconf_entry_unref, gconf_entry_ref): new internal (for now) functions (gconf_entry_free): just call gconf_entry_unref Sat Feb 16 01:27:29 2002 Jonathan Blandford <jrb@redhat.com> * gconf/gconftool.c (read_value_type): fix typo in reading args. 2002-02-14 Dave Camp <dave@ximian.com> * gconf/gconf.c: (gconf_string_to_enum): Use g_ascii_strcasecmp instead of g_strcasecmp. * gconf/gconfd.c: (gconf_main), (gconf_main_quit): Replace g_main_* with g_main_loop_*. * examples/simple-controller.c: (main): Use g_signal_connect instead of gtk_signal_connect. * examples/simple-view.c: (key_changed_callback): Use gtk_label_set_text instead of gtk_label_set. 2002-02-12 Havoc Pennington <hp@pobox.com> * configure.in: version 1.1.8 2002-02-10 Jody Goldberg <jody@gnome.org> * gconf/gconftool.c : Include libxml/globals to get xmlFree Without it we call a NULL function pointer. * backends/xml-entry.c : ditto. 2002-02-10 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (signal_handler): run gnome_segv if DISPLAY is set. Why not. may turn it off for production. 2002-02-10 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (CHECK_OWNER_USE): put name of function in the warning (gconf_engine_associate_schema): remove warning from this function, it has no GConfClient equivalent and won't mangle the cache 2002-02-10 Zbigniew Chyla <cyba@gnome.pl> * configure.in (ALL_LINGUAS): Added pl (Polish). 2002-02-08 jacob berkman <jacob@ximian.com> * gconf.m4.in: revert some stuff i didn't mean to commit yesterday. Fixes problems when building with DESTDIR set. 2002-02-07 jacob berkman <jacob@ximian.com> * gconf/Makefile.am (install-exec-local): don't install gconftool symlink * gconf.m4.in (AM_GCONF_SOURCE_2): call gconftool-2 rather than gconftool 2002-02-05 Havoc Pennington <hp@redhat.com> * gconf/gconf-sanity-check.c (main): add gconf-sanity-check-2 app, which either exits sucessfully and does nothing, or pops up a dialog explaining a gconf problem and exits with a failure code. Could be placed in gnome-session, or at least we can tell users to run it as a diagnostic tool. Only catches very simple problems so far. * configure.in: define XML_AND_GTK_CFLAGS 2002-02-05 Michael Meeks <michael@ximian.com> * gconf/gconf.h: move (gconf_debug_shutdown) out of the internals guard - doh. * gconf/gconf-client.c (gconf_client_get_default): ensure we still own the reference we keep around. 2002-02-04 Havoc Pennington <hp@redhat.com> * gconf/Makefile.am (regenerate-built-sources): give up and check stupid enum sources in to CVS and require manual rebuild. * configure.in: bump to 1.1.7, do library versioning. Default bdb backend to disabled, since I don't think it's being actively used/tested. * autogen.sh: use automake-1.4 aclocal-1.4 if found 2002-02-02 jacob berkman <jacob@ximian.com> * gconf/Makefile.am: re-enable explicit dependency on built sources, as it doesn't build otherwise. 2002-02-01 Havoc Pennington <hp@pobox.com> * gconf/Makefile.am: include the *.sh scripts * gconf/regenerate-enum-footer.sh: fix screwup that broke build 2002-02-01 Havoc Pennington <hp@redhat.com> * gconf/Makefile.am: move the complicated enum rules into small shell scripts (regenerate-enum-*.sh), rename CORBA_SOURCES to CORBA_SOURCECODE 2002-01-28 Michael Meeks <michael@ximian.com> * gconf/gconf-database.c: warning cleans. (impl_ConfigDatabase3_add_listener_with_properties): init name. (gconf_database_add_listener): right args for format. * gconf/gconf-client.c: warning cleans. * gconf/gconf-internals.c (gconf_orb_release): return shutdown status. * gconf/gconf.c (gconf_detach_config_server): privatize again, and split out ORB shutdown into (gconf_debug_shutdown): here. 2002-01-25 Michael Meeks <michael@ximian.com> * gconf/gconf.c (try_to_contact_server): release the server reference, if it's to a duff object. (gconf_get_config_listener): strip local 'listener', since we have a static module global for that. (gconf_detach_config_server): release the listener. (gconf_get_config_listener): release the poa & manager references. * tests/testgconf.c (main): add gconf_detach_config_server * gconf/gconf-internals.c (gconf_orb_get): remove bonobo activation worries, kill bogus fiddling with the default context. (gconf_orb_release): impl. * gconf/gconf.c (gconf_detach_config_server): publicise & destroy engines_by_cb. (database_rec_release): impl. (gconf_engine_set_database): use g_hash_table_new_full (gconf_engine_detach): just remove from the hash. (try_to_contact_server): release the server reference, if it's to a duff object. 2002-01-28 Ross Golder <ross@golder.org> * configure.in: Updated popt URL. 2002-01-27 Havoc Pennington <hp@pobox.com> * gconf/Makefile.am: don't use BUILT_SOURCES, might fix annoying build problems (CLEANFILES): put stamp files in CLEANFILES (s-enum-types-h): make enum stamps depend on Makefile 2002-01-20 Havoc Pennington <hp@pobox.com> * gconf/Makefile.am: add gconf-enum-types.h/gconf-enum-types.c files, thanks to Johan Dahlin * gconf-2.0.pc.in (Libs): oops, we had Requires: bonobo-activation still 2002-01-16 Anders Carlsson <andersca@gnu.org> * gconf/gconf-client.c (gconf_client_get_full): Plug a leak. 2002-01-14 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (gconf_key_is_below): fix to handle root dir * gconf/gconftool.c (main): add --unapply-schema mode * gconf/gconf-database.c (impl_ConfigDatabase_set_schema): allow unset schema if we get an empty schema name * gconf/gconf.c (gconf_engine_associate_schema): allow NULL schema name to unset the schema * gconf/gconftool.c (do_recursive_unset): use new gconf_engine_recursive_unset internal function to do the unset * backends/xml-cache.c, backends/xml-dir.c: rearrange things to try and make directories auto-disappear when empty * backends/xml-backend.c (remove_dir): make this do nothing * backends/xml-dir.c (dir_all_subdirs): cache subdir names in the directory so we can cheaply check if we have subdirectories * gconf/gconf-sources.c (gconf_sources_set_value): enhance the other giant error message * gconf/gconf-internals.c (gconf_activate_server): improve error message to cover stale locks and explain how to active TCP for ORBit * gconf/gconf-sources.c (gconf_sources_recursive_unset): implement * gconf/gconf.c (gconf_key_check): handle NULL key * gconf/gconf-sources.c (gconf_sources_set_schema): allow NULL schema name * gconf/GConf.idl: add flags to recursive_unset * gconf/gconf.c (gconf_engine_recursive_unset): Add this internal API to use in gconftool etc. 2002-01-14 Havoc Pennington <hp@redhat.com> * gconf/gconf-client.c (gconf_client_get_full): fix segfault on missing entry 2002-01-12 Havoc Pennington <hp@pobox.com> * examples/basic-gconf-app.c (main): remove unused variable, fix from Markus Bertheau * gconf/gconf-client.c (get): fix to always store the same semantic thing in the cache, regardless of whether user wanted the schema default (always pass use_default = TRUE to GConfEngine) (gconf_client_key_is_writable): avoid pointless copies if possible, to make this fast * gconf/gconf-schema.h: add padding to GConfSchema * gconf/gconf-value.h: add padding to GConfEntry * gconf/gconf-value.c (gconf_entry_equal): new internal function * gconf/gconf-client.c: queue notifies to an idle handler, replace CacheEntry with GConfEntry * gconf/gconf-client.h (struct _GConfClientClass): add padding (struct _GConfClient): add padding 2001-12-11 Havoc Pennington <hp@redhat.com> * tests/testgconf.c (check_unset): fixes 2002-01-10 Havoc Pennington <hp@pobox.com> * configure.in: version to 1.1.6 (GCONF_REVISION): increment 2002-01-08 Mark McLoughlin <mark@skynet.ie> * backends/xml-dir.c: (struct _Dir): kill unused subdir_cache. (dir_sync): move incorrect assertion. 2002-01-07 Mark McLoughlin <mark@skynet.ie> * gconf/gconf-database.c: (gconf_database_new): * gconf/gconf.c: (gconf_get_config_listener): * gconf/gconfd.c: (main): no need to explicitly activate CORBA objects, the RootPOA has the IMPLICIT_ACTIVATION policy. 2002-01-05 Havoc Pennington <hp@pobox.com> * gconf/gconf-client.c (gconf_client_cache): return bool for whether the value in the cache changed (notify_from_server_callback): short-circuit notification if a value hasn't actually changed. would be better to do this server-side, but that's a bit complicated for now. * gconf/gconf-value.c (gconf_value_compare): new function, internal for now to avoid API addition * gconf/gconf-client.c (cache_entry_list_destructively): new static function (gconf_client_all_entries): cache the requested entries, if we are monitoring the dir we get the values from. * gconf/gconf-value.c (gconf_entry_copy): new function, internal for now to avoid API addition 2002-01-04 Havoc Pennington <hp@pobox.com> * gconf/gconf-client.c (gconf_client_class_init): add GCONF_DEBUG_TRACE_CLIENT setting, to debug spew about what's going on (gconf_client_real_unreturned_error): also ignore GCONF_ERROR_NO_WRITABLE_DATABASE since it's typically not an error to report. 2002-01-04 Havoc Pennington <hp@pobox.com> * gconf/gconf-client.c (gconf_client_preload): allow preloading directories that are below directories being monitored, not just the exact directory being monitored. 2002-01-04 Havoc Pennington <hp@pobox.com> * gconf/gconf-database.c: support storing names of clients and new ConfigDatabase3 (client_alive_predicate): fix backward predicate; we were removing all live clients, and keeping all dead clients. Doh! Doh! Doh! * gconf/gconf.c (gconf_engine_notify_add): use add_listener_with_properties if available to send name of client to the server * gconf/GConf.idl: put in ConfigDatabase3 with a couple of new methods, just to make this file more horrible 2002-01-04 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (main): if GCONF_DEBUG_OUTPUT is set, enable gconf_log_debug_messages 2002-01-03 Havoc Pennington <hp@pobox.com> * gconf/gconftool.c (main): honor GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL to do nothing for --makefile-install-mode * backends/xml-cache.c (cache_sync): fill in the error if we return a failure code. 2002-01-03 Havoc Pennington <hp@pobox.com> * gconf.m4.in: Add quotes to GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas' so that "make install sysconfdir=/foo" will work. May break some conceivable usage of this variable. 2001-12-22 Duarte Loreto <happyguy_pt@hotmail.com> * configure.in: Added portuguese (pt) to ALL_LINGUAS 2001-12-17 Havoc Pennington <hp@pobox.com> * gconf/gconf-listeners.c: reference count the listeners, make a copy of listener lists and ref all listeners prior to doing the notifies, to minimize reentrancy screwups. 2001-12-17 Josh Barrow <drleary@mac.com> * examples/basic-gconf-app.c: s/GLIB_DISABLE_DEPRECATED/G_DISABLE_DEPRECATED/ 2001-12-17 Darin Adler <darin@bentspoon.com> * doc/gconf/.cvsignore: * examples/.cvsignore: Update. 2001-12-11 Havoc Pennington <hp@redhat.com> * gconf/gconfd.c (drop_old_clients): fix this * gconf/gconf-database.c (client_alive_predicate): fix spelling in log message 2001-12-11 Havoc Pennington <hp@redhat.com> * gconf/gconfd.c (drop_old_clients): use CORBA_Object_non_existent() instead of ConfigListener_ping * gconf/gconf-database.c (client_alive_predicate): use CORBA_Object_non_existent() instead of ConfigListener_ping 2001-12-11 Havoc Pennington <hp@redhat.com> * gconf/gconf.c (gconf_engine_get_default): change to not start gconfd immediately, so we can avoid starting it if we're just going to shut it down, and just generally do things lazily. (gconf_shutdown_daemon): ignore NO_SERVER error code * backends/xml-dir.c (dir_get_value): always get schema name, not just if value is unset * gconf/gconfd.c (main): don't free logname since there are atexit handlers for now * gconf/gconf-sources.c (gconf_sources_query_value): don't look for a default value for the schema. Useless and adds a bit of inefficiency. * gconf/gconfd.c (main): set log handler for GLib (log_handler): mask extra flags out of log level * gconf/gconf-sources.c (gconf_sources_query_value): Fix this so Gergo's bug doesn't happen; hope no other semantic gets broken. * tests/testschemas.c: do some unbreaking, and put in a test that exposes Gergo's bug (failure to read schema name if a key is set) * tests/*: put in a big comment saying don't use these as example code since they are ugly-ass and broken. Sun Dec 9 18:22:50 2001 Jonathan Blandford <jrb@redhat.com> * gconf.m4.in: Just when I think I understand the depths of the bogosity autoconf, something else comes up to impress me. 2001-12-09 Havoc Pennington <hp@pobox.com> * gconf/gconf-internals.c (gconf_load_source_path): for fuck's sake - we've been reading the config source backward forever - this has never fricking worked. Dammit. * gconf/gconf-sources.c (gconf_sources_set_value): make huge error message even more so (gconf_sources_new_from_addresses): add debug log about config source writability 2001-12-08 Havoc Pennington <hp@pobox.com> * gconf/gconf-client.c: fix some warnings * gconf/gconf-internals.h: try to fix gettext issues 2001-12-08 Havoc Pennington <hp@pobox.com> * gconf/gconf-value.c (gconf_value_validate): take const arg * gconf/gconf.c: add internal API to check that GConfEngine isn't being used "underneath" its owning GConfClient, thus causing cache inconsistencies. Bad hack, yay. * gconf/gconf-client.c: Use new internal GConfEngine "exclusive owner" API (gconf_client_real_unreturned_error): silently ignore GCONF_ERROR_OVERRIDDEN, because if the system is "locked down" most apps will probably call gconf_client_set anyway. * gconf/gconf-client.h: fix comment to be accurate about how overlaps are handled 2001-12-06 Havoc Pennington <hp@pobox.com> * autogen.sh: fix up check for gettext to do glib-gettext instead * configure.in: add gtk-doc checks and remove --docs-only since I don't think --docs-only works and don't see how it could. * doc/gconf/Makefile.am: make makefile use snazzy canonical gtk-doc makefile from gtk * doc/gconf/gconf.sgml: make it reflect current reality a bit more. * examples/basic-gconf-app.c: Update the example * examples/complex-gconf-app.c: Move the old basic-gconf-app.c into here. * gconf/gconf-listeners.c (gconf_listeners_remove): remove g_return_if_fail on 0 ID, since that will probably end up happening from time to time 2001-12-04 Havoc Pennington <hp@redhat.com> * gconf/gconf-internals.c (open_empty_locked_file): improve error * gconf/gconftool.c (main): complain about using --config-source but not --direct * backends/xml-backend.c (resolve_address): don't try to lock readonly sources; fixes the case where users install to a prefix that they can write to, was causing problems for people using build scripts. * gconf/gconfd.c (gconf_set_exception): add missing value to case statement so we don't crash * examples/basic-gconf-app.c: update comment to say that the example isn't really right anymore * gconf/gconftool.c (process_schema_list): make sure we have an element instead of a text node before we try to process it; kills a bunch of irritating warnings. * Makefile.am (SUBDIRS): remove standard-schemas subdir, should have long ago 2001-12-04 jacob berkman <jacob@ximian.com> * gconf/Makefile.am: add an explicit dependency on the built files 2001-12-03 Laszlo Peter <laca@ireland.sun.com> * gconf/gconf-internals.c: oops, s/ulong_t/gulong/ 2001-12-03 Laszlo Peter <laca@ireland.sun.com> * gconf/gconf-internals.c (get_hostname): fix memory alignment problem on Solaris. 2001-12-02 Havoc Pennington <hp@pobox.com> * gconf/gconf-value.h: put casts in the accessor macros, so they can accept void pointers. Doh. 2001-11-26 Havoc Pennington <hp@redhat.com> * configure.in: version to 1.1.5 Tue Nov 20 15:37:58 2001 Owen Taylor <otaylor@redhat.com> * gconf/gconf-client.c: Remove extraneous gobject/* includes. 2001-11-18 Miles Lane <miles@megapathdsl.net> * gconf/gconf-client.h: replace include of gobject/gobject.h with glib-object.h, due to a change in gobject/gobject.h that forces an #error for all direct includes. This checkin was approved by Havoc. 2001-10-31 Havoc Pennington <hp@pobox.com> * configure.in: bump version to 1.1.4, and set revision to 1 * doc/gconf/Makefile.am: fix this * doc/gconf/gconf.types: update 2001-10-31 Havoc Pennington <hp@pobox.com> * gconf/gconftool.c: add --recursive-unset command line option 2001-10-31 Zbigniew Chyla <cyba@gnome.pl> * gconf/gconf-internals.c (gconf_activate_server): Plug leak. 2001-10-30 Frederic Crozat <fcrozat@mandrakesoft.com> * backends/val-encode.c: add missing headers to remove some warnings. 2001-10-29 jacob berkman <jacob@ximian.com> * gconf-editor/gconf-editor.c (main): bind to GETTEXT_PACKAGE rather than PACKAGE * autogen.sh: call glib-gettextize * configure.in: set the GETTEXT_PACKAGE to be more like the gnome 1 one 2001-10-30 Abel Cheung <maddog@linux.org.hk> * configure.in: When probing for db3, check libdb-3.3, libdb-3.2 and libdb-3.1 in addition to libdb-3 . 2001-10-16 Ross Golder <ross@golder.org> * gconf.spec.in: updated installation paths 2001-10-15 Havoc Pennington <hp@redhat.com> * gconf/gconftool.c (main): don't create config daemon for --get-default-source (main): shut down daemon in makefile install mode 2001-10-14 Havoc Pennington <hp@redhat.com> * configure.in: bump version, increment GCONF_CURRENT and GCONF_AGE due to API additions 2001-10-13 Jaka Mocnik <jaka@gnu.org> * configure.in: allow for db3 headers/includes installed in a strange location. * backends/Makefile.am: add BDB_CFLAGS to INCLUDES. 2001-10-12 Havoc Pennington <hp@redhat.com> Merge from stable. * gconf/gconf.c (gconf_engine_set): check UTF-8 validity here, instead of at the higher levels * gconf/gconf-value.c (gconf_value_validate): new internal function 2001-10-12 Havoc Pennington <hp@redhat.com> Merge from stable. * tests/testschemas.c (check_schema_storage): add some UTF-8 * tests/testpersistence.c: UTF-8 test * tests/testgconf.c: add a UTF-8 test * gconf/gconf.c: UTF-8 checks, and some indentation * gconf/gconf-schema.c: UTF-8 checks * gconf/gconf-value.c: add some UTF-8 robustness 2001-10-12 Havoc Pennington <hp@redhat.com> Merging from stable. * backends/xml-entry.c (entry_unset_value): don't translate "%s" * backends/xml-cache.c (cache_sync_foreach): printf string screwup * backends/xml-backend.c (query_value): fix printf string derived from untrusted data (query_value): ditto * configure.in: ensure we find the right bdb headers, if we find the library, error if not. Reported by Samuel Stringham * gconf/gconf-internals.c (gconf_double_to_string): use g_snprintf not plain snprintf for Solaris 2.5.1 friendliness * doc/gconf/tmpl/gconf-value.sgml: fix docs to mention that pairs contain only primitive types; pointed out by Gregory Merchan * configure.in (BDB_CFLAGS): patch from Nils Philippsen to detect DB 3.1 if available. 2001-10-11 Havoc Pennington <hp@redhat.com> * tests/testgconf.c (check_utils): add test for the key escaper/unescaper thingy * gconf/gconf.c (gconf_escape_key): new function (gconf_unescape_key): new function 2001-10-10 Havoc Pennington <hp@redhat.com> * gconf/gconf.c (gconf_valid_key): disallow non-ASCII characters in key names 2001-10-10 Havoc Pennington <hp@redhat.com> * backends/xml-dir.c (dir_sync): fix to reflect bizarre behavior of xmlSaveFile() (it tries to unescape the filename as a URI, resulting in mangling my filename!) 2001-10-04 Havoc Pennington <hp@redhat.com> * gconf/gconf-internals.c (gconf_release_lock): do wack-ass juju to avoid .nfs23344534543 files appearing in the lock directory and causing warnings. 2001-10-04 Havoc Pennington <hp@redhat.com> * backends/xml-dir.c (dir_fill_cache_from_doc): remove an extra warning 2001-10-04 Havoc Pennington <hp@redhat.com> * gconf/gconf-internals.c (open_empty_locked_file): include strerror in the error message on lock failure 2001-10-01 Michael Meeks <michael@ximian.com> * gconf/gconf.h: fix deprecated guard. * gconf/gconf.c (ctable_remove_by_client_id): remove unused. 2001-09-29 Carlos Perello Marin <carlos@gnome-db.org> * gconf/gconf.h (GCONF_DISABLE_DEPRECATED): closed a comment. 2001-09-28 Havoc Pennington <hp@redhat.com> * gconf/gconfd.c (main): fix write_byte_fd to always be initialized * gconf/gconf-internals.c (gconf_get_current_lock_holder): read IOR file, not directory it's inside 2001-09-26 Havoc Pennington <hp@redhat.com> * gconf/gconf.h: mark gconf_init() deprecated * gconf/Makefile.am (INCLUDES): libxml cflags * gconf/gconf.c (gconf_init): make this a no-op, instead init on demand. Merge from stable * gconf.m4.in: patch from Yanko Kaneti to have AM_GCONF_SOURCE define a GCONF_SCHEMA_FILE_DIR variable for the directory where schema files should be installed * gconf/Makefile.am (install-data-local): don't install oafinfo * configure.in: don't generate oafinfo * gconf/gconftool.c (main): remove error message about running gconfd while installing schemas, instead we'll fail to get a lock. * gconf/gconfd.c (main): redirect stdin/out/err to /dev/null instead of just closing them, saves ORBit some confusion * backends/xml-cache.c (cache_clean): change the "items remain in cache" message to DEBUG level * gconf/gconf-internals.c (gconf_get_lock_or_current_holder): rearrange locking to just use fcntl() * gconf/gconf.c (gconf_engine_connect): fix error message in default daemon case * gconf/gconfd.c (gconf_main): reduce exit-after-unused timeout to 2 minutes * gconf/Makefile.am (INCLUDES): add -DGCONF_BINDIR * gconf/gconf-internals.c: delete nanosleep junk 2001-09-27 Havoc Pennington <hp@redhat.com> * backends/Makefile.am (INCLUDES): srcdir != builddir fixage * configure.in: increment version for release (ORBIT_IDL): look for orbit-idl-2 using pkg-config 2001-09-17 Havoc Pennington <hp@redhat.com> * configure.in: look for orbit-idl-2 not orbit-idl, add option to explicitly enable/disable bdb backend 2001-09-08 Wang Jian <lark@linux.net.cn> * configure.in(ALL_LINGUAS): Renamed zh_CN.GB2312 to zh_CN. 2001-08-25 Darin Adler <darin@bentspoon.com> * backends/Makefile.am: * examples/Makefile.am: * gconf-editor/Makefile.am: * tests/Makefile.am: * wrappers/guile/Makefile.am: Got rid of extra unneeded -I directives. * examples/basic-gconf-app.c: * examples/simple-controller.c: * examples/simple-view.c: Changed includes to use the normal <gconf/*> format, because that is both better for examples, and works fine when building gconf too, without any special -I trickery. 2001-08-19 Jesus Bravo Alvarez <jba@pobox.com> * configure.in: Added gl (Galician) to ALL_LINGUAS. 2001-08-17 Maciej Stachowiak <mjs@noisehavoc.org> * gconf/gconf-internals.c: (gconf_handle_oaf_exception): Handle rename for ParseFailed exception. 2001-08-15 Havoc Pennington <hp@redhat.com> Merge from stable. * backends/xml-backend.c (x_shutdown): ditto (resolve_address): ditto * backends/bdb-backend.c (vtable_bdb_shutdown): ditto (vtable_bdb_resolve_address): ditto * gconf/gconf-internals.c (gconf_load_source_path): ditto * gconf/gconfd.c (gconf_server_load_sources): change to DEBUG level * backends/xml-backend.c (g_module_check_init): change a log message to DEBUG level 2001-08-14 Michael Meeks <michael@ximian.com> * configure.in: depend on bonobo-activation >= 0.9.1 * gconf/Makefile.am: Update to install GNOME_Config.server. * configure.in: update to GNOME_Config.server * gconf/Makefile.am (-DIID): rename to GNOME_Config_Daemon to fit with the bonobo namespace guidelines. * gconf/GNOME_Config.server.in: update & indent. 2001-08-13 Marco Pesenti Gritti <mpeseng@tin.it> * doc/gconf/gconf.sgml: small explanation about AM_GCONF_SOURCE_2 macro 2001-08-13 Havoc Pennington <hp@redhat.com> Merge from stable. * gconf/gconf-internals.c (gconf_load_source_path): patch from Adam Spiers to honor variables in include lines * gconf/gconf-database.c (notify_listeners_cb): indentation/whitespace changes * backends/xml-entry.c (entry_fill_from_node): Only print a warning if there's no schema name. Avoids spurious warnings on nodes that only have a schema name. 2001-08-13 Michael Meeks <michael@ximian.com> * gconf/gconf-internals.c: remove nano_sleep; it's unused. * configure.in: remove nanosleep check. 2001-08-07 Marco Pesenti Gritti <mpeseng@tin.it> * configure.in: remove the chmod on gconf-config, the file has been removed * gconf.m4.in: rename AM_GCONF_SOURCE to AM_GCONF_SOURCE_2 to not break parallel installs 2001-08-07 Marco Pesenti Gritti <mpeseng@tin.it> * gconf/gconf.m4.in: remove duplicate macro 2001-08-07 Marco Pesenti Gritti <mpeseng@tin.it> * gconf/gconf.m4.in: New file. GCONF_SCHEMA_CONFIG_SOURCE macro * configure.in: add gconf.m4 to AC_OUTPUT * Makefile.am: add gconf.m4 to EXTRA_DIST and install-data-local Setup a default gconf source on make install. * galeon.spec.in: Distribute also the path file and the directories for the default source. * gconf/Makefile.am: install the default path as "path" instead of "path.example". Add GCONF_ETCDIR define. * gconf/gconftool.c: Add --get-default-source option. 2001-08-03 Martin Baulig <baulig@suse.de> * gconf/gconfd.oafinfo.in: Renamed -> gconfd.server.in. * Makefile.am: Install gconfd.server into the correct dir for bonobo-activation. 2001-08-03 Abel Cheung <maddog@linux.org.hk> * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS. 2001-08-02 Havoc Pennington <hp@pobox.com> * configure.in: version 1.1.1 * autogen.sh: don't search for subdirs to autogen, that's just annoying if you have a make dist directory laying around 2001-08-01 Michael Meeks <michael@ximian.com> * port to bonobo-activation from oaf. 2001-07-28 Yanko Kaneti <yaneti@declera.com> * gconf/gconftool.c (main): s/all-pairs/all-entries/ in the error messages 2001-07-24 Darin Adler <darin@bentspoon.com> Merge from stable. * acinclude.m4: Set BUILD_INCLUDED_LIBINTL for compatibility with newer versions of gettext. 2001-07-23 Havoc Pennington <hp@redhat.com> Merge from stable. * gconf/gconfd.c (main): don't warn about failure to create ~/.gconfd if EEXIST * gconf/gconf.c (gconf_engine_all_entries): convert empty string to NULL * gconf/gconf-database.c (impl_ConfigDatabase2_all_entries_with_schema_name): don't give ORBit any NULL strings in the array, avoids a core dump * gconf/gconftool.c (list_pairs_in_dir): put a newline after the error message 2001-07-16 Havoc Pennington <hp@redhat.com> Merge from stable. * gconf/gconfd.c (main): add super-lame hack to pass currently-running gconfd to oafd if oafd has lamely leaked it due to lame-assness * gconf/gconf-internals.c (gconf_get_lock): fix leak of object reference belonging to server that held the lock (gconf_get_lock_or_current_holder): add function to get current owner of a lock * gconf/GConf.idl: add subclass of ConfigDatabase for some exciting new hacky functions. So an extensible IDL interface would probably have simply passed XML messages. But then what's the point of an IDL interface, if it's just going to be parse_string() get_string()? Hmm. Cosmic question. ;-) * gconf/gconf.c (try_to_contact_server): make the error on OAF-did-not-set-exception really, really verbose, and explicitly say "do not file a GConf bug report." But with fixed OAF this shouldn't happen anymore anyhow. * gconf/gconf-sources.c (gconf_sources_set_value): lengthy verbose error message about possible causes of lack of a config database. But my lame-ass hack above should keep this from happening so much. 2001-07-18 Anders Carlsson <andersca@gnome.org> * configure.in: Remove gconf-config and gconf.m4 from AC_OUTPUT 2001-07-17 Anders Carlsson <andersca@gnome.org> * Makefile.am: Remove gconf-config and gconf.m4 from EXTRA_DIST and do not try to install them. * gconf.m4.in: Remove this file. * gconf-config.in: Remove this file. 2001-07-17 Darin Adler <darin@bentspoon.com> * gconf/gconf.c: (gconf_postinit): Let CORBA generate the ID instead of providing one ourselves. 2001-07-17 Laszlo Peter <laca@ireland.sun.com> * gconf/Makefile.am: remove the -Wno-unused flag; not portable. 2001-07-14 Kjartan Maraas <kmaraas@gnome.org> * configure.in: Added "nn" to ALL_LINGUAS. 2001-07-13 Darin Adler <darin@bentspoon.com> Fix a bunch of warnings. * backends/bdb-backend.c: (vtable_bdb_set_value): Add const. * backends/bdb.c: (bdb_put_value): Add const. * backends/bdb.h: Add const. * backends/val-encode.c: (bdb_serialize_value): Add const. * backends/val-encode.h: Add const. * backends/xml-backend.c: (set_value): Add const. * backends/xml-dir.c: (dir_set_value): Add const. * backends/xml-dir.h: Add const. * backends/xml-entry.h: Add const. * gconf/gconf-backend.c: (gconf_get_backend): Add const. * gconf/gconf-backend.h: Add const. * gconf/gconf-internals.c: (fill_corba_value_from_gconf_value), (corba_value_from_gconf_value), (fill_corba_schema_from_gconf_schema), (corba_schema_from_gconf_schema): Add const. * gconf/gconf-internals.h: Add const. * gconf/gconf-sources.c: (gconf_source_set_value), (gconf_sources_set_value): Add const. * gconf/gconf-sources.h: Add const. * gconf/gconf.c: (gconf_engine_set): Add const. * gconf/gconf.h: Add const. * gconf/gconf-value.h: * gconf/gconf-value.c: (gconf_value_set_list): Remove const, because const GSList * doesn't do anything useful. * backends/xml-entry.c: (entry_get_value), (entry_set_value), (entry_sync_if_needed), (entry_fill_from_node): Got rid of unused GValue * parameter to entry_sync_if_needed. Also, add const in one place. * gconf/gconftool.c: (main): Add cast. 2001-07-07 Peter Williams <peter@beta.newton.cx> * backends/bdb*: s,uint32_t,guint32,g 2001-07-11 Michael Meeks <michael@ximian.com> * gconf/Makefile.am (CLEANFILES): add stamps so we can clean & make. 2001-07-03 Michael Meeks <michael@ximian.com> * configure.in: add ORBIT_IDL check. 2001-07-02 Carlos Perello Marin <carlos@gnome-db.org> * gconf/gconf-client.c: /s/g_signal_newc/g_signal_new to reflect the changes at glib2 module. Now It compiles. 2001-06-29 Laszlo Peter <laca@ireland.sun.com> * gconf/Makefile.am: Fix the marshaller rules to avoid looping. 2001-06-20 Peter Williams <peterw@ximian.com> * configure.in (ACLOCAL): Save flags to aclocal -- life easier when configure.in changes. 2001-06-15 Havoc Pennington <hp@redhat.com> * configure.in: remove library versioning for no-longer-existing gconf-gtk lib and Guile wrapper 2001-06-01 Peter Williams <peterw@ximian.com> * configure.in: Check if DB3 headers are in db3/db.h as well. * acconfig.h: Add HAVE_DB3_DB_H * backends/bdb.c: #include config.h to get HAVE_DB3_DB_H * backends/bdb.h: Include the proper db.h 2001-05-11 Tomas O Connor <tomas.oconnor@ireland.sun.com> * gconf/gconf-internals.h, gconf/gconf-value.h: move gconf_value_new_from_string to make it a public API 2001-05-11 Havoc Pennington <hp@redhat.com> Merge from stable. * gconf/gconfd.c (signal_handler): on SIGUSR1, enable/disable debug spew. * gconf/gconf-internals.c (gconf_log): use a runtime variable to decide whether to log debug messages * gconf/gconf-database.c, gconf/gconfd.c, gconf/gconf-internals.c: Change some GCL_WARNING to GCL_DEBUG to chill out logging of fairly normal events 2001-05-09 Havoc Pennington <hp@redhat.com> * gconf/Makefile.am: remove testgconfclient from build, should now be made nongraphical and stuck in tests/ * Makefile.am (SUBDIRS): remove "wrappers" from subdirs * configure.in: remove Guile cruft, fix up pkg-config usage * acinclude.m4: Use the pkg-config macros, remove gnome-common dependency. Requires CVS pkg-config, need a pkg-config release. (Since OAF doesn't build against ORBit1 anyway, I figured why not check this in too...) 2001-04-28 Murray Cumming <murrayc@usa.net> * gconf/gconf-client.c, gconf/gconf-client.h, gconf/gconf-schema.c, gconf/gconf-schema.h, gconf/gconf-value.c, gconf/gconf-value.h, gconf/gconf.c, gconf/gconf.h: Use of const with function args. e.g. gconf_value_copy(const GConfValue* src). 2001-04-17 Michael Meeks <michael@ximian.com> * gconf/Makefile.am (dist-hook): don't distribute built sources. Wed Apr 11 08:07:11 2001 George Lebl <jirka@5z.com> * gconf/gconf.c (gconf_engine_unref): If unreffing the default engine set the default_engine pointer to NULL 2001-04-02 Federico Mena Quintero <federico@ximian.com> * acinclude.m4: "sourceforge.net", not "sourceforce.net". 2001-03-24 Anders Carlsson <andersca@gnu.org> * configure.in (REBUILD): Add gconf-2.0.pc to AC_OUTPUT files. 2001-03-23 Marius Andreiana <mandreiana@yahoo.com> * configure.in: Added ro (Romanian) to ALL_LINGUAS 2001-03-18 Martin Baulig <baulig@suse.de> * gconf/gthreadpool.[ch]: Removed. * gconf/gconf-glib-private.h: Removed. * gconf/gconf-glib-public.h: Removed. * gconf/gconf-client.[ch]: Moved here from wrappers/gtk/ and migrated to use GObject. * gconf/testgconfclient.c: Moved here from wrappers/gtk/. * gconf/gconf-internals.h (gconf_CORBA_Object_hash, gconf_CORBA_Object_equal): New static inline functions. * gconf/gconfmarshal.list: New file. * gconf/gconftool.c: Use libxml 2. * backends/xml-backend.c, backends/xml-cache.h, backends/xml-dir.c, backends/xml-dir.h, backends/xml-entry.c, backends/xml-entry.h: Use libxml 2. * wrappers/gtk/*: Moved to gconf/. 2001-03-18 Martin Baulig <baulig@suse.de> We're now on the GNOME 2.0 platform. * configure.in: Set MAJOR_VERSION to 2, use pkg-config to check for stuff; GTK+ is now optional and only used for the examples; depend on ORBit2. * acinclude.m4: Add the contents of gnome-common/macros2/gnome-pkgconfig.m4 here. * Makefile.am: Install gconf-2.0.pc. * gconf-2.0.pc.in: New file. 2001-03-13 Kjartan Maraas <kmaraas@gnome.org> * backends/xml-entry.c: Merge from branch. Use xmlFree(). * gconf/gconftool.c: Merge from branch. Use xmlFree() and don't free until after referencing stuff. 2001-03-12 Timur Bakeyev <timur@gnu.org> * Makefile.am: Made warning printing a bit nicer. 2001-03-06 Havoc Pennington <hp@redhat.com> Merge from stable. * gconf/gconfd.c (gconf_main): change the periodic timeout to 15 minutes, to be a bit more aggressive about cleanup. (open_append_handle): add a timeout to close the saved_state filehandle after a short time, to avoid keeping descriptors open. (gconfd_need_log_cleanup): new internal function used to control whether the periodic cleanup function needs to save a log file 2001-02-27 Havoc Pennington <hp@redhat.com> * gconf.spec.in: %define prefix %{_prefix} instead of @prefix@ 2001-02-27 Havoc Pennington <hp@redhat.com> Merge from stable. * gconf/gconfd.c (main): Close stdin/stdout/stderr. Also, set the log handler, so we don't need stdout/stderr to see GLib messages, they go to syslog. * gconf/Makefile.am (INCLUDES): set the log domain * gconf/gconftool.c (recurse_subdir_list): the list contains full directory paths to start with, fix from Colm * gconf/gconfd.c (register_database): bugfix from Colm * gconf/gconf.c (lookup_engine): fix from Colm to check that we have an engines hash (gconf_engine_get_for_address): improve warning message, fix from Colm (gconf_engine_remove_dir): new function from Colm, this was implemented on the server side but somehow never exported. * gconf/gconf-database.c (gconf_database_get_persistent_name): Fix from Colm to handle the case of empty databases (no sources). 2001-02-05 Havoc Pennington <hp@redhat.com> File permissions fixes, problem pointed out by Steve Fox. * backends/xml-dir.c (dir_sync): chmod() the XML file after xmlSaveFile creates it * gconf/gconfd.c (main): following Stevens advice for daemons, we were calling umask(0), change to umask(022). We need a predictable umask, but a safer one would be good since this is a per-user daemon not a system daemon. * backends/dir-utils.c (mode_t_to_mode): make this more portable, for paranoia * backends/xml-dir.c (dir_load): We were getting directory permissions from the %gconf.xml file, instead of from the XML root directory. Fix. 2001-01-23 Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz> * configure.in: Add 'sk' to ALL_LINGUAS 2001-01-21 Havoc Pennington <hp@pobox.com> * configure.in: change version to 1.1 Sync from stable * backends/xml-entry.c (schema_subnode_extract_data): don't warn about <local_schema> with no locale field, because that's normal for the default case (schema_node_extract_value): use <local_schema> with no locale if it exists and we don't find anything better * tests/testschemas.c (check_schema_use): fix indentation and mem leaks * gconf/gconftool.c (do_get): print default value from schema 2000-12-19 Rebecca Schulman <rebecka@eazel.com> * gconf/gconfd.c: (gconf_server_load_sources): Added a return value to a g_slist_append that would cause a segfault in some cases. Fri Dec 01 00:54:33 2000 George Lebl <jirka@5z.com> * gconf/gconf-locale.c (gconf_split_locale): When inserting "C" into a list, dup it first to avoid a possible crash later. 2000-11-30 Havoc Pennington <hp@redhat.com> * gconf/gconf.c (gconf_engine_unset): Fix dereference of NULL GError** 2000-11-20 Havoc Pennington <hp@redhat.com> * doc/gconf/Makefile.am: Fix "make scan" to actually work, so you can build the docs 2000-11-11 Havoc Pennington <hp@pobox.com> * gconf/gconf-value.c (gconf_entry_set_is_writable): Add this function 2000-11-05 Havoc Pennington <hp@pobox.com> * gconf/gconf-glib.c, gconf/gconf-glib-private.h: Remove the GMarkup and Unicode stuff, turned out to be unnecessary. Left only GError. 2000-11-05 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (parse_listener_entry): fix strtoul error checking * gconf/gconf-internals.c (gconf_string_to_gulong): Fix error checking on strtoul 2000-11-05 Havoc Pennington <hp@pobox.com> * gconf/gconf-glib.c (g_propagate_error): Sync from GLib, should fix one very minor memory leak in GConf 2000-10-31 Almer S. Tigelaar <almer1@dds.nl> * configure.in: Add 'nl' to ALL_LINGUAS 2000-10-26 Havoc Pennington <hp@pobox.com> * configure.in: Bump version to 0.11 2000-10-25 Havoc Pennington <hp@pobox.com> * wrappers/gtk/gconf-client.c: remove get_nocopy, since it can't be implemented since we don't cache everything. Oops. 2000-10-16 Havoc Pennington <hp@pobox.com> * wrappers/gtk/gconf-client.c (gconf_client_real_unreturned_error): implement default error handler that prints to stderr (gconf_client_key_is_writable): hmm, this function didn't compile very cleanly * wrappers/gtk/gconf-client.h: Remove the ParentWindowFunc concept. Two reasons: a) it was really hard for users to implement such a thing, and if they did then implementing an error dialog function was pretty trivial also b) decided to make the default error handler use fprintf(stderr) since GConfClient is going to move into the main GConf library and thus not depend on GTK. So, this is mild API breakage (but hopefully no one was using the feature anyway). 2000-10-10 Christophe Merlet <christophe@merlet.net> * backends/Makefile.am: Added README.bdb in EXTRA_DIST. * gconf/gconf-glib.c: Corrected mispelling string. 2000-10-10 Havoc Pennington <hp@pobox.com> * gconf/gconf-value.c (gconf_value_to_string): fix segfault when pair contains unset car or cdr (gconf_value_set_car): allow setting car or cdr of a pair to NULL. I'm not sure if this is the normal thing in the code right now, but, hmm. * gconf/gconf-sources.c (gconf_sources_all_entries): fix cut-and-paste error resulting in NULL pointer dereference. 2000-10-08 Havoc Pennington <hp@pobox.com> gconfd should now exit when not in use. * gconf/gconf-database.c (gconf_database_drop_dead_listeners): function to drop any listeners with dead clients. * gconf/gconfd.c (drop_old_databases): before checking whether the listener count is 0, clean up listeners belonging to dead clients. * gconf/gconf-listeners.c (gconf_listeners_remove_if): New function removes listeners matching some predicate (ltable_remove): fix some indentation 2000-10-08 Havoc Pennington <hp@pobox.com> * configure.in: version to 0.10 2000-10-06 Havoc Pennington <hp@pobox.com> * wrappers/gtk/gconf-client.c: indentation/formatting * gconf/gconfd.c (parse_listener_entry): extra paranoia error check. Also, make log messages level DEBUG, not WARNING. 2000-10-06 Havoc Pennington <hp@pobox.com> * configure.in: check for flockfile. Check for BDB, but don't make it fatal; do an AM_CONDITIONAL and don't build the BDB backend if it's not found. * gconf/gconfd.c (main): unregister with OAF after all shutdown is complete. (signal_handler): do the full, clean shutdown on SIGTERM; should reduce the damage caused by those pesky killall gconfd scripts ;-) Try to do the same on FPE and PIPE, though it's not likely to work, it doesn't hurt to try. (logfile_read): rewrite the logfile reading code; somewhat more robust, possibly. * gconf/gconf-database.c, gconf/gconfd.c: Make all CORBA implementation return immediately with an error if we're currently shutting down. We'd just unregister with OAF, or deactivate our objects, but then another gconfd would start up before we finish cleaning up our stuff and introduce a mess of race conditions. Instead clients will automatically retry lots of times if they get the IN_SHUTDOWN error. Actually this possibly shouldn't even happen, since we aren't normally in the main loop once we start to shut down, I don't think - not sure. * gconf/gconfd.c (gconf_set_exception): add ConfigInShutdown * gconf/GConf.idl: add ConfigInShutdown error * gconf/gconf.c (corba_errno_to_gconf_errno): add ConfigInShutdown * gconf/gconf-error.h: two error codes had the same integer value. Also, add GCONF_ERROR_IN_SHUTDOWN * gconf/gconfd.c (gconfd_in_shutdown): Add a flag to indicate we're shutting down; all operations will return an error at that point. * gconf/gconf.c (gconf_server_broken): treat ConfigInShutdown as a broken server. 2000-10-06 Colm Smyth <colm.smyth@sun.com> * Committed BerkeleyDB back-end:- backends/bdb.c backends/bdb.h backends/bdb-backend.c backends/val-encode.c backends/val-encode.h backends/dir-utils.c backends/dir-utils.h backends/README.bdb * Changes to make GConf build with an ISO C compiler:- configure.in backends/Makefile.am backends/xml-cache.c gconf/gconf-database.c gconf/gconf-sources.c gconf/gconfd.c tests/testchangeset.c tests/testencode.c tests/testgconf.c tests/testlisteners.c tests/testpersistence.c tests/testschemas.c 2000-10-03 Robin * Slomkowski <rslomkow@eazel.com> * gconf.spec.in:/etc/etc is not a directory OK I am less foolish now 2000-10-03 Robin * Slomkowski <rslomkow@eazel.com> * gconf.spec.in: updated the spec file again if you are interested we are trying to track it http://tinderbox.eazel.com 2000-10-03 Havoc Pennington <hp@redhat.com> * gconf/gconfd.c (close_append_handle): set invalid FILE* to NULL afterward, avoid segfaults. * Makefile.am: add install-schemas target here which recurses into standard-schemas and runs install-schemas * standard-schemas/Makefile.am (install-schemas): Move schema installation to a special target install-schemas which must be run manually _after_ make install. This should resolve problems people are having with RPMs and such. However it means spec files have to explicitly add a 'make install-schemas' 2000-09-29 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (drop_all_caches): don't spew warnings here for now. (invalidate_cached_values): no spew (update_listener): remove more spew 2000-09-29 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (ctable_reinstall): we were overwriting the hash key before trying to remove the old server ID from the hash, so the removal failed, leading to an assertion failure later (this hopefully fixes one of the bugs reported by Ramiro, if not then I'll keep looking) 2000-09-26 Havoc Pennington <hp@pobox.com> * gconf/gconf-locale.c (gconf_locale_cache_expire): fix a static initialization with non-const value 2000-09-25 Havoc Pennington <hp@pobox.com> Bug fixes and portability issues reported by Colm Smyth * gconf/gconf-sources.c (gconf_sources_query_value): fix NULL pointer dereference * s/__FUNCTION__/G_GNUC_FUNCTION/g; * configure.in: Add check for GCC before using -Wall (can't believe no one has _ever_ tried building GConf without gcc, but it appears so...) * gconf/gconftool.c: use N_ not _ with static strings. * tests/testschemas.c: Don't include locale.h * gconf/gconf-internals.h: Remove some of the #defines from the non-ENABLE_NLS case. 2000-09-24 Havoc Pennington <hp@pobox.com> * NEWS: Put release notes for 0.9 in here. 2000-09-24 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (gconf_main): With debugging turned on, use obscenely short timeout for periodic cleanups, to ensure bugs get triggered. * gconf/gconf-database.c (impl_ConfigDatabase_all_dirs): Set _release to TRUE for sequences (impl_ConfigDatabase_all_entries): ditto * gconf/gconfd.c (half_hour_timeout): exit only if client count is 0 after dropping all dead clients. * gconf/gconf-database.c (impl_ConfigDatabase_all_dirs): Don't put memory in the out param if we set an exception (impl_ConfigDatabase_all_entries): Ditto * backends/xml-dir.c (dir_all_subdirs): Fix a memory leak * gconf/gconfd.c: Implement client list logging * gconf/gconf.c: Add self to the server's client list whenever we get a new server objref 2000-09-23 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c: Implement add/remove client methods; still need to log these to disk, and on restart tell the logged clients to drop their caches. * gconf/GConf.idl: Add methods on ConfigServer to maintain a list of active clients; this allows us to invalidate client caches on daemon restart. 2000-09-21 Havoc Pennington <hp@pobox.com> * configure.in: remove intl/Makefile * Makefile.am: remove intl subdir 2000-09-17 Havoc Pennington <hp@pobox.com> * gconf/gconf.c: Update to reflect IDL change * gconf/GConf.idl: Change invalidate_cached_values() to take multiple keys to invalidate; better efficiency that way 2000-09-17 Havoc Pennington <hp@pobox.com> * gconf/gconf-database.c: Add new methods on ConfigDatabase * gconf/gconf.c: Add new methods on ConfigListener, but they do nothing at the moment * gconf/GConf.idl: Add some methods to ConfigListener to tell clients when they need to drop cached values Add batch_lookup() and batch_change() methods to ConfigDatabase so we can implement them later 2000-09-16 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (gconf_engine_key_is_writable): And actually implement it here. Doh. * wrappers/gtk/gconf-client.c (gconf_client_key_is_writable): Gee, forgot to actually implement this function after implementing all the backend work for it... * gconf/gconf.c (corba_errno_to_gconf_errno): add NO_WRITABLE_DATABASE handling here also * gconf/gconfd.c (gconf_set_exception): handle NO_WRITABLE_DATABASE error * gconf/GConf.idl: Add NoWritableDatabase to error type enum * wrappers/gtk/testgconfclient.c (entry_attached_to): Update to properly handle writability * examples/simple-controller.c (main): set entry sensitivity properly * examples/basic-gconf-app.c (main): Remove ref/sink and destroy, just use plain refcounting (create_config_entry): Set entry sensitivity according to key writability * wrappers/gtk/gconf-client.c (gconf_client_finalize): Move all cleanup to finalize, remove destroy handler 2000-09-16 Havoc Pennington <hp@pobox.com> * doc/gconf/tmpl/gconf-value.sgml: Update some docs * wrappers/gtk/gconf-client.c (notify_listeners_callback): Update to reflect new callback signature for GConfClientNotifyFunc * gconf/gconf-sources.c (gconf_sources_set_value): Make it an error to if we try to write a value for a non-writable source. This is new; it used to silently fail. * gconf/gconf-database.c (gconf_database_notify_listeners): Add is_writable here * gconf/GConf.idl: Add writable flag to notification * gconf/gconf.h: Update GConfNotifyFunc to have fewer args, and a GConfEntry is just passed in (since I was going to have to add an is_writable arg, and passing in a GConfEntry gives us future extensibility against this sort of thing) BREAKS USER CODE, many apologies. * wrappers/gtk/gconf-client.c (gconf_client_get_entry): Update to reflect GConfEngine changes * gconf/gconf.c (gconf_engine_all_entries): Get the writability stuff (gconf_engine_get_full): rename to gconf_value_get_entry and return an entry; drop the is_default argument. * gconf/gconf-sources.c (gconf_sources_query_value): Implement finding out if a value is writable (gconf_sources_all_entries): Implement setting is_writable flag on the entries * gconf/gconf-value.c (gconf_entry_new_nocopy): Default to the entry being writable * gconf/gconf-database.c: Change to match IDL changes * gconf/GConf.idl (lookup_with_locale): Add out param for writability (all_entries): Add out param for writability * gconf/gconf-value.h: Add is_writable field to GConfEntry (gconf_entry_get_is_writable): Add this * wrappers/gtk/gconf-client.c (gconf_client_key_is_writable): Add the matching stub here * gconf/gconf.c (gconf_engine_key_is_writable): Go ahead and add this function so we can implement it later, but it always returns TRUE at the moment. * gconf/gconf-changeset.c (gconf_change_set_set_user_data, gconf_change_set_get_user_data): Add user data for language bindings * gconf/gconf.c (gconf_engine_set_user_data, gconf_engine_get_user_data): Add user data for language bindings 2000-09-15 Havoc Pennington <hp@redhat.com> * s/gconf_concat_key_and_dir/gconf_concat_dir_and_key/g 2000-09-14 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (gconf_engine_all_dirs): Update to return fully qualified name in GConfEntry (gconf_engine_all_entries): missed the local case earlier when adapting it to use fully-qualified name * acinclude.m4: Add never-use-included-gettext macro * configure.in: Bump version to 0.9 2000-09-14 Darin Adler <darin@eazel.com> * backends/xml-dir.c: (dir_load): Fixed code that set up file mode to always be 0600 to instead inherit from parent directory as intended. * gconf/gconf-sources.c: (gconf_sources_new_from_addresses): Removed unused variable. * tests/.cvsignore: Added some generated files. 2000-09-13 Havoc Pennington <hp@redhat.com> * More renaming: s/gconf_meta_info_schema/gconf_meta_info_get_schema/g; s/gconf_meta_info_mod_user/gconf_meta_info_get_mod_user/g; s/gconf_meta_info_mod_time/gconf_meta_info_mod_time/g; s/gconf_entry_key/gconf_entry_get_key/g; s/gconf_entry_value/gconf_entry_get_value/g; s/gconf_entry_schema_name/gconf_entry_get_schema_name/g; s/gconf_entry_is_default/gconf_entry_get_is_default/g; s/gconf_value_string/gconf_value_get_string/g; s/gconf_value_int/gconf_value_get_int/g; s/gconf_value_float/gconf_value_get_float/g; s/gconf_value_list_type/gconf_value_get_list_type/g; s/gconf_value_list/gconf_value_get_list/g; s/gconf_value_car/gconf_value_get_car/g; s/gconf_value_cdr/gconf_value_get_cdr/g; s/gconf_value_bool/gconf_value_get_bool/g; s/gconf_value_schema/gconf_value_get_schema/g; s/gconf_schema_type/gconf_schema_get_type/g; s/gconf_schema_list_type/gconf_schema_get_list_type/g; s/gconf_schema_car_type/gconf_schema_get_car_type/g; s/gconf_schema_cdr_type/gconf_schema_get_cdr_type/g; s/gconf_schema_locale/gconf_schema_get_locale/g; s/gconf_schema_short_desc/gconf_schema_get_short_desc/g; s/gconf_schema_long_desc/gconf_schema_get_long_desc/g; s/gconf_schema_owner/gconf_schema_get_owner/g; s/gconf_schema_default_value/gconf_schema_get_default_value/g; 2000-09-13 Havoc Pennington <hp@redhat.com> * gconf/gconf.c (gconf_engine_all_entries): Put full key in GConfEntry (but we only get the relative key over the CORBA wire) * wrappers/gtk/gconf-client.c (cache_pairs_in_dir): Change to reflect fact that GConfEntry now contains full key * gconf/gconftool.c (list_pairs_in_dir): Change to reflect full key in GConfEntry * doc/gconf/tmpl/gconf-value.sgml: updated GConfEntry docs on this matter. 2000-09-11 Havoc Pennington <hp@redhat.com> * Actually use gettext. Involves checking in configure.in, linking to it in Makefile.am, making _() do the right thing. I have gettext in libc instead of -lintl though, so I'm not going to see Makefile bugs - maybe someone can check on it. 2000-09-10 Havoc Pennington <hp@pobox.com> * gconf/gconf-value.c (gconf_entry_new): New function (gconf_entry_set_value): New function 2000-09-10 Havoc Pennington <hp@pobox.com> * Another rename fest: #!/usr/bin/perl -pi.bak ## note that this regexp could affect non-GConf stuff s/writeable/writable/g; s/gconf_meta_info_destroy/gconf_meta_info_free/g; s/gconf_database_destroy/gconf_database_free/g; s/gconf_source_destroy/gconf_source_free/g; s/gconf_sources_destroy/gconf_sources_free/g; s/gconf_locale_cache_destroy/gconf_locale_cache_free/g; 2000-09-10 Havoc Pennington <hp@pobox.com> * gconf/gconf-value.c (gconf_value_new): don't use GCONF_INTERNAL_VALUE_TYPE_VALID * gconf/gconf-internals.h, gconf/gconf-error.h: (gconf_error_new) (gconf_set_error) (gconf_compose_errors): Move these to gconf-internals.h, now they aren't needed due to GError * gconf/gconf.c: Get rid of GConfEnginePrivate, just define struct _GConfEngine in the private .c file, like a sane person. * gconf/gconf-value.h: remove GCONF_INTERNAL_VALUE_TYPE_VALID * gconf/gconf.h: #ifdef the GNOME module system and popt stuff for GNOME 1.4. This stuff is tied to GNOME 2.0 and still unstable in that respect; should not be used before GNOME 2.0 (gconf_get_string): forgot to rename this earlier 2000-09-09 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (half_hour_timeout): Convert one_hour_timeout to half_hour_timeout() to more agressively prune resources. In the half hour timeout, if we have no connected listeners on any database, shut down gconfd. (We might want to make the timeout length configurable; and for laptops people might not want any timeouts at all, since it will wake up their laptop.) (fast_cleanup): Remove comment about getting incoming connections after shutting things down; this is no longer a problem because we deactivate databases in the POA 2000-09-09 Havoc Pennington <hp@pobox.com> * gconf/Makefile.am (libgconf_1_la_SOURCES): Move gconf-backend.h here, I don't see why it was in the public headers Throughout, rename a bunch of stuff: #!/usr/bin/perl -pi.bak s/gconf_notify_add/gconf_engine_notify_add/g; s/gconf_notify_remove/gconf_engine_notify_remove/g; s/gconf_get_without_default/gconf_engine_get_without_default/g; s/gconf_get_full/gconf_engine_get_full/g; s/gconf_get_with_locale/gconf_engine_get_with_locale/g; s/gconf_get_default_from_schema/gconf_engine_get_default_from_schema/g; s/gconf_unset/gconf_engine_unset/g; s/gconf_associate_schema/gconf_engine_associate_schema/g; s/gconf_all_entries/gconf_engine_all_entries/g; s/gconf_all_dirs/gconf_engine_all_dirs/g; s/gconf_suggest_sync/gconf_engine_suggest_sync/g; s/gconf_dir_exists/gconf_engine_dir_exists/g; s/gconf_get_float/gconf_engine_get_float/g; s/gconf_get_int/gconf_engine_get_int/g; s/gconf_get_bool/gconf_engine_get_bool/g; s/gconf_get_schema/gconf_engine_get_schema/g; s/gconf_get_list/gconf_engine_get_list/g; s/gconf_get_pair/gconf_engine_get_pair/g; s/gconf_set_float/gconf_engine_set_float/g; s/gconf_set_int/gconf_engine_set_int/g; s/gconf_set_string/gconf_engine_set_string/g; s/gconf_set_bool/gconf_engine_set_bool/g; s/gconf_set_schema/gconf_engine_set_schema/g; s/gconf_set_list/gconf_engine_set_list/g; s/gconf_set_pair/gconf_engine_set_pair/g; s/gconf_commit_change_set/gconf_engine_commit_change_set/g; s/gconf_create_reverse_change_set/gconf_engine_reverse_change_set/g; s/gconf_create_change_set_from_currentv/gconf_engine_change_set_from_currentv/g; s/gconf_create_change_set_from_current/gconf_engine_change_set_from_current/g; s/gconf_schema_destroy/gconf_schema_free/g; s/gconf_value_destroy/gconf_value_free/g; s/gconf_listeners_destroy/gconf_listeners_free/g; s/gconf_entry_destroy/gconf_entry_free/g; s/gconf_client_create_change_set_from_current/gconf_client_change_set_from_current/g; s/gconf_client_create_change_set_from_currentv/gconf_client_change_set_from_currentv/g; s/gconf_client_create_reverse_change_set/gconf_client_reverse_change_set/g; ## These require some care, since they can be the prefix for unrelated stuff. s/gconf_get /gconf_engine_get /g; s/gconf_set /gconf_engine_set /g; s/gconf_get\(/gconf_engine_get (/g; s/gconf_set\(/gconf_engine_set (/g; 2000-09-09 Havoc Pennington <hp@pobox.com> * gconf/gconf-database.c (gconf_database_add_listener) (gconf_database_remove_listener): immediately log the addition or removal to the saved state file, which is now in a streaming format (gconf_database_get_persistent_name): abstraction for getting the address of the database, of "def" if it's the default one (gconf_database_log_listeners_to_string): replaces conversion from database to markup node; no longer using GMarkup here * gconf/gconf-listeners.c (gconf_listeners_get_data): new function to get listener data for a connection ID * gconf/gconfd.c (one_hour_timeout): save the logfile in the timeout, to compress it since we have just been appending over the last hour (logfile_read, logfile_save): rewrite to use new format, not the GMarkup format * gconf/gconf-internals.c (gconf_object_to_string): Add this function 2000-09-04 Havoc Pennington <hp@pobox.com> * doc/gconf/Makefile.am (LDFLAGS): libs have been renamed 2000-08-31 Havoc Pennington <hp@redhat.com> * Massive rename from GConfError to GError * gconf/gconf-error.h, gconf/gconf-error.c: Remove redundant-with-GError stuff; add GCONF_ERROR domain macro 2000-08-30 Havoc Pennington <hp@redhat.com> * gconf/gconfd.c (restore_listener): use gconf_string_to_gulong instead of atoi for reading a ulong out of the log file * gconf/gconf.c (gconf_engine_get_default): assign to the default_engine variable, so we don't keep creating new default engines. * gconf/gconf-listeners.c (ltable_next_cnxn): Start "uniqueness bits" at a different location depending on pid 2000-08-30 Havoc Pennington <hp@redhat.com> * gconf/gconf.c: Change client to new system (use object references to ConfigDatabase instead of the integer context ID). * gconf/gconf-backend.c: Fix path to uninstalled modules, and put the whole uninstalled modules thing in GCONF_ENABLE_DEBUG * gconf/gconf-database.c: add some missing includes, and fix a typo bug * gconf/gconfd.c: CORBA_Object_duplicate() the ConfigDatabase objrefs before passing them back out to ORBit. Remove some bogus assertions. * TODO: Updates, added notes from Colm 2000-08-30 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c, gconf/gconf-database.h, gconf/gconf-database.c, gconf/gconfd.h: Completed the server-side implementation of the new system where a ConfigServer_Context becomes a ConfigDatabase object. Client side doesn't even compile yet. Will get it compiling in the morning. 2000-08-29 Havoc Pennington <hp@redhat.com> * gconf/gconfd.c: Add logfile load/save; not really working yet. * gconf/gconf.c: Remove reinstall-listeners stuff and implement update_listeners() from the server. Most of this is about to get removed again when I fix context ID's to be object references instead. * gconf/gconf-listeners.c: #include <string.h>, store full key name on tree nodes, add connection ID to foreach callback * gconf/GConf.idl: Add update_listener method on ConfigListener, so the daemon can tell a client that a listener's ID has changed * gconf/gconf-glib-public.h, gconf/gconf-glib-private.h, gconf/gconf-glib.c: Put in gmarkup.[hc], gunicode stuff, and gerror.[hc] from GLib 2.0. The Unicode char tables are causing big bloat; may be able to get rid of them before GNOME 1.4 if we are lucky. 2000-08-27 Havoc Pennington <hp@pobox.com> * gconf/gconf-glib-public.h, gconf/gconf-glib-private.h, gconf/gconf-glib.c: Place to put cut-and-paste code from GLib 2.0 * gconf/gconf.c (notify): Only print warnings on bogus notifies if debugging is enabled; without debugging, silently ignore the notifies, it just means gconfd got confused. 2000-08-26 Havoc Pennington <hp@pobox.com> * gconf/gconf-listeners.c (gconf_listeners_foreach): Add a foreach function, will use that to dump the daemon's listener table to a file. 2000-08-26 Havoc Pennington <hp@pobox.com> * TODO: Created a TODO file 2000-08-09 Havoc Pennington <hp@pobox.com> * configure.in: 0.8 * fixes from Ralph Loader for DESTDIR support (hopefully got them all in) * gconf.spec: fix description (the G is just a G, doesn't stand for anything) 2000-08-09 Robin * Slomkowski <rslomkow@eazel.com> * gconf.spec.in: made it so the specfile worked for rpm builds 2000-08-07 Robin * Slomkowski <rslomkow@eazel.com> * gconf/Makefile.am: use top_build instead of build and some beautification. Wed Aug 02 18:11:37 2000 George Lebl <jirka@5z.com> * backends/xml-entry.c (node_set_schema_value) (node_unset_value) (schema_node_extract_value): Set the list_type and car_type and cdr_type from the schema. Unset these on clear. Also get these on extraction. * gconf/GConf.idl: Add value_list_type, value_car_type, value_cdr_type to the ConfigSchema struct * gconf/gconf-internals.c (fill_corba_schema_from_gconf_schema) (gconf_schema_from_corba_schema) (corba_type_from_gconf_type) (gconf_type_from_corba_type) (gconf_string_to_double) (gconf_double_to_string) (gconf_unquote_string_inplace) (gconf_value_decode) (gconf_value_encode): When passing schema to/from corba, pass the list_type and car/cdr_type fields as well. When converting to/from doubles guard the printf/scanf with setlocale(LC_NUMERIC, "C"). When encoding/decoding the lists encode their type, for schemas encode/decode the list/car/cdr_type * gconf/gconf-internals.h: For gconf_value_new_list_from_string and gconf_value_new_pair_from_string add an GConfError field * gconf/gconf-schema.[ch] (gconf_schema_new) (gconf_schema_copy): Add the list/car/cdr_type fields to the schema structure and support it when creating and copying. Also add accessors for these fields. * gconf/gconf-value.c (escape_string) (gconf_value_new_list_from_string) (gconf_value_new_pair_from_string) (gconf_value_to_string): Implement the list and pair_from_string functions. In to_string escape the characters that would cause problems. * gconf/gconf.c (gconf_unique_key): use GPOINTER_TO_UINT to avoid warning on alpha * gconf/gconftool.c (do_get) (do_set) (do_set_schema) (fill_default_from_string) (extract_global_info) (process_locale_info) (process_schema): Add support for setting lists and pairs by supporting the list/car/cdr_type. Add these to setting schemas as well. Also add support for these in reading/setting schemas from .schema files and support defaults of lists/pairs using this information. 2000-07-27 Havoc Pennington <hp@redhat.com> * backends/Makefile.am (backenddir): backenddir is pkglibdir/MAJOR_VERSION, not plain VERSION * configure.in: Bump to 0.7 Wed Jul 26 12:40:45 2000 George Lebl <jirka@5z.com> * gconf/gconf.c (gconf_key_is_below): Make sure that the segment above is a complete directory and not just partial directory. so that /foo is not taken as above /foobar/blah Tue Jul 25 23:48:24 2000 George Lebl <jirka@5z.com> * wrappers/gtk/gconf-client.c: || doesn't mean && :). It would consider as an above directory every directory that had a notify_id 2000-07-25 James Henstridge <james@daa.com.au> * Makefile.am, gconf/Makefile.am: make relative symlinks rather than absolute path symlinks. Again to help packagers. * configure.in (GCONF_CONFIG_SOURCE): don't use EXPANDED_SYSCONFDIR hack. Instead just escape the dollar sign in ${sysconfdir}. This fixes build root installs used when building packages. Mon Jul 24 16:39:01 2000 George Lebl <jirka@5z.com> * wrappers/gtk/gconf-client.[ch]: Allow adding overlapping subdirectories. What happens is that the real gconf notify is not added for subdirectories. When directories are added or removed the hash is traversed and fixed up. This is done in a simple and incredibly inefficent manner and needs to be fixed. Also this change adds an "err" argument to the _remove_dir call as errors can now happen. Also fix a minor warning by casting. * wrappers/gtk/testgconfclient.c: Add some testing of overlapping directories. Add buttons to add/remove the main directory and the subdirectory. This way you can see if things get proper notifications. 2000-07-24 Yukihiro Nakai <nakai@gnome.gr.jp> * configure.in: Add Japanese (ja) 2000-07-21 Robin * Slomkowski <rslomkow@eazel.com> * gconf.spec.in: just fixed up some filename stuff 2000-07-14 Havoc Pennington <hp@pobox.com> * gconf/gconf-sources.c (gconf_sources_query_value): Fix memleak of schema_name in case where we return a value (hash_lookup_defaults_func): Fix bug where we returned the schema instead of the default value stored in the schema, when returning default values for a directory listing, which GConfClient did in order to preload its cache. (Upshot: GConfClient with preloading was broken if you had schemas.) 2000-07-13 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (shutdown_contexts): fix cheesy race condition (context_list may not exist at this point) 2000-07-12 Havoc Pennington <hp@pobox.com> * gconf.spec.in: Change spec file to reflect my fooling with names of things * configure.in: Some files converted to .in files, so we can do versioning * gconf-config.in: output versioned names for libs and includes * gconf/Makefile.am: version all installed files * wrappers/gtk/Makefile.am: put version in the name of everything * wrappers/gtk/testgconfclient.c (main): remove ref/sink to reflect change to GConfClient 2000-07-13 Havoc Pennington <hp@pobox.com> * backends/xml-entry.c (schema_node_extract_value): fix a double-free 2000-07-12 Havoc Pennington <hp@pobox.com> * configure.in: Bump library versions, bump to 0.6 * gconf/gconf.c (gconf_engine_get_local): Rename from gconf_engine_new_local (gconf_engine_get_default): rename from gconf_engine_new (gconf_engine_get_for_address): rename from gconf_engine_new_from_address * wrappers/gtk/gconf-client.c (gconf_client_get_default): rename from gconf_client_new. Always sink the client, so we are strictly refcounted, no floating state (for future GObject compatibility) (gconf_client_get_for_engine): rename from gconf_client_new_with_engine 2000-07-11 Havoc Pennington <hp@redhat.com> * Makefile.am: spew messages about needing to create prefix/etc/gconf/path, should make things easier for users. 2000-07-05 Eskil Heyn Olsen <eskil@eazel.com> * gconf-config.in: adds output of oaf-config, since gconf uses oaf. 2000-07-05 Eskikl Heyn Olsen <eskil@eazel.com> * gconf.spec.in: Fixed som typos. 2000-06-22 Dan Winship <danw@helixcode.com> * wrappers/gtk/gconf-client.c (gconf_client_set_pair): Pass both car and cdr to gconf_set_pair rather than passing car twice. Oops. 2000-06-12 Eskil Heyn Olsen <eskil@eazel.com> * gconf.spec.in: Removed the .a libs from the base package, but added them to -devel. 2000-06-11 Eskil Heyn Olsen <eskil@eazel.com> * gconf.spec.in: Req oaf >= 0.3.0 2000-06-11 Eskil Heyn Olsen <eskil@eazel.com> * gconf.spec.in: Added a .spec file. * configure.in: Generate gconf.spec. * Makefile.am: Added gconf.spec.in and gconf.spec to the EXTRA_DIST. 2000-06-07 Pavel Cisler <pavel@eazel.com> * wrappers/gtk/gconf-client.c: (gconf_client_get_string): Fix a storage leak -- a g_strdup and an string ownership swapping optimization were working against each other. Removed the g_strdup that is not needed. 2000-06-04 Mathieu Lacage <mathieu@gnome.org> * gconf-config.in: add gtk-config --cflags and --libs output to the gconf-gtk --cflags and --libs output. 2000-06-01 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (lookup_engine): check whether the hash is NULL before looking up the engine. 2000-06-01 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (gconf_engine_new): If there's an existing engine for a given context, return that engine instead of creating a new one. (gconf_engine_new_from_address): ditto * wrappers/gtk/gconf-client.c (gconf_client_finalize): remove client from client registration table (gconf_client_new): register newly-created client in hash from engines to clients; return an existing client if there's already a client for the default engine (gconf_client_new_with_engine): register newly-created client, and try to return existing client. 2000-05-07 Havoc Pennington <hp@pobox.com> * gconf/gconf-listeners.c: Move struct _GConfListeners into the .c file, eventually need to simply get rid of this. 2000-04-24 Fatih Demir <kabalak@gmx.net> * configure.in : Added tr to ALL_LINGUAS . 2000-04-19 Pablo Saratxaga <pablo@mandrakesoft.com> * configure.in (ALL_LINGUAS): Added Catalan language 2000-04-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * gconf/gconftool.c (main): Don't g_free the result of g_getenv (). Tue Apr 18 01:37:51 2000 George Lebl <jirka@5z.com> * gconf/gconf.c: make the default path sane by adding the flag field with readwrite * gconf/gconf.path: add readwrite flag field to make the path legal 2000-03-30 Matthias Warkus <mawa@iname.com> * configure.in (ALL_LINGUAS): Added German translation. 2000-03-13 Alastair McKinstry <mckinstry@computer.org> * configure.in (ALL_LINGUAS): Added Irish translation. 2000-03-09 Havoc Pennington <hp@redhat.com> * configure.in (absolute_top_srcdir): don't do makefile for Guile stuff. * Makefile.am: create DIST_SUBDIRS with tests directory 2000-03-09 Elliot Lee <sopwith@redhat.com> * gconf/gconf-internals.c: Don't syslog things. * gconf/examples/Makefile.am: Fix for builddir != srcdir. 2000-03-08 Havoc Pennington <hp@redhat.com> * gconf/gconf.c (gconf_init): exit on error. * examples/simple-controller.c (main): fix gconf_init() error * examples/simple-view.c (main): fix gconf_init() error 2000-03-06 Havoc Pennington <hp@redhat.com> * doc/intro-article.sgml: Add the examples * examples/simple-view.c: Change include to work before we install. * examples/simple-controller.c: ditto 2000-02-29 Havoc Pennington <hp@redhat.com> * configure.in: Add goofy "--enable-docs" option to bypass all library checks, we just want to generate sufficient makefile for the doc-building targets to run on developer.gnome.org 2000-02-26 Havoc Pennington <hp@pobox.com> * examples/Makefile.am: Add new examples * examples/simple-view.c, examples/simple-controller.c: Two simple new examples 2000-02-23 Havoc Pennington <hp@redhat.com> * configure.in: Bump version and libtool versions, and try to fix the prefix mess. Update required OAF version. * doc/gconf/Makefile.am: srcdir != builddir fix * standard-schemas/Makefile.am: add schemas to EXTRA_DIST 2000-02-22 Elliot Lee <sopwith@redhat.com> * tests/Makefile.am: srcdir != builddir fix. * wrappers/gtk/Makefile.am: Add libgconf-gtk.la to testgconfclient deps so that 'make -j' builds will work correctly. 2000-02-19 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (try_to_contact_server): Make sure we always set an error 2000-02-15 Havoc Pennington <hp@redhat.com> * gconf/gconf-changeset.c (gconf_change_set_set): apply patch from Rusty Conover <rconover@zootweb.com> fixing an infinite recursion typo * gconf/gconfd.c (fast_cleanup): Don't bother to unregister with OAF 2000-02-01 Havoc Pennington <hp@redhat.com> * configure.in (GCONF_CONFIG_SOURCE): update default schema install source (XML_LIBS): add better check that we actually ran xml-config successfully * gconf/gconf-backend.c (gconf_backend_resolve_address): Honor the "readonly" flag in address names * gconf/gconf-sources.c (SOURCE_WRITEABLE): convert to a function, source_is_writeable * gconf/gconf-sources.h: add GCONF_SOURCE_NEVER_WRITEABLE flag * tests/testaddress.c: new test to verify the functions that break up a configuration source address * gconf/gconf-backend.c (gconf_address_flags): function to extract configuration source flags * doc/gconf/gconf.sgml: note new configuration source URL format * gconf/gconf.c: Add space, tab, carriage return, newline to the invalid characters in a gconf key 2000-01-31 Havoc Pennington <hp@redhat.com> * wrappers/gtk/gconf-client.c (check_type): include name of the key with the wrong type in the error message 2000-01-31 Havoc Pennington <hp@redhat.com> * wrappers/gtk/gconf-client.c (gconf_client_real_unreturned_error): only handle the error if the mode is GCONF_CLIENT_HANDLE_UNRETURNED (gconf_client_real_error): only handle if GCONF_CLIENT_HANDLE_ALL (gconf_client_init): change default error handling to GCONF_CLIENT_HANDLE_UNRETURNED * wrappers/gtk/gconf-client.h: don't pass error handling mode to the error handler function 2000-01-28 Havoc Pennington <hp@redhat.com> * wrappers/gtk/gconf-client.c (gconf_client_set_global_default_error_handler): New function so gnome-libs can install a Gnomized error dialog 2000-01-27 Havoc Pennington <hp@pobox.com> * wrappers/gtk/gconf-client.c (check_overlap): fix the no-debug case 2000-01-24 Havoc Pennington <hp@redhat.com> * backends/xml-backend.c (resolve_address): base mode for creating files and directories on the permissions of the root XML directory * gconf/gconf.h: Clean up indentation 2000-01-27 Elliot Lee <sopwith@redhat.com> * gconf/Makefile.am, standard-schemas/Makefile.am: Fix builddir != srcdir 2000-01-24 Havoc Pennington <hp@redhat.com> * gconf/gconf-sources.c (gconf_sources_new_from_addresses): never return errors, just log them. * gconf/gconf-backend.c (gconf_get_backend): fix mem leak (free "name" if we don't create a new backend to use it in) * gconf/gconf-internals.c (gconf_get_lock): fix mem leak * backends/xml-entry.c (schema_node_extract_value): fix a mem leak * gconf/gconfd.c (main): keep a pointer to the object ID returned from PortableServer_POA_activate_object() * backends/xml-backend.c (resolve_address): fix a mem leak on error 2000-01-24 Havoc Pennington <hp@redhat.com> * gconf/gconf-internals.c (gconf_get_lock): Use a long enough buffer to read in the IOR 2000-01-24 Havoc Pennington <hp@redhat.com> * gconf/gconftool.c (do_load_schema_file): Apply patch from Mirko, properly locates the root node instead of assuming it is the only node at the toplevel (handles comments, etc). (process_schema): Report error if a schema has no <locale> tags. 2000-01-23 Havoc Pennington <hp@pobox.com> * backends/xml-entry.c (node_set_value): Store strings in a sub-node and use xmlEncodeEntitiesReentrant() to encode it (node_extract_value): Extract string from the subnode 2000-01-23 Havoc Pennington <hp@pobox.com> * doc/gconf/gconf.sgml: Add schema file DTD from Mirko * backends/xml-dir.c (dir_sync): pass the XML filename in to create_fs_dir() (dir_load): This was broken; bug reported by Mirko Streckenbach. The Dir object was created even if %gconf.xml file didn't exist, so we didn't get around to actually creating %gconf.xml (create_fs_dir): Make %gconf.xml the thing this function is primarily creating, with the directory containing it as a side effect only. * gconf/Makefile.am (install-data-local): Install default path to path.example, so we don't override someone's existing setup. * gconf/tests/testdirlist.c: test program that detects dir listing bugs. 2000-01-22 Havoc Pennington <hp@pobox.com> * backends/xml-dir.c (dir_all_subdirs): If we can't open the directory it's not an error, just return NULL. 2000-01-21 Havoc Pennington <hp@redhat.com> * backends/xml-cache.c (cache_clean_foreach): remove everything older than or the same age as the older_than time value (i.e. put >= instead of >) (cache_destroy_foreach): debug check to be sure we aren't destroying unsynced directories * gconf/gconfd.c (context_synchronous_sync): remove sync timeout/idle handlers when we do a synchronous sync 2000-01-21 Havoc Pennington <hp@pobox.com> * gconf/gconf-value.c (gconf_value_new_from_string): use new double conversion (gconf_value_to_string): use new conversion * gconf/gconf-internals.c (gconf_double_to_string) (gconf_string_to_double): new functions to go from string to double, we had precision problems with this and maybe still do, these functions encapsulate it. For now copied code from gnumeric/src/xml-io.c * gconf/gconftool.c (main): improve gconfd-is-running error message * gconf/gconf.c (gconf_synchronous_sync): internal-only API for the synchronous sync * gconf/gconfd.c (gconfd_synchronous_sync): implement a way to force _immediate_ sync for testing purposes 2000-01-21 Havoc Pennington <hp@pobox.com> * tests/Makefile.am (testpersistence_SOURCES): add new test * tests/testpersistence.c: New test, clears the cache after every set, to see if the get() function can properly load stuff off of disk. Right now we fail this test. Blah. 2000-01-21 Havoc Pennington <hp@pobox.com> * backends/xml-cache.c (cache_clean): oops, this was broken before; we need to check that the dir doesn't need a sync before we destroy it. * backends/xml-dir.c (dir_sync_pending): new function * backends/xml-backend.c (clear_cache): implement clearing cache for XML backend * gconf/gconf.c (gconf_clear_cache): implement API here * gconf/GConf.idl: add clear_cache method * gconf/gconfd.c (context_clear_cache): add code to implement clear_cache IDL * gconf/gconf-sources.c (gconf_sources_clear_cache): New function for debugging purposes 2000-01-20 Havoc Pennington <hp@pobox.com> * backends/xml-entry.c (node_extract_value): Detect case where a pair is missing car and/or cdr and do an error instead of returning an invalid pair. * gconf/gconf-internals.c (gconf_get_lock): remove IOR debug spew * gconf/gconftool.c: Add --break-key and --break-directory, these allow you to easily torture test your application and see if you're robust against users setting your config keys to stupid stuff. * tests/testgconf.c: Include the empty string in the list of strings we test. I know this is currently broken if you exit gconfd or purge the cache between set and get. 2000-01-20 Havoc Pennington <hp@redhat.com> * gconf/Makefile.am (EXTRA_DIST): fix EXTRA_DIST to have default.path.in in it 2000-01-20 Havoc Pennington <hp@redhat.com> * gconf/default.path: remove, replace with gconf/default.path.in which is set up properly to go in $sysconfdir * gconf/gconftool.c (main): Always unref the engine when we're done, to ensure we cleanly give up locks on local sources. * configure.in (GCONF_CONFIG_SOURCE): --enable-gconf-source option * gconf/gconftool.c (main): add an --makefile-install-rule option, which does the right thing in makefile install rules. * Makefile.am: add standard-schemas subdir * configure.in (absolute_top_srcdir): create standard-schemas Makefile * standard-schemas/desktop.schemas: Schemas that any desktop can use * standard-schemas/Makefile.am: install schemas 2000-01-19 Havoc Pennington <hp@redhat.com> * gconf/gconfd.c (gconf_set_exception): warn if the error is set to GCONF_ERROR_SUCCESS * gconf/gconf-error.h: Prefix all errno values with GCONF_ERROR as Owen suggested 2000-01-15 Havoc Pennington <hp@pobox.com> * tests/testlisteners.c (check_immediate_remove_after_add): update to match change to gconf-listeners.c * gconf/gconf-listeners.c: Use only 24 bits for the array index, and put a variable value in the top 8 bits, so recycling array indices doesn't create the possibility of clients clashing with each other (i.e. to clients it doesn't appear that indexes are being recycled). 2000-01-15 Havoc Pennington <hp@pobox.com> * backends/xml-dir.c (dir_unset_value): check entries for uselessness on unset, even if they are unchanged by the unset. Allows us to delete useless crap we loaded from disk. If you unset, the entry should no longer appear in all_entries unless there's a schema name to remember. * backends/xml-entry.c (entry_unset_value): Fix this to properly unset value for all locales if the locale passed in to "unset" is NULL (entry_sync_to_node): Remember to unset the value if necessary * gconf/gconftool.c (list_pairs_in_dir): handle entries with no value. 2000-01-15 Havoc Pennington <hp@pobox.com> * backends/xml-dir.c (dir_destroy): destroy entries before the xml doc, since they hold pointers into the xml doc. * backends/xml-entry.c (entry_sync_to_node): if no cached value, blow away the value in the node. 2000-01-14 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (gconfd_all_entries): remove bad assertion that the value in an entry was non-NULL * gconf/gconf.c (gconf_set): check for invalid list type * gconf/gconf-internals.c (gconf_value_from_corba_value): Be more paranoid about list types coming from gconfd 2000-01-13 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (gconf_unique_key): function to generate a pseudo-random very-very-likely-to-be-unique key name. 2000-01-13 Havoc Pennington <hp@redhat.com> * gconf/gconf-internals.c (gconf_concat_key_and_dir): move declaration to public header * doc/gconf/tmpl/gconf-client.sgml: Document the changed dir add/remove behavior 2000-01-13 Havoc Pennington <hp@redhat.com> * backends/xml-dir.c (dir_load): arguments to this were backward * wrappers/gtk/gconf-client.c: keep a count of the number of times a directory has been added/removed from the dir list, so we only remove it from the list after that number of removals. Perhaps somewhat unintuitive, but we'll document it, and it's really necessary if multiple code sections are going to share the same GConfClient. (gconf_client_destroy): move a bunch of stuff to finalize so we remain "safe" before last unref 2000-01-12 Havoc Pennington <hp@redhat.com> * gconf/gconfd.c (main): don't use custom object ID 2000-01-12 Jonathan Blandford <jrb@redhat.com> * wrappers/gtk/gconf-client.c: #include <stdio.h> 2000-01-11 Havoc Pennington <hp@pobox.com> * gconf.m4: separate $4 from gconf_config_args * gconf-config.in (af_libs): -lgconf, not -lgconf-client (Libraries): add gconf-gtk lib 2000-01-11 Andreas Hyden <andreas.hyden@telia.com> * configure.in : added sv (swedish) 2000-01-08 Havoc Pennington <hp@pobox.com> * gconf/gconftool.c (main): had local and non-local cases backward so you got the opposite of what you requested * gconf/gconf-internals.c (gconf_release_lock): include strerror() in "can't open lock file" message (gconf_get_lock): actually write the PID to the lock file, and use ConfigServer_ping() instead of CORBA_Object_is_nonexistent() 2000-01-07 Havoc Pennington <hp@redhat.com> * gconf/gconf-internals.c (gconf_get_lock): totally rewrite the locking stuff * backends/xml-dir.c (dir_load): if errno == ENOENT don't make dir_load() fail * gconf/gconfd.c (main): check return value of oaf_active_server_register() and act accordingly. * gconf/gconf.c (try_to_contact_server): use new OAF_FLAG_EXISTING_ONLY when appropriate * gconf/gconf-internals.c (gconf_set_daemon_ior): allow setting IOR to a global var * gconf/gconfd.c (main): set the IOR so it can be used in lockfiles 2000-01-03 Havoc Pennington <hp@redhat.com> * gconf/gconftool.c (main): add support for direct config source access 1999-12-31 Havoc Pennington <hp@pobox.com> * gconf/gconf-internals.c (gconf_log): in non-daemon mode, use fprintf() when it's an error and printf() when not (gconf_in_daemon_mode): new function * gconf/gconfd.c (signal_handler): special-case some more signals; do more thorough cleanup when we can. (main): fix which signals we add an action for * gconf/gconf-internals.h: Remove server_info* functions * gconf/gconf-error.h: add GCONF_LOCK_FAILED * gconf/gconf.c (corba_errno_to_gconf_errno): lock failed error * gconf/gconf-internals.c (gconf_nanosleep): Add utility function to portably sleep a little while (we should really stick one of these in glib) (gconf_release_lock, gconf_get_lock): Lock directory functions 2000-01-02 Timur Bakeyev <mc@bat.ru> * doc/gconf/Makefile.am: Replace unportable install -d with $MKINSTALLDIRS. install -m 0644 - with $(INSTALL_DATA). 2000-01-02 Timur Bakeyev <mc@bat.ru> * po/uk.po: Add missed "\n" in 2 strings. Things sholud be checked before commit :) * backends/Makefile.am, wrappers/gtk/Makefile.am: Add $(top_builddir)/gconf to INCLUDES to make GConf.h visiable. * gconf/gconf-internals.c: If LC_MESSAGE doesn't exist, use value of LC_CTYPE (is this correct?) 1999-12-31 Yuri Syrota <rasta@renome.rovno.ua> * configure.in: Added "uk" to ALL_LINGUAS 1999-12-30 Havoc Pennington <hp@pobox.com> * backends/xml-backend.c: Complete cleanup of XML backend, all test suite passes, code is much more manageable. 1999-12-21 Havoc Pennington <hp@redhat.com> * doc/gconf/tmpl/gconf-backend.sgml: Documented the methods in the backend vtable. * backends/xml-dir.[hc], backends/xml-entry.[hc]: fixed up some code, mostly done. 1999-12-20 Havoc Pennington <hp@redhat.com> * gconf/gconf-sources.c (gconf_sources_new_from_addresses): const correctness * gconf/gconfd.c: Massive const-correctness changes to match latest ORBit * gconf/gconf.c (notify): "in string" seems to be const again now. * wrappers/gtk/gconf-client.c (cache_pairs_in_dir): store the is_default parameter when preloading * gconf/gconf.c (gconf_all_entries): receive the is_default parameter * gconf/gconfd.c (gconfd_all_entries): pass the is_default parameter over the CORBA link * backends/xml-backend.c (listify_foreach): Add the schema name to the entry if appropriate (if value is unset) * gconf/gconf-sources.c (gconf_sources_all_entries): Change to match new semantics of all_entries in the backend; get all entries that have a schema set on them, and the corresponding default value if appropriate. * gconf/gconf-value.c (gconf_entry_set_is_default): new function (gconf_entry_set_schema_name): new function * backends/xml-backend.c (listify_foreach): Include keys that exist but have no value set in the list of returned entries. 1999-12-20 Havoc Pennington <hp@redhat.com> * tests/testlisteners.c: fix include * wrappers/gtk/gconf-client.c (gconf_client_preload): Actually implement preloading. We have some "issues" here to resolve I think, because of the defaults stuff and schemas. 1999-12-14 Havoc Pennington <hp@redhat.com> * gconf/gconf.c (gconf_engine_new_from_address): Add a g_warning() that people probably don't want to use this. 1999-12-14 Havoc Pennington <hp@redhat.com> * doc/gconf/tmpl/gconf-client.sgml: fix a typo, add additional explanation to the introduction. * doc/gconf/tmpl/gconf.sgml: Document the string-to-enum functions. Update some other docs too. * doc/gconf/gconf-sections.txt: add new functions * gconf/gconf.c (gconf_string_to_enum): new function (gconf_enum_to_string): new function * gconf/gconf-engine.h: Put gconf_engine_new_local() here instead of gconf-internals.h * gconf/gconf-internals.h: added a new GCONF_ENABLE_INTERNALS define, to allow us to have internal stuff in headers other than gconf-internals.h * gconf/gconf.c (gconf_unset): local version (gconf_associate_schema): local version (gconf_all_entries): local version (gconf_all_dirs): local version (gconf_suggest_sync): local version (gconf_dir_exists): local version * gconf/gconf-internals.h (gconf_engine_new_local): Declare this function here, though it's defined in gconf.c * gconf/gconf.c (gconf_set): local version * gconf/gconfd.c (context_query_default_value): use gconf_sources_query_default_value() * gconf/gconf-sources.c (gconf_sources_query_default_value): New function * gconf/gconf-sources.h: egtk-format-protos the function prototypes. * gconf/Makefile.am (libgconf_la_SOURCES): move gconf-locale.[hc] into the library, bah * gconf/gconf.c (gconf_get_full): Add local (no gconfd) version * gconf/gconf-locale.c (gconf_split_locale): locale splitter function. * gconf/gconf-sources.c (gconf_sources_new_from_source): new function * examples/basic-gconf-app.c (create_prefs_dialog): Move keys from /apps/gnome to plain /apps * doc/gconf/gconf.sgml: Add an initial stab at namespace splitting. 1999-12-09 Havoc Pennington <hp@redhat.com> * gconf/gconf.c (gconf_init): Safety check to ensure we don't initialize OAF a second time. 1999-12-06 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (gconf_notify_add): Backward assertion 1999-12-02 Havoc Pennington <hp@pobox.com> * examples/basic-gconf-app.c (create_configurable_widget): use gconf_client_get_string() instead of gconf_client_get() (update_entry): Check for the default value if we have an unset value in the change set. * wrappers/gtk/gconf-client.c (gconf_client_create_change_set_from_currentv): use without_default (revert_foreach): use without_default * gconf/gconf-changeset.c (gconf_create_change_set_from_currentv): use gconf_get_without_default() (revert_foreach): use gconf_get_without_default() * wrappers/gtk/testgconfclient.c (entry_notify_func): fix to compile * examples/basic-gconf-app.c (configurable_widget_config_notify): fix to compile * wrappers/gtk/gconf-client.c (gconf_client_get_default_from_schema): New function * gconf/gconf.c (gconf_get_without_default): renamed from gconf_get_no_default(), so that gconf_get_default_from_schema() won't be as confusing maybe. (gconf_get_default_from_schema): new function to read the default setting in the schema * backends/xml-backend.c (xentry_extract_value): remove ignore_subsequent (xentry_set_value): ditto * gconf/gconf-sources.c (gconf_sources_query_value): Remove ignore subsequent * gconf/gconf-value.c (gconf_value_new_from_string): remove ignore_subsequent (gconf_value_to_string): remove ignore_subsequent (gconf_value_copy): Remove ignore_subsequent * gconf/gconfd.c (context_unset): add is_default to notification (context_set): add is_default to notification * gconf/gconf-internals.c (gconf_value_type_to_string): Remove ignore_subsequent. * gconf/gconf.c (gconf_cnxn_notify): add is_default (notify) add is_default * gconf/gconf-value.h: Remove GCONF_VALUE_IGNORE_SUBSEQUENT * gconf/gconf-sources.c (gconf_sources_unset_value): don't do that weird IGNORE_SUBSEQUENT goo * wrappers/gtk/Makefile.am (INCLUDES): add top_builddir to include search to get the built sources * gconf/gconf-engine.h: fix includes * gconf/gconf-changeset.h: fix includes * gconf/Makefile.am (gconfd_SOURCES): add gconf-sources.h here instead of installing it. * wrappers/gtk/Makefile.am (INCLUDES): remove -I$(top_builddir)/gconf * wrappers/gtk/gconf-client.c (gconf_client_get_full): Add this, etc. * gconf/gconf-sources.c (gconf_sources_query_value): Set a flag indicating whether the retrieved value was the default or not. * gconf/GConf.idl: add value_is_default out flag to lookup_with_locale() 1999-12-02 Havoc Pennington <hp@pobox.com> * gconf/gconf-error.c: Was missing an element in the err_msgs array and the array had the wrong size. * gconf/gconf-sources.c (gconf_sources_query_value): Add use_schema_default flag here (and in the other stuff that calls it, I'm skipping some layers in the changelog) (gconf_sources_query_value): If we find an IGNORE_SUBSEQUENT, we should return immediately, rather than checking the schema default. * gconf/gconfd.c (gconfd_lookup_with_locale): fix * gconf/gconf.c (gconf_get_no_default): new function to get a value, but not fall back to the schema default. * gconf/GConf.idl: lookup_with_locale() needs to raise ConfigException. Also, add a "use schema default" flag. 1999-12-01 Havoc Pennington <hp@pobox.com> * gconf/gconf.c: Add local "direct mode" engine; mildly bad hack. This file could use some modularization. Still have to make all the methods support the local version. * gconf/Makefile.am (libgconf_la_SOURCES): move gconf-sources.c to the library instead of gconfd (again). * gconf/gconf-internals.c (gconf_handle_oaf_exception): set the GCONF_OAF_ERROR errno * gconf/gconf-error.c: add strerror stuff for those errors. * gconf/gconf-error.h: add oaf error and "this is not a gconfd engine" error. 1999-12-01 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (try_to_contact_server): handle OAF exceptions * gconf/gconf-internals.c (gconf_handle_oaf_exception): new function to handle OAF CORBA exceptions, now I have to find all the places that I need to use this function... 1999-12-01 Havoc Pennington <hp@pobox.com> * doc/gconf/gconf-sections.txt: Add new create_change_set functions for GConfClient and GConfEngine * doc/gconf/Makefile.am (LDFLAGS): Use proper cflags/ldflags for gtk and OAF when doing 'make scan' * wrappers/gtk/testgconfclient.c (entry_attached_to): change for new get_string() thing * gconf/gconf-changeset.h: fix the "" vs. <> issue on an #include * wrappers/gtk/gconf-client.c (gconf_client_get_bool): remove "default" argument (gconf_client_get_string): ditto (gconf_client_get_int): ditto (gconf_client_get_float): ditto * gconf/gconf.c (gconf_get_bool): Remove "default" argument. (gconf_get_string): ditto (gconf_get_int): ditto (gconf_get_float): ditto 1999-11-30 Havoc Pennington <hp@pobox.com> * backends/xml-backend.c (resolve_address): s/dir/root_dir/ 1999-11-29 Havoc Pennington <hp@pobox.com> * gconf/gconftool.c (do_load_schema_file): Use new syntax for attaching schema names to key names * backends/xml-backend.c (resolve_address): Create the XML root directory if necessary. 1999-11-29 Havoc Pennington <hp@pobox.com> * wrappers/gtk/gconf-client.c (gconf_client_get): sheesh, this stupid function didn't work at all. fix it (get): properly check whther val is NULL before copying it. * gconf/gconf-internals.c (gconf_set_daemon_mode): Function to set daemon mode, for now changes gconf_log behavior (gconf_log): handle daemon vs. non-daemon mode, and with syslog do syslog(pri, "%s", msg) instead of syslog(pri, msg) to avoid unwanted printf magic. (gconf_value_from_corba_value): more robust for list types, add an assertion * gconf/gconfd.c (gconfd_set): return if the conversion from GConfValue doesn't fly * gconf/gconf-value.c (gconf_value_new): add a check for valid type * gconf/gconf-value.h (GCONF_VALUE_TYPE_VALID): Add macro to check the a value type is valid * gconf/gconf-changeset.c (change_set): return if the value being set is the same as the existing value. * examples/Makefile.am (EFENCE): add EFENCE var * wrappers/gtk/gconf-client.c (gconf_client_commit_change_set): add checks * gconf/gconf-changeset.c (gconf_commit_change_set): add checks * gconf/gconf-listeners.c (gconf_listeners_remove): Robust against bad notify_id * gconf/gconf-changeset.c (gconf_create_change_set_from_current): New function to create a change set which will restore the current values of a list of keys. (gconf_create_change_set_from_currentv): Vector version of the same function. (gconf_change_set_check_value): new function to check for and get the value of a key in a change set. * wrappers/gtk/gconf-client.h: Add client analogues for the above two set-creation functions. 1999-11-28 Havoc Pennington <hp@pobox.com> * gconf.m4: add the "" around the $4, seems to work - the problem here seems to have something to do with aclocal or autoconf doing the wrong thing, rather than a shell issue. I don't understand it yet. 1999-11-23 Havoc Pennington <hp@pobox.com> * backends/xml-backend.c (query_value): Don't return errors here; this is somewhat wrong, we actually need to discriminate between errors and report the "abnormal" ones, but for now I think all of them are ignorable. * gconf/gconf-internals.c (gconf_log): If the log string contains a % escape it with another percent so we don't get printf() effects (was causing a segfault) - however it's still broken if unintentional percents exist in the initial format string. Will fix later by adding a "printf()-formatting" arg I think * wrappers/gtk/gconf-client.c (gconf_client_commit_change_set): put some casts in to chill warnings * gconf/gconf-changeset.c (gconf_change_set_size): new function * wrappers/gtk/gconf-client.c (gconf_client_destroy): Destroy the directory list. * Makefile.am (SUBDIRS): add "examples" directory * examples/Makefile.am, examples/basic-gconf-app.c: Examples; write nice example program. * gconf/gconfd.c (notify_listeners_cb): error message improvement (set_default_context): Set the "context" field of the default context, I don't get how that was working before. 1999-11-23 Havoc Pennington <hp@pobox.com> * wrappers/gtk/testgconfclient.c: remove GNOME dependency * configure.in: don't build gconf-editor makefile. * Makefile.am (SUBDIRS): never build gconf-editor, it will have to go in a separate module (somewhat inconveniently, since I'll probably end up installing gconf-internals.h for its use, blah) * configure.in (GCONF_AGE): Check for plain GTK not GNOME * wrappers/Makefile.am (SUBDIRS): change GNOME conditional to GTK 1999-11-23 Havoc Pennington <hp@pobox.com> * gconf/Makefile.am (libgconf_la_LDFLAGS): split off LIBADD * wrappers/gtk/Makefile.am (libgconf_gtk_la_LIBADD): set shared lib version (libgconf_gtk_la_LDFLAGS): split LIBADD and LDFLAGS maybe properly. * configure.in: remove gnorba cflags/libs * gconf/Makefile.am (install-data-local): Create the $(sysconfdir)/gconf directory. * wrappers/Makefile.am: For now, always disable Guile wrapper build. 1999-11-22 Havoc Pennington <hp@pobox.com> * backends/xml-backend.c (resolve_address): Check whether the XML directory is readable/writeable and report an error if neither; set readable/writeable flags properly. * gconf/gconfd.c (gconf_server_load_sources): log decision to use default config source 1999-11-22 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (gconf_server_load_sources): Fall back to xml:~/.gconf if no config file is found 1999-11-22 Havoc Pennington <hp@pobox.com> * gconf/default.path: default configuration file * gconf/Makefile.am (install-data-local): Install default.path to sysconfdir/gconf/path (theoretically) 1999-11-22 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (gconf_set_exception): lots of assertions (gconf_server_load_sources): Install the default context even if we don't find any configuration sources in the path * gconf/gconf.c (gconf_get_config_server): always return an error if the server isn't available. This is still not doing the right thing; for shutdown and ping we need to be able to get the object if and only if it already exists. This feature is also needed for something like magicdev-patched gtcd. * gconf/gconfd.c (gconf_server_load_sources): #ifdef the debug-only search for debugging path file. 1999-11-19 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (gconf_server_load_sources): Give actual sysconfdir in the error message, not just /etc; include liboaf.h * gconf/gconf.c: include liboaf.h (gconf_postinit): fix a bunch of missing semicolons 1999-11-20 Havoc Pennington <hp@pobox.com> * wrappers/gtk/gconf-client.c (gconf_client_create_reverse_change_set): new function (gconf_client_commit_change_set): new function 1999-11-20 Havoc Pennington <hp@pobox.com> * gconf/gconf-changeset.c (gconf_create_reverse_change_set): New function creates a change set which will revert another change set on commit. 1999-11-19 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (gconf_server_load_sources): Give actual sysconfdir in the error message, not just /etc; include liboaf.h * gconf/gconf.c: include liboaf.h (gconf_postinit): fix a bunch of missing semicolons 1999-11-19 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (gconf_server_broken): don't need to set the server to NIL here, it gets set in gconf_detach_config_server() * doc/gconf/gconf-sections.txt: Add preinit, postinit * doc/gconf/gconf.sgml: Remove gconf-orbit entity * doc/gconf/gconf-sections.txt: Remove gconf-orbit stuff * tests/*.c: Fix to not include gconf-orbit.h, call gconf_init() properly * gconf-editor/gconf-editor.c: don't include gconf-orbit.h * wrappers/gtk/testgconfclient.c (main): remove "orb" variable * gconf/gconftool.c: don't include gconf-orbit.h * gconf/gconfd.c: don't include gconf-orbit.h * gconf/gconf.c: don't include gconf-orbit.h * gconf/gconf.h: don't include gconf-orbit.h * gconf/Makefile.am (gconfinclude_HEADERS): remove gconf-orbit.h (libgconf_la_SOURCES): remove gconf-orbit.c * gconf/gconfd.c (main): fix error message if oaf_init() returns FALSE * gconf/gconf.c (try_to_contact_server): Use the IID macro (gconf_postinit): Change all the error checks to assertions; if these errors can really happen they need to be reported as before (not sure how to do this with the pre/post init setup), if they can't happen then they should be asserted, not error-checked. * gconf/gconfd.c (fast_cleanup): Unregister with OAF in order to clean up. * gconf/Makefile.am: add -DIID to INCLUDES * gconf/gconfd.c (main): Use a macro for the IID * gconf/gconf-internals.c: Remove gconf_read_server_ior(), gconf_info_dir(), gconf_info_file(), etc. since we use OAF instead. * gconf/gconfd.c (main): Remove "nodaemon" flag since we don't run as a daemon anymore. (main): After oaf_init(), don't try to use "err" since oaf_init() won't set it. * gconf/gconf-orbit.h, gconf/gconf-orbit.c: Delete these, we are using OAF now. * gconf/gconf.c (gconf_get_config_server): Change this to only call try_to_contact_server() if start_if_not_found is TRUE, since with OAF any attempt to contact the server will automatically restart it. Now we keep the server variable up-to-date locally (set it to NULL on any system exception). 1999-11-19 Elliot Lee <sopwith@redhat.com> * Make it all use OAF, and redo the initialization routine(s) to fit better into the GnomeModuleInfo system. 1999-11-18 Elliot Lee <sopwith@redhat.com> * gconf.m4: AM_PATH_GCONF macro. * wrappers/gtk/Makefile.am, autogen.sh, backends/Makefile.am: Work with builddir != srcdir * Makefile.am: Distribute gconf.m4 & gconf-config.in, install gconf.m4 1999-11-18 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (gconf_server_load_sources): fix the message about writeable sources 1999-11-18 Havoc Pennington <hp@pobox.com> * backends/xml-backend.c (find_schema_subnode_by_locale): Check that locale && this_locale before strcmp()'ing them (entry_unset): take a NULL locale in unset to mean "unset all locales" * tests/testschemas.c (check_one_schema): fix the locale-related tests * gconf/gconf.c (gconf_set_schema): remove debug spew * gconf/gconf-internals.c (gconf_schema_from_corba_schema): parse the encoded default value (fill_corba_schema_from_gconf_schema): encode the default value to ship to the server. * gconf/GConf.idl: Add encoded default value string to ConfigSchema struct * gconf/gconf-internals.c (gconf_value_decode): implement (gconf_value_encode): implement * gconf/gconf-value.c (gconf_value_to_string): Use g_strdup_printf() to create int/float strings, rather than guessing at the needed string size. 1999-11-17 Havoc Pennington <hp@pobox.com> * tests/testencode.c: new test for string quoting * gconf/gconf-internals.c (gconf_unquote_string_inplace): new function unquotes a string (gconf_quote_string): quotes a string (gconf_unquote_string): unquotes a const string 1999-11-16 Havoc Pennington <hp@pobox.com> * gconf/gconf-schema.c (gconf_schema_copy): copy locale, and handle NULL fields. Sheesh this was broken. (gconf_schema_destroy): destroy default value and locale 1999-11-16 Havoc Pennington <hp@pobox.com> * gconf/gconf-value.c (gconf_value_to_string): print more info about schemas * backends/xml-backend.c (xentry_set_schema_value): Set the schema type on the toplevel node, not the localized node. (xentry_set_schema_value): Set the owner on the toplevel node (schema_node_extract_value): Do better at falling back to any schema if the locale we want isn't found. (my_xmlSetProp): Replace xmlSetProp with this, deletes the prop if setting to NULL or "" (my_xmlGetProp): Replace xmlGetProp with this, returns NULL if the prop has an empty value. * gconf/gconf-internals.c (gconf_value_type_to_string): Add case for GCONF_VALUE_INVALID * backends/xml-backend.c (entry_unset): refill cached_value if other locale values still exist. Also, mark the Entry dirty. (entry_value): add a sync_if_needed here (entry_sync_if_needed): just always sync if it's a schema; this code is so broken we may as well not try to be clever. 1999-11-15 Havoc Pennington <hp@pobox.com> * backends/xml-backend.c (entry_fill): handle locale by syncing cached value if necessary * wrappers/gtk/gconf-client.c (gconf_client_get_string): g_strdup() the retval if necessary (gconf_client_get_pair): fix one of the checks * backends/xml-backend.c (xentry_extract_value): use "C" locale if none is given. * gconf/gconftool.c (do_load_schema_file): check type of nodes (process_key_list): check node type (process_schema): check node type (process_locale_info): check node type (extract_global_info): check node type * backends/xml-backend.c (entry_unset): deal with locales (entry_set): deal with locales (entry_value): locales (schema_node_extract_value): handle locales * gconf/gconf-internals.c (gconf_log): move the check for debug messages to the top of the function, before g_strdup_vprintf(), and if GCONF_ENABLE_DEBUG isn't defined return immediately (ignore the GCL_DEBUG messages). 1999-11-15 Havoc Pennington <hp@pobox.com> * doc/gconf/tmpl/gconf-client.sgml: write GConfClient docs. * wrappers/gtk/gconf-client.c (gconf_client_new_with_engine): change this to increment the #GConfEngine reference count. * doc/gconf/gconf.sgml: Add GConfClient entity * doc/gconf/gconf-sections.txt: Add GConfClient stuff, add set_list and set_pair for GConfChangeSet * doc/gconf/gconf.types: New file gtk-doc requires * doc/gconf/Makefile.am (scan): Scan GConfClient as well. Uses a bad, probably nonportable hack, but this stuff isn't built by default anyway. * wrappers/Makefile.am: Build GConfClient if we have GNOME 1999-11-15 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (gconf_get): Fix it to use the current locale as documented. * gconf/gconf-internals.c (gconf_value_list_to_primitive_list_destructive): new function takes most code from gconf_get_list() (gconf_value_pair_to_primitive_pair_destructive): new function * wrappers/gtk/gconf-client.c (get): Return a copy of the cached value, should save us some segfaults. (gconf_client_get_list): new function (gconf_client_get_pair): new function (gconf_client_set_list): new function (gconf_client_set_pair): new function * gconf/gconf-internals.c (gconf_value_pair_from_primitive_pair): new function removes guts of gconf_set_pair() * gconf/gconf.c (gconf_set_list): change to use gconf_value_list_from_primitive_list() * gconf/gconf-changeset.c (gconf_change_set_set_list): new convenience function (gconf_change_set_set_pair): new function * gconf/gconf-internals.c (gconf_value_list_from_primitive_list): new function, takes most of the code from gconf_set_list() to share with other list-set wrappers 1999-11-14 Havoc Pennington <hp@pobox.com> * backends/xml-backend.c (listify_foreach): s/gconf_entry_new/gconf_entry_new_nocopy/ * gconf/gconf.c (gconf_all_entries): s/gconf_entry_new/gconf_entry_new_nocopy/ * gconf/doc/*: tons of documentation updates. * gconf/gconf-changeset.c: Add an "in_foreach" flag and warn if you do bad things during a foreach operation. (gconf_change_set_remove): check that we aren't in a foreach (gconf_change_set_unref): if refcount == 0 check that we aren't in a foreach * gconf/gconf-changeset.h: try to spell "committed" right. * gconf/gconf-value.h (gconf_entry_value): add accessor macros to GConfEntry. * gconf/gconf-value.c (gconf_entry_new_nocopy): Rename gconf_entry_new() to gconf_entry_new_nocopy() to reflect its actual behavior. 1999-11-13 Havoc Pennington <hp@pobox.com> * gconf/gconf-internals.h: move the value-from-string constructors here * gconf/gconf-value.h: moved from here 1999-11-13 Havoc Pennington <hp@pobox.com> * gconf/gconf-value.h (gconf_meta_info_schema): Add const cast to this macro. * gconf/gconf.c (gconf_set_list): allow list of schemas (from_primitive): handle schemas (primitive_value): handle schemas (gconf_get_list): handle schemas * doc/gconf/tmpl/gconf-value.sgml: docs! * doc/gconf/tmpl/gconf.sgml: docs! * doc/gconf/gconf-sections.txt: add set/get list/pair * gconf/gconf.c (gconf_set_list): Fix dumb bug (assign back to the original list!) 1999-11-13 Havoc Pennington <hp@pobox.com> * tests/testgconf.c (check_list_storage): Use the new list convenience wrappers, to be sure they are tested. (the test reveals that right now they don't work ;-) * gconf/gconf.c (error_checked_set): destroy the error if it isn't passed out to the user, to avoid a mem leak (gconf_set_float): checks (gconf_set_int): checks (gconf_set_string): checks (gconf_set_bool): checks (gconf_set_bool): canonicalize the boolean value with !! (gconf_set_schema): checks * gconf/gconf-value.h (gconf_value_string): add const cast to this macro * gconf/gconf.c (gconf_get_schema): add checks (gconf_get_bool): checks (gconf_get_string): checks (gconf_get_int): checks (gconf_get_float): checks (gconf_get_with_locale): checks (gconf_set): more checks (gconf_unset): checks (gconf_associate_schema): checks (gconf_all_dirs): checks (gconf_dir_exists): checks (gconf_get_list): New function, gets a list of native types and avoids GConfValue. (gconf_get_pair): New function, gets a pair of native types (gconf_set_list): New function, sets a list of native types (gconf_set_pair): New function, sets a pair of native types 1999-11-12 Havoc Pennington <hp@pobox.com> * doc/gconf/gconf.sgml: Set up the gtk-doc system. Added all the files for that. 1999-11-12 Havoc Pennington <hp@pobox.com> * backends/xml-backend.c: Change all comments starting with /** to not start with that (for gtkdoc) 1999-11-12 Havoc Pennington <hp@pobox.com> * gconf/gconftool.c (main): Add the ability to specify a configuration source other than the default configuration source stack. Add the ability to install a schema file. * gconf/Makefile.am (INCLUDES): add XML_CFLAGS (gconftool_LDADD): add XML_LIBS * backends/Makefile.am (INCLUDES): add XML_CFLAGS 1999-11-11 Havoc Pennington <hp@pobox.com> * tests/testchangeset.c: test for the changeset stuff * gconf/gconf.c (gconf_set): add check that string values don't contain a NULL string * gconf/gconf-changeset.c (gconf_change_set_unset): fix typo * doc/gconf.sgml: tweaks * gconf/gconf-changeset.c, gconf/gconf-changeset.h: ChangeSet data structure stores a bunch of changes to be committed in a block. For now the gconf_commit_change_set() function is really naive (iterates over the change set and sets each value) * backends/xml-backend.c: Throughout, use accessor functions to access the "value" field in the cache entries; we're going to have to update the value field to match the proper locale before supplying it via the entry_value() accessor. 1999-11-11 Havoc Pennington <hp@pobox.com> * tests/runtests.sh: Enhance to detect missing tests. * gconf/gconf-internals.c (gconf_log): don't log DEBUG level stuff if built without GCONF_ENABLE_DEBUG * backends/xml-backend.c (safe_g_hash_table_insert): Same, use GCONF_ENABLE_DEBUG Add locales stuff throughout this file, but do nothing with it for now. * gconf/gconfd.c (safe_g_hash_table_insert): Make this dependent on GCONF_ENABLE_DEBUG setting. * gconf/gconf-sources.c (gconf_sources_query_value): fix locale (gconf_sources_unset_value): locale (gconf_sources_all_entries): locales * gconf/gconfd.c (context_query_value): Use locale list (context_unset): locale argument (context_all_entries): locale argument (gconfd_unset_with_locale): locale * gconf/gconf-sources.c (gconf_source_query_value): Pass an array of locales to look for (gconf_source_all_entries): ditto (gconf_source_unset_value): pass locale to unset * gconf/gconf-backend.h: Add locale args to the backend functions that need it * gconf/gconf-internals.c (gconf_current_locale): Use setlocale() again, not guess_category_value from gnome-i18n 1999-11-10 Havoc Pennington <hp@pobox.com> * gconf/Makefile.am (gconfd_SOURCES): Move the locale stuff here; decided not to use it in backends, so it can be in gconfd not the library. * gconf/gconfd.c (one_hour_timeout): Expire old locale cache stuff (locale_cache_lookup): New function to look stuff up in the locale cache. (main): free the locale cache on exit 1999-11-10 Havoc Pennington <hp@pobox.com> * backends/xml-backend.c (free_childs): function to free children of a node. (xentry_set_value): free_childs() in a couple places we weren't * tests/testschemas.c: Add new schema test to check for storing a blank schema * gconf/gconf-locale.c, gconf/gconf-locale.h: New module, creates and caches the list of locales to search for given an environment variable value * gconf/gconf-internals.c (gconf_current_locale): We want LC_MESSAGES not LC_ALL 1999-11-07 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (reinstall_listeners_for_all_engines): Function to iterate over all engines and do the context reinstallation. However, it's not used yet because we also need to regenerate the context IDs. * gconf/gconfd.c: Add a ConfigServer_Context field to GConfContext (register_context): fill in the ConfigServer_Context field (context_new): init context field to invalid context * gconf/gconf.c (register_engine): Keep a hash from context ID's to GConfEngine, because we no longer have the global connection table (that table was broken anyway). (gconf_engine_blank): new function shared by the GConfEngine constructors (contains previous contents of gconf_engine_new, separate function required by registration stuff) (gconf_engine_new): Create blank engine, then register it (gconf_engine_new_from_address): register the engine (gconf_engine_unref): unregister the engine * gconf/GConf.idl: Add a context ID to the argument list of the notification. * gconf/gconf.c (gconf_server_broken): New predicate, asks if an exception is set indicating that our server is hosed. (gconf_detach_config_server): Function to release the server object reference and set it to nil (gconf_engine_new_from_address): Detach server and retry if appropriate. (gconf_notify_add): Detach and respawn if needed (gconf_notify_remove): ditto (gconf_set): ditto (gconf_associate_schema): ditto (gconf_unset): ditto (gconf_all_entries): ditto (gconf_all_dirs): ditto (gconf_suggest_sync): ditto (gconf_notify_add): remove debugging spew (gconf_cnxn_new): Add namespace_section to GConfCnxn struct (gconf_cnxn_destroy): free namespace_section (GConfEnginePrivate): Put the connection table in here, it is per-context (and thus per-GConfEngine), should not be global. (gconf_init): don't create CnxnTable here, create it for each engine. (gconf_engine_new_from_address): remove redundant refcount initialization (gconf_engine_unref): Destroy CnxnTable, and free the engine struct itself. (notify): remove debug spew, reflect new signature of notify function 1999-11-07 Havoc Pennington <hp@pobox.com> * gconf/gconf-internals.c: #include <locale.h>, oops 1999-11-07 Havoc Pennington <hp@pobox.com> * tests/testschemas.c (check_schema_storage): Properly consider that schema fields can be NULL * backends/xml-backend.c (entry_value): Properly consider that a schema can have a NULL locale * gconf/gconf.c (gconf_get_with_locale): New function (gconf_get): just calls get_with_locale() with a NULL locale (gconf_get_schema): Use get_with_locale() * gconf/gconf-internals.c (gconf_current_locale): So I don't have to think about setlocale() * tests/testschemas.c: New test program for schema stuff 1999-11-06 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (gconf_associate_schema): Add function to associate a schema name with a key. 1999-10-28 Havoc Pennington <hp@pobox.com> * backends/xml-backend.c (query_value): Add locale (dir_get_value): add locale (entry_value): new function gets the value from an entry, looking up a new value by locale if necessary. (xentry_extract_value): locale argument added, but needs to be implemented. * gconf/gconf-backend.h: Add locale to query_value in vtable * gconf/gconf-sources.c (gconf_source_query_value): Add locale (gconf_sources_query_value): Add locale * gconf/gconfd.c (gconfd_lookup_with_locale): Implement new IDL method (context_query_value): Add locale * gconf/GConf.idl: Add lookup_with_locale() method * gconf/gconf-internals.c (fill_corba_schema_from_gconf_schema): Handle case where some schema fields are NULL, handle locale field. (gconf_schema_from_corba_schema): Handle locale field. * gconf/gconf-schema.c (gconf_schema_set_locale): New function * gconf/gconftool.c: Clean up so it is easier to deal with 1999-10-28 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c: Rework the sync code; now, any change queues a sync in 1 minute. If a client calls suggest_sync(), we sync in an idle (as soon as the event loop quiets down). Also, we now sync on shutdown. * tests/testgconf.c: Fix to compile * tests/Makefile.am (testgconf_LDADD): Fix Makefile.am to use new library name 1999-10-27 Havoc Pennington <hp@pobox.com> * configure.in: Add --enable-debug option to G_DISABLE_CHECKS as needed * gconf/wrappers/gtk/testgconfclient.c: Test program for the GTK+ client wrapper. * gconf/gconf-sources.c (gconf_sources_query_value): Wasn't handling errors; now we report errors. The bad thing is, it might be better to go ahead and do our best despite the error. * gconf/gconf.c (gconf_init): Actually set the have_initted variable. * wrappers/gtk/Makefile.am (libgconf_gtk_la_LIBADD): Don't try to link with libgconf; Add testgconfclient target. * wrappers/gtk/gconf-client.h, wrappers/gtk/gconf-client.c: Make it compile * configure.in: Generate Makefile for GtkObject wrapper 1999-10-27 Havoc Pennington <hp@pobox.com> * gconf-editor/Makefile.am (gconf_editor_LDADD): link to libgconf.la * gconf/Makefile.am: Renamed the shared lib to libgconf instead of libgconf-client. * wrappers/gtk/Makefile.am: Renamed gconf-gtk.[hc] to gconf-client.[hc] via CVS surgery, then updated Makefile. 1999-10-21 Havoc Pennington <hp@pobox.com> * gconf/gconf.c (gconf_key_is_below): New function, tells you if a key is below another key in the directory hierarchy. 1999-10-20 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c, gconf/gconf-sources.c: Finish stuff from the 17th (use GConfError throughout, etc.) * gconf/gconfd-error.h, gconf/gconfd-error.c: Remove the broken old error stuff, even gconfd no longer uses it. 1999-10-17 Havoc Pennington <hp@pobox.com> * gconf/gconf-sources.c: Use GConfError** throughout, make the _source_ functions static (gconf_sources_query_value): Use the new flags and readable function (gconf_sources_set_value): use the new flags and writeable function * gconf/gconf-error.c (gconf_error_copy): new function (gconf_compose_errors): new function * backends/xml-backend.c: Throughout, use a GConfError** argument instead of the global errno thing * gconf/gconf-error.c (gconf_set_error): New function properly handles a GConfError** by setting error or ignoring if NULL, also warns if you "stack" two errors on top of each other. (gconf_clear_error): New function clears a GConfError** * gconf/gconfd.c: don't include gconfd-error.h * backends/xml-backend.c: Remove inclusion of gconfd-error.h * gconf/gconf-backend.h: Add lock/unlock and readable/writeable functions to the backend vtable, and add error arguments to all functions in the vtable. * gconf/gconfd.c (safe_g_hash_table_insert): priority GCL_WARNING * backends/xml-backend.c (safe_g_hash_table_insert): make it priority GCL_WARNING. * gconf/gconf-sources.h: GCONF_SOURCE_ALL_WRITEABLE, GCONF_SOURCE_ALL_READABLE flags to short-circuit calls to the new writeable/readable vtable functions. 1999-10-17 Havoc Pennington <hp@pobox.com> * gconf/gconf-orbit.h: Include orb/orbit.h instead of GConf.h 1999-10-17 Havoc Pennington <hp@pobox.com> * backends/xml-backend.c: Use %gconf.xml instead of .gconf.xml for the magic files. 1999-10-17 Havoc Pennington <hp@pobox.com> * tests/runtests.sh: Make this script work * gconf/gconftool.c: Don't use -s for --spawn, since it's used for --set. * gconf/gconf.c (gconf_get_config_server): Clear the error from the initial ping if we're asked to start the server. (gconf_engine_unref): No error spew if server is down when the engine is destroyed. Throughout: Make sure error is set but don't require a specific error type * gconf/gconf-internals.c (gconf_read_server_ior): Set error if the server info file doesn't exist * gconf/gconf.c (try_to_contact_server): Add a check for setting the error properly * gconf/gconftool.c (main): Switch to gconf_suggest_sync() instead of gconf_sync() * gconf/gconfd.c: Add a GConfContext::sync_idle field, to store the source ID of an idle function that performs a sync. (context_destroy): Remove the sync idle (context_hibernate): Check that sync idle is 0 (context_sync): Add the sync idle if it doesn't exist * gconf/gconf.c (gconf_suggest_sync): gconf_sync() renamed to gconf_suggest_sync(), because a sync is for all clients; suggest_sync() means "I just finished a large block of operations, so I'm suggesting that it would be efficient and data-preserving to schedule a sync in the near future." gconf_sync() didn't make much sense because it was global, not per-client. 1999-10-17 Havoc Pennington <hp@pobox.com> * For all files, s/G_CONF/GCONF 1999-10-12 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c: Use GConfListeners to handle listener registration and notification 1999-10-12 Havoc Pennington <hp@pobox.com> * gconf/gconf-listeners.c (ltable_insert): Was failing to init the node in the flat array of nodes if the listener location was NULL. (gconf_listeners_count): new function reports number of listeners (ltable_new): init next_cnxn to 1 instead of 0 (ltable_remove): Do a better job of cleaning up dead tree nodes (go up looking for empty parent nodes) (ltable_destroy): type error, was calling listener_destroy() on the GNodes. Oops. fixed, now use g_node_traverse() to destroy the node contents. (ltable_new): don't create the root node until it's needed (ltable_insert): add root node here if needed (ltable_remove): zero lt->tree if we destroy it * tests/testlisteners.c: New test program for GConfListeners, fairly comprehensive * tests/Makefile.am: add testlisteners, put EFENCE at the end of the link line 1999-10-12 Havoc Pennington <hp@pobox.com> * gconf/Makefile.am: Fixes - remove some public headers from libgconf_client_SOURCES, look for GConf.idl in $(srcdir) (bug from Wichert Akkerman) * gconf/gconf-listeners.h, gconf/gconf-listeners.c: New files, compile but are not tested. Moves listener tree interface into a public header to re-use in GTK+ wrapper. 1999-10-11 Havoc Pennington <hp@pobox.com> * For all files, s/g_conf/gconf 1999-10-05 Havoc Pennington <hp@pobox.com> * tests/testgconf.c (check_list_storage): Add checks for empty lists, and all the various list types. * gconf/gconf-value.c (g_conf_value_to_string): Fix a segfault (not always allocating a large enough buffer) 1999-10-05 Havoc Pennington <hp@pobox.com> * configure.in: 0.3, bump soname 1999-10-04 Havoc Pennington <hp@pobox.com> * tests/testgconf.c (main): Add checks for getting/setting lists, bools, floats, and ints * gconf/gconf-internals.c (fill_corba_value_from_g_conf_value): We have to set the release flag on a sequence inside a union, since the sequence isn't default initialized as it normally would be. Plugs a big memory leak (all sequence buffers). * backends/xml-backend.c (dir_fill_cache_from_doc): Plug a leak where we set entry->name and then reset it in entry_fill() (entry_destroy): Free entry->mod_user (x_shutdown): Renamed shutdown() to x_shutdown() to avoid namespace clash with some libcs. Bug report from Bjorn Andersson <ban@lifix.fi>. * gconf/gconf-internals.c (g_conf_log): Plug memory leak (not freeing log string) * gconf/gconfd.c (gconfd_set): Plug memory leak (not freeing the GConfValue) * tests/Makefile.am: Make testgconf noinst * gconf/gconfd.c (main): check GCONFD_NO_DAEMON environment variable to run in no-daemon mode for debugging. Needless to say this does NOT work if you are trying to use gconf for real. * gconf/gconf-internals.c (fill_corba_value_from_g_conf_value): Fill in the list type in the CORBA value (g_conf_value_from_corba_value): Fill in the list type in the GConfValue * gconf/GConf.idl: Create ConfigList type to past the list type along with the sequence of values * gconf/gconf-value.c (g_conf_value_set_list): New function, list setter that copies the list * gconf/gconf.c (g_conf_unset, g_conf_set): return boolean to indicate success * gconf/gconf-value.c (g_conf_value_new_from_string): Rewrite the bool string parser with switch, accept y/n as values. 1999-10-01 Havoc Pennington <hp@pobox.com> * gconf/gconf-sources.c (g_conf_sources_query_value): Check for errors when we query the default value from the schema. * backends/xml-backend.c (entry_fill): If the schema key for a key is invalid, don't load it. 1999-09-30 Havoc Pennington <hp@pobox.com> * gconf/gconf-sources.c (g_conf_key_check_hack): Clear error before we check the key * backends/xml-backend.c (dir_unset_value): Actually set the entry's value to NULL (entry_destroy): check whether Entry::value is NULL. Not sure why I didn't check; I think NULL is allowed, but if not we will have problems I guess. * tests/testgconf.c: Easiest to just write the test suite in C. Tests set/get and unset for strings so far. 1999-09-29 Havoc Pennington <hp@pobox.com> * gconf/gconf.sgml: Update docs 1999-09-29 Havoc Pennington <hp@pobox.com> * gconf/gconf-conf.h: Replaced with gconf-engine.h * gconf/Makefile.am: use gconf-engine.h * gconf/gconf.c, gconf/gconf.h, gconf/gconftool.c, gconf-editor/app.c, wrappers/guile/scm-gconf.c: Use GConfEngine name instead of GConf 1999-09-29 Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br> * configure.in: added pt_BR to ALL_LINGUAS 1999-09-29 Havoc Pennington <hp@pobox.com> * backends/xml-backend.c: include gconfd-error.h and gconf.h, change error checking to new system as needed * gconf/Makefile.am: Put more stuff in gconfd_SOURCES instead of client lib, add new files * gconf/gconf-backend.h: include gconf-sources.h * gconf/gconf-conf.h: add error arg to g_conf_new_from_address * gconf/gconf-error.c: move strerror in here, fixups, preconditions * gconf/gconf-internals.c, gconf/gconf-sources.c: move all sources stuff to new gconf-sources file * gconf/gconf-orbit.c: Check for failure to get lock * All the rest of this giant diff: Move to new error-handling scheme 1999-09-26 Havoc Pennington <hp@pobox.com> * gconf/Makefile.am: add gconf-error.h, gconf-conf.h headers, gconf-value.c file * gconf/gconf-error.h, gconf/gconf-conf.h, gconf/gconf-value.c: New files, just rearranging old files, no new code (well, there is a new GConfError object but it's unused) * gconf/gconf-internals.c: Move the value, metainfo, and entry datatypes to gconf-value.c * gconf/gconf.c, gconf/gconf.h: Remove appname argument from g_conf_init(), remove g_conf_global_appname() function. * gconf/gconftool.c: don't pass appname to g_conf_init() * gconf-editor/gconf-editor.c: Ditto 1999-09-25 Kjartan Maraas <kmaraas@online.no> * configure.in: Added "da" to ALL_LINGUAS. 1999-09-19 Havoc Pennington <hp@pobox.com> * NEWS, README: put something in here * Makefile.am: conditionally include gconf-editor if we have GNOME * autogen.sh: make it more like "macros" autogen.sh * configure.in: manually check for GNOME instead of using "macros" * macros, intl: remove these subdirs, autogen.sh now generates intl * gconf/gconf.c: fix array size for strerror messages * gconf-editor/Makefile.am: use new GNOME variables * gconf-editor/gconf-editor.c: use new g_conf_init() signature * gconf-editor/menus.h, gconf-editor/menus.c: These hadn't been added 1999-09-19 Havoc Pennington <hp@pobox.com> * gconf/gconf.h: Add G_CONF_OVERRIDDEN error if you try to set a value which will have no effect due to a read-only setting earlier in the path. * gconf/gconf.c: Add G_CONF_OVERRIDDEN to strerror, etc. * gconf/GConf.idl: add ConfigOverridden to pass it across the CORBA link * doc/gconf.sgml: Add more stuff to docs 1999-09-17 Havoc Pennington <hp@pobox.com> * gconf/gconf-internals.c (subst_variables): Add a new function to perform variable substitution on addresses in the path file. Supports $(HOME), $(USER), and $(ENV_ANYENVVARNAME) * Makefile.am: Add "doc" subdir * doc/Makefile.am: Added * doc/gconf.sgml: write more docs 1999-09-03 Havoc Pennington <hp@pobox.com> * configure.in: Set library version info variables, and locate Guile libraries, etc. * wrappers/Makefile.am: conditionally build Guile subdir if we found guile. * wrappers/guile: new subdir with the basic files/build for Guile bindings, will add the actual bindings later. 1999-09-03 Havoc Pennington <hp@pobox.com> * configure.in: set POPT_LIBS instead of adding -lpopt to generic LDFLAGS; this was causing libtool to fail to generate the .so file for the XML backend module. * gconf/Makefile.am: use POPT_LIBS * gconf/gconf-backend.c: change some g_warning to g_conf_log 1999-09-03 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c: Every hour or so, hibernate all contexts that haven't been accessed in 45 minutes. Make some assorted changes to support that. 1999-09-02 Havoc Pennington <hp@pobox.com> * gconf/gconf-internals.h, gconf/gconf-internals.c: Add a new g_conf_log() function for logging errors in backends; for now this wraps syslog() but if we eventually have non-daemon direct access to backends, we will need to change it. Use g_conf_log() throughout this file instead of printf() and g_warning(). * gconf/backends/xml-backend.c: Install a timeout which cleans old stuff out of the cache every 5 minutes; use g_conf_log to report problems. * gconf/gconfd.c: Use g_conf_log(); log "exiting" later than we had been, after shutting everything down. 1999-09-02 Havoc Pennington <hp@pobox.com> * backends/Makefile.am: Install backends in $(libdir)/gconf * gconf/Makefile.am: Look for backends in $(libdir)/gconf * gconf/gconf-backend.c (g_conf_backend_file): Use g_module_build_path() to build the module path * gconf/gconf-orbit.c (g_conf_get_cookie_reliably): Make the ~/.gconfd directory if necessary. Lots of error-checking added. * gconf/gconfd.c: Mark a lot of strings for translation; include username in the syslog spew. 1999-09-02 Havoc Pennington <hp@pobox.com> * gconf/gconfd.c (main): If the orb init fails, syslog the GConf error. * gconf/gconf-orbit.c: Add tons of error checks/reports 1999-09-01 Tim P. Gerla <timg@means.net> * configure.in: Added test for popt. 1999-09-01 Havoc Pennington <hp@pobox.com> * backends/xml-backend.c (dir_get_value): Fix a segfault, check that an Entry != NULL before dereferencing it * GConf.idl: Add ConfigException and ConfigErrorType to pass errors from server to client * gconf.c (g_conf_handle_corba_exception): set the GConf error based on CORBA error, if any, and free the exception. Use throughout the file to receive server errors. * gconfd.c (g_conf_set_exception): set the CORBA exception based on the GConf error, if any. Use this function throughout the file to send errors to clients. (g_conf_nuke_dir): Remove this obsolete function (context_set): don't notify listeners of a change if an error occurred 1999-09-01 Havoc Pennington <hp@pobox.com> * configure.in: add gmodule check to AM_PATH_GLIB, add an error if glib isn't found, use detected $XML_CONFIG to instead of xml-config, AC_PATH_PROG orbit-config, check for C++ compiler (since we'll have a C++ wrapper soon) * gconf/Makefile.am: Assume GMODULE_CFLAGS are now included in GLIB_CFLAGS since we fixed configure.in * gconf/gconf.c, gconf/gconf.h: Reference count the GConf object, add extern "C" when using C++ * gconf/gconftool.c: unref instead of destroying the GConf object 1999-08-31 Dave Camp <campd@oit.edu> * gconf/gconf.c (g_conf_is_initialized): New function. 1999-08-31 Dave Camp <campd@oit.edu> * gconf/gconftool.c (main): Changed --dir-exists to return 0 if the dir exists, and 2 if it does not. 1999-08-31 Dave Camp <campd@oit.edu> * gconf/gconftool.c (options): Added "--dir-exists". (main): If dir_exists is on the command line, check if the argument dir exists. * gconf/gconfd.c (server_epv): Added gconfd_dir_exists. (gconfd_dir_exists): New function. (context_dir_exists): New function. * gconf/gconf.c (g_conf_dir_exists): New function. * gconf/gconf-internals.c (g_conf_sources_dir_exists): New function. (g_conf_source_dir_exists): New function. * gconf/gconf-backend.h (GConfBackendVTable): Added a dir_exists entry. * gconf/GConf.idl (dir_exists): New function. * backends/xml-backend.c (dir_exists): New function. (xml_vtable): Added dir_exists. 1999-08-30 Dave Camp <campd@oit.edu> * gconf/gconf.h: #include gconf-orbit.h. * gconf/Makefile.am (gconfinclude_HEADERS): Install gconf-orbit.h, GConf.h 1999-08-29 Dave Camp <campd@oit.edu> * Makefile.am (bin_SCRIPTS): Install gconf-config. * configure.in (AC_OUTPUT): Create gconf-config. * gconf/Makefile.am: Install gconf.h and gconf-schema.h. 1999-08-29 Dave Camp <campd@oit.edu> * configure.in (XML_LIBS): Use xml-config. 1999-08-29 Kjartan Maraas <kmaraas@online.no> * configure.in: Added "no" to ALL_LINGUAS