prepared deprecation of GMemChunk and GAllocator. added g_slice_*() API to
[platform/upstream/glib.git] / gobject / ChangeLog
index ab250f9..a35641a 100644 (file)
@@ -1,7 +1,202 @@
+Tue Nov  1 17:07:43 2005  Tim Janik  <timj@imendio.com>
+
+       * gsignal.c: allocate signal handlers and handler match structures
+       via the new g_slice_*() API (get's rid of GList allocation hack).
+
+       * gtype.c: got rid of per-type memchunks. if GTypeInfo.n_preallocs
+       is > 0, objects are allocated via g_slice_*() instead of g_malloc().
+
+2005-10-03  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib-mkenums.in: Really fix #314890.
+
+2005-09-28  Michael Natterer  <mitch@gimp.org>
+
+       * gtype.h (G_IMPLEMENT_INTERFACE): revert last change, it breaks
+       all users of G_IMPLEMENT_INTERFACE() inside
+       G_DEFINE_TYPE_WITH_CODE(), since apparently GCC doesn't like
+       commas enclosed in {}, not (), in nested macro calls.
+
+2005-09-26  DindinX  <dindinx@gimp.org>
+
+       * gobject/gtype.h: initialize all the fields of GInterfaceInfo in the
+       G_IMPLEMENT_INTERFACE macro, to shut up a warning when compiling at -W
+
+2005-09-26  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib-mkenums.in: Don't hang on '{' following a trigraph comment
+       in the same line.  (#314890, Mathias Hasselmann)
+
+Thu Sep 22 12:42:12 2005  Tim Janik  <timj@gtk.org>
+
+       * gparam.c (g_param_spec_internal): fix pspec->name assignment which
+       needs to be strdup()ed for non G_PARAM_STATIC_NAME pspecs. this fixes
+       recently introduced crashes during plugin unloading.
+       also, ensure that static pspec names are canonicalized.
+
+       * gsignal.h: reverted last change from matthias, we don't guarantee
+       that type ids aren't mangled with G_SIGNAL_TYPE_STATIC_SCOPE anywhere.
+
+2005-09-20  Matthias Clasen  <mclasen@redhat.com>
+
+       * gsignal.h (struct _GSignalQuery): Remove the misleading comment
+       about G_SIGNAL_TYPE_STATIC_SCOPE, since we don't allow that 
+       on return types.
+
+2005-09-08  Kjartan Maraas  <kmaraas@gnome.org>
+
+       * gclosure.c: (g_closure_set_meta_marshal): Remove some unused
+       code.
+       * gsignal.c: (g_signal_emitv): Same here
+       * gtype.c: (g_type_register_fundamental): And here
+       * testgobject.c: Mark some functions static.
+
+2005-09-05  Matthias Clasen  <mclasen@redhat.com>
+
+       * gsignal.c (struct _SignalNode): Make the name field const.
+       (g_signal_newv): Don't keep an unnecessary extra copy of the 
+       signal name around, and don't forget to free the name if
+       an existing node is reused.     
+
+2005-08-31  Matthias Clasen  <mclasen@redhat.com>
+
+       * gobject.c (g_object_do_class_init): Intern the signal name.
+
+       * gparam.c (g_param_spec_internal): Intern the name here,
+       since we need the quark anyway when sending change notification.
+
+       * gboxed.c: 
+       * gparamspecs.c: 
+       * gtype.c (g_type_init_with_debug_flags): Intern type name
+       before registering the types.
+
+       * gtype.h (G_DEFINE_TYPE_EXTENDED): Intern type name
+       before registering the type.
+
+       * gvaluetypes.c (g_value_types_init): 
+       * gtypeplugin.c (g_type_plugin_get_type): 
+       * gtypemodule.c (g_type_module_get_type): 
+       * gparam.c (g_param_type_init): 
+       * gobject.c (g_object_type_init): 
+       * genums.c (g_enum_types_init): 
+       * gboxed.c (g_boxed_type_init): Intern type names
+       before registering the type to avoid unnecessary
+       copies.
+
+2005-08-23  Matthias Clasen  <mclasen@redhat.com>
+
+       * === Released 2.8.1 ===
+
+2005-08-12  Matthias Clasen  <mclasen@redhat.com>
+
+       * === Released 2.8.0 ===
+
+2005-08-09  Matthias Clasen  <mclasen@redhat.com>
+
+       * gvaluetransform.c: Access enum and flags
+       values as v_long/v_ulong, not v_int/v_uint,
+       to make value transformation of such types
+       work on bigendian 64bit machines.  (#312485,
+       Michael Lorenz)
+
+2005-08-05  Matthias Clasen  <mclasen@redhat.com>
+       
+       * abicheck.sh: Also check exported variables
+
+       * === Released 2.7.7 ===
+
+2005-08-03  Matthias Clasen  <mclasen@redhat.com>
+
+       * === Released 2.7.6 ===
+
+2005-08-02  Matthias Clasen  <mclasen@redhat.com>
+
+       * gclosure.c (union ClosureInt): Mark the vint member as
+       volatile, which seems to be necessary to make atomic operations
+       work on s390.
+
+       * === Released 2.7.5 ===
+
+Mon Aug  1 23:00:42 2005  Tim Janik  <timj@imendio.com>
+
+       * gclosure.c: turned all modifications to the first 32 integer bits in a 
+       closure into atomic accesses. wrapped write accesses into special macros
+       to keep the atomic modification logic in a single place. comment cleanups.
+
+       * gclosure.h: made all atomicly accessed closure fields volatile.
+
+       * gobject.h: made ref_count field volatile.
+
+Sun Jul 31 02:04:23 2005  Tim Janik  <timj@gtk.org>
+
+       * gobject.c: use g_datalist_set_flags() and g_datalist_unset_flags() to
+       allow proper locking around &qdata modifications.
+
+Sat Jul 30 21:10:26 2005  Tim Janik  <timj@gtk.org>
+
+       * gobject.c: reverted notify_mutex introduction, since this prevents
+       parallelized setting of object properties on different objects, and
+       serves no apparent purpose (to me at least).
+       g_object_real_dispose(): removed non-atomic reference count 
+       modifications.
+       g_object_unref(): make sure the closures array is destroyed when
+       destroying signal handlers.
+
+       * gparam.c: cosmetic changes.
+
+       * gsignal.c: comment fixup. allow 16bit blocking count.
+
+       * gsignal.c: reverted GClosure related changes.
+
+       * gclosure.c: reverted premature commit of atomic reference
+       counting attempt.
+
+2005-07-21  Matthias Clasen  <mclasen@redhat.com>
+
+       * === Released 2.7.4 ===
+
+2005-07-15  Matthias Clasen  <mclasen@redhat.com>
+
+       * === Released 2.7.3 ===
+       
+2005-07-15  Matthias Clasen  <mclasen@redhat.com>
+
+       Make refcounting threadsafe by using atomic 
+       operations.  (#166020, Wim Taymans)
+       
+       * gobject.c: Use a recursive lock to protect the 
+       notify queue.
+       (g_object_unref): Get rid of g_object_last_unref and
+       do the last unref handling in g_object_unref.
+       (g_object_ref, g_object_unref): Use atomic operations.
+
+       * gsignal.c (struct _HandlerMatch): Use a full integer
+       for the ref_count field.
+       (handler_ref, handler_unref_R): Use atomic operations.
+
+       * gparam.c (g_param_spec_ref, g_param_spec_unref): 
+       Use atomic operations instead of a lock to make the
+       refcounting threadsafe.
+
+       * gclosure.c (g_closure_ref, g_closure_unref): Use atomic
+       operations. This is more complicated here, since the
+       refcount is stored in a bitfield, so we also have
+       to access all other bitfield members atomically.
+
+       * gsignal.c (handlers_find): Read the meta_marshal flag
+       of the closure atomically.
+
+2005-07-11  Matthias Clasen  <mclasen@redhat.com>
+
+       * gobject.h: 
+       * gobject.symbols: Remove G_GNUC_NULL_TERMINATED from
+       g_object_new again, since that makes gcc warn on calls of 
+       the form g_object_new (some_type, NULL)
+
 2005-07-09  Tor Lillqvist  <tml@novell.com>
 
        * Makefile.am: Don't use the scripts in build/win32 to compile
-       gobject.rc into a resource object file. (This means we loose the
+       gobject.rc into a resource object file. (This means we lose the
        build number increment magic, but I doubt it was that useful
        anyway.) Instead use windres directly. To pass the normal .o file
        produced by windres through libtool, which wants .lo files, pass
@@ -2399,8 +2594,8 @@ Fri Oct 27 16:33:41 2000  Tim Janik  <timj@gtk.org>
        that gets passed in to closure invocations. added signal details.
        renamed GSignalType to GSignalFlags to comply with conventions.
        quite some cleanups and minor fixes. avoid uneccessary handler list
-       walks upon invokation of after handlers. relookup handler list for
-       restarted emissions. preliminary abort normal handler invokation if
+       walks upon invocation of after handlers. relookup handler list for
+       restarted emissions. preliminary abort normal handler invocation if
        after handler is encountered.
 
        * glib-genmarshal.c: