Add g_object_add/remove_toggle_ref() functions to get notification when a
authorOwen Taylor <otaylor@redhat.com>
Thu, 5 May 2005 14:57:29 +0000 (14:57 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Thu, 5 May 2005 14:57:29 +0000 (14:57 +0000)
commit2ae1a46b4c8d9849f43eb9f059a98eadb4f2a6c9
tree813adfe3e8615ba3e9d4d65051691c8fc5706802
parent1167d7d6a78578da2a622f7226c9e1b557ef65cb
Add g_object_add/remove_toggle_ref() functions to get notification when a

2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * gobject.[ch] gobject.symbols: Add
        g_object_add/remove_toggle_ref() functions to get notification
        when a reference count is the last remaining reference; this
        enables better memory management for language bindings.
        (http://mail.gnome.org/archives/gtk-devel-list/2005-April/msg00095.html)

2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * glib/gdataset.[ch] glib/gdatasetprivate.h: Add
        g_datalist_set/unset_flags(), g_datalist_get_flags() functions
        to squeeze some bits into a GDataSet... this is needed for
        efficient implementation of toggle references in GObject.

        * tests/gobject/references.c tests/gobject/Makefile.am:
        Add a test case for weak and toggle references.

        * glib/gfileutils.[ch]: Rename g_file_replace() back
        to g_file_set_contents().

        * glib/glib.symbols: Update.

2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * glib/Makefile.am glib/glib-sections.txt gobject/gobject-sections.txt:
        Update

        * gobject/tmpl/objects.sgml: Document toggle-references.
83 files changed:
ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-8
docs/reference/ChangeLog
docs/reference/glib/Makefile.am
docs/reference/glib/glib-sections.txt
docs/reference/glib/tmpl/allocators.sgml
docs/reference/glib/tmpl/arrays.sgml
docs/reference/glib/tmpl/arrays_pointer.sgml
docs/reference/glib/tmpl/async_queues.sgml
docs/reference/glib/tmpl/atomic_operations.sgml
docs/reference/glib/tmpl/byte_order.sgml
docs/reference/glib/tmpl/caches.sgml
docs/reference/glib/tmpl/conversions.sgml
docs/reference/glib/tmpl/datalist.sgml
docs/reference/glib/tmpl/datasets.sgml
docs/reference/glib/tmpl/date.sgml
docs/reference/glib/tmpl/error_reporting.sgml
docs/reference/glib/tmpl/fileutils.sgml
docs/reference/glib/tmpl/glib-unused.sgml
docs/reference/glib/tmpl/hash_tables.sgml
docs/reference/glib/tmpl/hooks.sgml
docs/reference/glib/tmpl/i18n.sgml
docs/reference/glib/tmpl/iochannels.sgml
docs/reference/glib/tmpl/keyfile.sgml
docs/reference/glib/tmpl/limits.sgml
docs/reference/glib/tmpl/linked_lists_double.sgml
docs/reference/glib/tmpl/linked_lists_single.sgml
docs/reference/glib/tmpl/macros.sgml
docs/reference/glib/tmpl/macros_misc.sgml
docs/reference/glib/tmpl/main.sgml
docs/reference/glib/tmpl/markup.sgml
docs/reference/glib/tmpl/memory.sgml
docs/reference/glib/tmpl/memory_chunks.sgml
docs/reference/glib/tmpl/messages.sgml
docs/reference/glib/tmpl/misc_utils.sgml
docs/reference/glib/tmpl/modules.sgml
docs/reference/glib/tmpl/numerical.sgml
docs/reference/glib/tmpl/option.sgml
docs/reference/glib/tmpl/patterns.sgml
docs/reference/glib/tmpl/quarks.sgml
docs/reference/glib/tmpl/queue.sgml
docs/reference/glib/tmpl/random_numbers.sgml
docs/reference/glib/tmpl/relations.sgml
docs/reference/glib/tmpl/scanner.sgml
docs/reference/glib/tmpl/shell.sgml
docs/reference/glib/tmpl/spawn.sgml
docs/reference/glib/tmpl/string_chunks.sgml
docs/reference/glib/tmpl/string_utils.sgml
docs/reference/glib/tmpl/strings.sgml
docs/reference/glib/tmpl/thread_pools.sgml
docs/reference/glib/tmpl/threads.sgml
docs/reference/glib/tmpl/timers.sgml
docs/reference/glib/tmpl/trash_stack.sgml
docs/reference/glib/tmpl/trees-binary.sgml
docs/reference/glib/tmpl/trees-nary.sgml
docs/reference/glib/tmpl/type_conversion.sgml
docs/reference/glib/tmpl/types.sgml
docs/reference/glib/tmpl/unicode.sgml
docs/reference/glib/tmpl/version.sgml
docs/reference/glib/tmpl/warnings.sgml
docs/reference/gobject/gobject-sections.txt
docs/reference/gobject/tmpl/gboxed.sgml
docs/reference/gobject/tmpl/gclosure.sgml
docs/reference/gobject/tmpl/gparamspec.sgml
docs/reference/gobject/tmpl/gtypeplugin.sgml
docs/reference/gobject/tmpl/objects.sgml
docs/reference/gobject/tmpl/param_value_types.sgml
docs/reference/gobject/tmpl/value_collection.sgml
glib/Makefile.am
glib/gdataset.c
glib/gdataset.h
glib/gdatasetprivate.h [new file with mode: 0644]
glib/gfileutils.c
glib/gfileutils.h
glib/glib.symbols
gobject/ChangeLog
gobject/gobject.c
gobject/gobject.h
gobject/gobject.symbols
tests/gobject/Makefile.am
tests/gobject/references.c [new file with mode: 0644]