Commit Graph

589 Commits

Author SHA1 Message Date
Tor Lillqvist
256ba23b98 makefile.mingw gmodule/makefile.mingw.in glib/makefile.mingw.in
2006-11-05  Tor Lillqvist  <tml@novell.com>

	* makefile.mingw
	* gmodule/makefile.mingw.in
	* glib/makefile.mingw.in
	* gobject/makefile.mingw.in
	* gthread/makefile.mingw.in
	* tests/makefile.mingw.in: Remove from CVS. Haven't been
	maintained or distributed for long.
2006-11-05 15:42:42 +00:00
Tim Janik
49eacae2a3 applied patch from David Necas which introduces an underscore_name option
Tue Oct 10 12:06:08 2006  Tim Janik  <timj@gtk.org>

        * glib-mkenums.in:
        * glib-mkenums.1: applied patch from David Necas which introduces
        an underscore_name option and fixes #358734.
2006-10-10 10:10:43 +00:00
Behdad Esfahbod
5e4364aac6 Include pltcheck.sh in EXTRA_DIST, and remove redefinition of TESTS.
2006-10-02  Behdad Esfahbod  <behdad@gnome.org>

        * glib/Makefile.am:
        * gobject/Makefile.am:
        Include pltcheck.sh in EXTRA_DIST, and remove redefinition of TESTS.
        (#358966)
2006-10-02 18:03:50 +00:00
Tim Janik
2d75227eb1 reverted a change to have an assert instead of a g_return_val_if_fail()
Mon Oct  2 15:50:16 2006  Tim Janik  <timj@gtk.org>

        * gvalue.c (g_value_peek_pointer): reverted a change to have an
        assert instead of a g_return_val_if_fail() here. libraries (and
        programs) should only ever g_assert or g_error if there is no way
        to carry on with the current program state. that's clearly not
        the case here.

        * ChangeLog: added missing changelog entry for 2003-12-30.
2006-10-02 13:52:13 +00:00
Matthias Clasen
20b39ffafa Fix some issues with PLT entries. 2006-09-30 13:59:01 +00:00
Tim Janik
b6a3cd8039 applied patch from Behdad with slight optimization, fixes #356175.
Fri Sep 22 13:41:02 2006  Tim Janik  <timj@imendio.com>

        * gtype.h: applied patch from Behdad with slight optimization,
        fixes #356175.

        * gobjectnotifyqueue.c: fixed include-guard macro name.
2006-09-22 12:06:28 +00:00
Hans Breuer
b3a8c3288b better filtering of G_GNUC_* stuff when generating .def files. Now also
2006-09-17  Hans Breuer  <hans@breuer.org>

	* glib/makefile.msc.in gobject/makefile.msc.in : better filtering
	of G_GNUC_* stuff when generating .def files. Now also works with
	newer (less tolerant) linkers, e.g. from vc2500e
2006-09-17 16:17:44 +00:00
Tim Janik
831cda3ca7 reimplemented floating flag handling by atomically accessing a reserved
Mon Sep 11 12:12:45 2006  Tim Janik  <timj@imendio.com>

        * gparam.c (g_param_spec_sink): reimplemented floating flag handling by
        atomically accessing a reserved GData bit, fixes #330556.
2006-09-11 10:14:05 +00:00
Tim Janik
08e3a830fb fixed to print usage and version info on STDOUT (#322502).
Tue Aug 29 13:27:33 2006  Tim Janik  <timj@gtk.org>

        * glib-mkenums.in: fixed to print usage and version info on STDOUT
        (#322502).

        * gobject.c (g_initially_unowned_init): restore ; after G_DEFINE_TYPE.
2006-08-29 11:29:24 +00:00
Matthias Clasen
ed9c3c2696 Fix some typos. (#351741, Kjartan Maraas)
2006-08-26  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutils.h:
	* glib/gscanner.c: Fix some typos.  (#351741, Kjartan Maraas)
2006-08-26 04:03:37 +00:00
Sven Neumann
89f9ebaef3 changed return value of g_value_dup_object(), fixes #343292.
Wed Aug 23 10:35:32 2006  Tim Janik  <timj@gtk.org>

        * gobject.[hc]: changed return value of g_value_dup_object(), fixes #343292.

2006-08-23  Sven Neumann  <sven@gimp.org>

        * gobject/glib-genmarshal.[c1]: added new command-line option
        "--internal" that can be used to let glib-genmarshal generate
        internal functions using the G_GNUC_INTERNAL attribute (bug #346647).
2006-08-23 08:46:21 +00:00
Sven Neumann
fa293c86c6 added new command-line option "--internal" that can be used to let
2006-08-23  Sven Neumann  <sven@gimp.org>

	* gobject/glib-genmarshal.[c1]: added new command-line option
	"--internal" that can be used to let glib-genmarshal generate
	internal functions using the G_GNUC_INTERNAL attribute (bug
#346647).
2006-08-23 06:45:55 +00:00
Tim Janik
13fe93378e conditionally thaw the notify queue after construction, so we don't
Wed Aug 16 13:55:08 2006  Tim Janik  <timj@imendio.com>

        * gobject.c: conditionally thaw the notify queue after construction,
        so we don't trigger warnings when trying to thaw an unfrozen singleton.
2006-08-16 12:09:51 +00:00
Matthias Clasen
c4bc3fe91d 2.12.2 2006-08-16 00:45:03 +00:00
Matthias Clasen
1482f7b139 Don't initialize struct members with function calls. (#349952)
2006-08-05  Matthias Clasen  <mclasen@redhat.com>

	* gparamspecs.c (g_param_spec_types_init): Don't initialize
	struct members with function calls.  (#349952)
2006-08-06 00:57:36 +00:00
Matthias Clasen
395997df20 2.12.1 2006-07-22 18:21:48 +00:00
Matthias Clasen
cf98df8b88 Copy the complete value table, not just the first 4 bytes. (#348136,
2006-07-21  Matthias Clasen  <mclasen@redhat.com>

	* gtypemodule.c (g_type_module_register_type): Copy the complete
	value table, not just the first 4 bytes.  (#348136, Coverity)
2006-07-21 13:57:25 +00:00
Matthias Clasen
7f25ce8987 2.12.0 2006-07-02 19:52:14 +00:00
Matthias Clasen
2107d8e3ed 2.11.4 2006-06-20 15:09:06 +00:00
Matthias Clasen
dd106106dc Separate groups by an empty line (#344868, Christian Persch)
2006-06-14  Matthias Clasen  <mclasen@redhat.com>

	* glib/gkeyfile.c (g_key_file_to_data): Separate groups by
	an empty line  (#344868, Christian Persch)

2006-06-14  Tor Lillqvist  <tml@novell.com>
2006-06-15 19:18:51 +00:00
Matthias Clasen
ec50b87916 2.11.3 2006-06-12 15:37:27 +00:00
Matthias Clasen
0c26468057 2.11.2 2006-06-05 17:34:53 +00:00
Behdad Esfahbod
ef3d67bbec Moving ChangeLog entry to gobject/. 2006-06-02 21:54:04 +00:00
Behdad Esfahbod
934bc42c94 Make value_name and value_nick const in structs _GEnumValue and
2006-06-02  Behdad Esfahbod  <behdad@gnome.org>

        * gobject/genum.h: Make value_name and value_nick const in structs
        _GEnumValue and _GFlagValue.  (#317793)
2006-06-02 21:42:48 +00:00
Tim Janik
4c6e514add turn off compiler warnings, #337129.
Tue May 16 14:01:43 2006  Tim Janik  <timj@imendio.com>

        * gtype.h (G_IMPLEMENT_INTERFACE): turn off compiler warnings, #337129.
2006-05-16 12:02:29 +00:00
Matthias Clasen
ba7dd25959 2.11.1 2006-05-15 17:16:28 +00:00
Matthias Clasen
4b17ee97a5 2.11.0 2006-05-03 02:05:01 +00:00
Tim Janik
f2649abe84 split up G_DEFINE_*TYPE macro definitions so C CODE arguments are not
Tue May  2 14:51:03 2006  Tim Janik  <timj@gtk.org>

        * gtype.h: split up G_DEFINE_*TYPE macro definitions so C CODE arguments
        are not passed on to nested macro calls. patch mostly courtesy of Behdad
        Esfahbod, fixes #337128.
2006-05-02 13:00:52 +00:00
Matthias Clasen
68eaeb69cb Fix some problems with my last commit 2006-04-23 04:21:08 +00:00
Matthias Clasen
2e57b11a94 Add g_type_register_static_simple 2006-04-21 16:53:02 +00:00
Matthias Clasen
a639cb7cb8 2.10.1 2006-03-07 18:30:23 +00:00
Tim Janik
e9b421f212 added case3 to hand out the original floating flag handler. required by
Tue Mar  7 17:09:07 2006  Tim Janik  <timj@gtk.org>

        * gobject.c (g_object_compat_control): added case3 to hand out the
        original floating flag handler. required by gtk+ >= 2.10.
2006-03-07 16:15:20 +00:00
Matthias Clasen
2f4f39095f 2.10.0 2006-02-24 17:17:35 +00:00
Matthias Clasen
72abb1a5ac 2.9.6 2006-02-11 14:05:58 +00:00
Matthias Clasen
8ff5b7f920 Remove C++ comment 2006-01-30 04:19:07 +00:00
Matthias Clasen
666e90eae6 2.9.5 2006-01-27 14:37:02 +00:00
Matthias Clasen
1154014f26 2.9.4 2006-01-18 17:16:21 +00:00
Matthias Clasen
f6c57b3509 Make g_object_compat_control() visible for GTK+ compilation, to avoid
2006-01-18  Matthias Clasen  <mclasen@redhat.com>

	* gobject.h: Make g_object_compat_control() visible
	for GTK+ compilation, to avoid segfaults on 64bit
	platforms.
2006-01-18 16:03:57 +00:00
Matthias Clasen
7f737f1f34 2.9.3 2006-01-17 00:00:17 +00:00
Matthias Clasen
9090c67afc 2.9.2 2006-01-06 05:07:47 +00:00
Matthias Clasen
7946d2e67e Fix the build 2006-01-06 04:47:45 +00:00
Matthias Clasen
bc87370219 Fix make check 2006-01-05 21:58:05 +00:00
Matthias Clasen
8aa8d430d2 Remove the handler trash stack, which is now unused. (g_signal_init):
2005-12-30  Matthias Clasen  <mclasen@redhat.com>

	* gsignal.c: Remove the handler trash stack, which
	is now unused.
	(g_signal_init): Remove the restriction that HandlerMatch
	must be the same size as GList, and obsolete comments
	referring to mem chunks.
2005-12-31 02:44:53 +00:00
Matthias Clasen
5882074979 Remove the handler trash stack, which is now unused.
2005-12-30  Matthias Clasen  <mclasen@redhat.com>

	* gsignal.c: Remove the handler trash stack, which
	is now unused.
2005-12-30 07:32:05 +00:00
Matthias Clasen
037ec089c5 One more 2005-12-24 07:41:19 +00:00
Matthias Clasen
ec07cf331a Add new functions.
2005-12-24  Matthias Clasen  <mclasen@redhat.com>

	* gobject.symbols: Add new functions.
2005-12-24 07:38:26 +00:00
Tim Janik
648da9d63f renamed GUnowned to GInitiallyUnowned.
Thu Dec 22 18:53:14 2005  Tim Janik  <timj@gtk.org>

        * gobject.[hc]: renamed GUnowned to GInitiallyUnowned.
2005-12-22 17:58:21 +00:00
Tim Janik
6f01d0c34f implemented G_TYPE_GTPYE. applied patch from matthias which implements
Thu Dec 22 14:59:24 2005  Tim Janik  <timj@imendio.com>

        * gvaluetypes.[hc]: implemented G_TYPE_GTPYE. applied patch
        from matthias which implements GType accessors for GValue.

        * gparamspecs.[hc]: applied patch from matthias which
        implements G_TYPE_PARAM_GTYPE.

        * gobject.[hc]:
        GUnowned: introduced a new object type that has an initially
        floating reference.
        g_object_compat_control(): allow setting of a floating flag handler.
2005-12-22 15:07:03 +00:00
Matthias Clasen
eff8046fcc 2.9.1 2005-12-09 18:05:25 +00:00
Matthias Clasen
116519a4a7 Use G_FLAGS_CLASS_TYPE. (#323273, Kalle Vahlman)
2005-12-05  Matthias Clasen  <mclasen@redhat.com>

	* genums.h (G_FLAGS_CLASS_TYPE_NAME): Use G_FLAGS_CLASS_TYPE.
	(#323273, Kalle Vahlman)
2005-12-05 18:01:51 +00:00
Tim Janik
d871f19c30 use g_slic_* for all object allocations.
Thu Dec  1 12:53:26 2005  Tim Janik  <timj@imendio.com>

        * gtype.c: use g_slic_* for all object allocations.
2005-12-01 16:33:51 +00:00
Tim Janik
b1b63c4ff3 export g_hash_table_get_type 2005-12-01 16:32:11 +00:00
Matthias Clasen
d98433b85e Silence compiler warnings.
2005-11-28  Matthias Clasen  <mclasen@redhat.com>

	* gobjectnotifyqueue.c (g_object_notify_queue_thaw):
	* gobject-query.c (main): Silence compiler warnings.

	* glib-genmarshal.c (main): Use G_N_ELEMENTS.
2005-11-28 20:33:53 +00:00
Matthias Clasen
9adc9c942d Document GObject API additions 2005-11-27 20:09:13 +00:00
Tim Janik
6e5f465924 added floating reference count. g_object_is_floating():
Wed Nov 23 18:01:46 2005  Tim Janik  <timj@imendio.com>

        * gobject.[hc]: added floating reference count.
        g_object_is_floating():
        g_object_ref_sink(): new functions to deal with floating references.
        g_object_force_floating(): new funciton for object implementations
        to set the floating flag.

        * gobject.c (g_object_init): make objects initially floating.

Wed Nov 23 17:58:13 2005  Tim Janik  <timj@gtk.org>

        * gparam.[hc]: added g_param_spec_ref_sink().
2005-11-23 17:54:41 +00:00
Tim Janik
02b62d08cc minor cleanups, implemented G_TYPE_HASH_TABLE.
Wed Nov 23 13:36:02 2005  Tim Janik  <timj@gtk.org>

        * gboxed.[hc]: minor cleanups, implemented G_TYPE_HASH_TABLE.
2005-11-23 12:37:01 +00:00
Matthias Clasen
d7deadb1e2 2.9.0 2005-11-18 13:58:48 +00:00
Matthias Clasen
92ea153ae9 const correctness fixes, found by Arjan van de Ven and gcc.
2005-11-17  Matthias Clasen  <mclasen@redhat.com>

	* glib/gbacktrace.c:
	* glib/gdate.c:
	* glib/gthread.c: const correctness fixes, found
	by Arjan van de Ven and gcc.
2005-11-17 13:17:22 +00:00
Tim Janik
0cba1b531d prepared deprecation of GMemChunk and GAllocator. added g_slice_*() API to
Tue Nov  1 16:24:20 2005  Tim Janik  <timj@imendio.com>

        * glib/gmem.[hc]: prepared deprecation of GMemChunk and GAllocator.
        added g_slice_*() API to allocate and cache small bits of memory.
        an actuall allocator implementation for g_slice_*() is still pending.

        * glib/gthread.[hc]: changes from a patch by Matthias Clasen.
        changed GRealThread list to use in-structure *next; fields instead
        of GSList, in order for thread iteration to not depenend on g_slice_*()
        indirectly.
        _g_thread_mem_private_get():
        _g_thread_mem_private_set(): added accessors for private memory,
        needed because the ordinary GPrivate implementation relies on GArray
        and GSList and therefore indirectly on working g_slice_*() allocations.

        * glib/gthread.[hc]:
        g_thread_foreach(): new public API function to loop over all existing threads.

        * glib/gdataset.c:
        * glib/gstring.c:
        * glib/gcache.c:
        * glib/garray.c:
        * glib/gqueue.c:
        * glib/gslist.c:
        * glib/glist.c:
        * glib/ghash.c:
        * glib/gtree.c:
        * glib/ghook.c:
        * glib/gmain.c:
        * glib/gnode.c:
        removed GAllocator and free list usages and accompanying locks.
        use g_slice_*() API to allocate and cache small bits of memory.

        * glib/ghook.h: removed GMemChunk field from public API.

        * glib/gslist.h:
        * glib/glist.h: deprecate allocator API, provide _free1() for consistency.

        * glib/gnode.h: deprecate allocator API.

        * glib/gmain.c: reordered GPollRec fields so g_slice_free_chain() can
        be used for poll rec lists.

        * glib/grel.c: removed mem chunk usage, and allocated tuples via g_slice_*().
        g_relation_destroy(): free all tuples from the all_tuples hash table,
        this effectively maintains the life time track keeping of tuples.
        g_relation_delete_tuple(): free tuples which are removed from the
        all_tuples hash table. this fixes a temporary leak that was present
        in the memchunk code until the destruction of the relation.
2005-11-01 18:10:31 +00:00
Matthias Clasen
12e2c276b5 Really fix #314890.
2005-10-03  Matthias Clasen  <mclasen@redhat.com>

	* glib-mkenums.in: Really fix #314890.
2005-10-03 15:46:15 +00:00
Michael Natterer
e02b163efd revert last change, it breaks all users of G_IMPLEMENT_INTERFACE() inside
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-27 23:19:16 +00:00
David Odin
09a819fef9 Moved the ChangeLog entry to the right ChangeLog 2005-09-27 19:01:53 +00:00
David Odin
31659726ea initialize all the fields of GInterfaceInfo in the G_IMPLEMENT_INTERFACE
* 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 18:35:32 +00:00
Matthias Clasen
a2b2c8143f Don't hang on '{' following a trigraph comment in the same line. (#314890,
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)
2005-09-26 15:19:24 +00:00
Tim Janik
b94a2fe66c fix pspec->name assignment which needs to be strdup()ed for non
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-22 10:48:04 +00:00
Matthias Clasen
a07b4b8c02 Remove the misleading comment about G_SIGNAL_TYPE_STATIC_SCOPE, since we
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-20 14:28:32 +00:00
Matthias Clasen
21bbad188f Move a few strings from .data to .rodata.
2005-09-10  Matthias Clasen  <mclasen@redhat.com>

	* gtype.c (INVALID_RECURSION, check_type_name_I): Move a few strings
	from .data to .rodata.
2005-09-10 04:01:03 +00:00
Kjartan Maraas
2147c486b0 Remove some unused code. Same here And here Mark some functions static.
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-08 06:35:44 +00:00
Matthias Clasen
8161643a39 Make the name field const. (g_signal_newv): Don't keep an unnecessary
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-09-05 19:23:32 +00:00
Matthias Clasen
6d2d63f6fd Don't forget to free the tmp string 2005-09-01 13:59:05 +00:00
Matthias Clasen
f7a681d65d Intern the signal name.
2005-08-31  Matthias Clasen  <mclasen@redhat.com>

	* gobject.c (g_object_do_class_init): Intern the signal name.
2005-08-31 19:42:51 +00:00
Matthias Clasen
5e08d524c3 Intern the name here, since we need the quark anyway when sending change
2005-08-31  Matthias Clasen  <mclasen@redhat.com>

	* gparam.c (g_param_spec_internal): Intern the name here,
	since we need the quark anyway when sending change notification.
2005-08-31 19:13:26 +00:00
Matthias Clasen
63b1b0c187 More string interning 2005-08-31 17:56:49 +00:00
Matthias Clasen
3a151501cc Intern type name before registering the type.
2005-08-31  Matthias Clasen  <mclasen@redhat.com>

	* gtype.h (G_DEFINE_TYPE_EXTENDED): Intern type name
	before registering the type.
2005-08-31 14:49:20 +00:00
Matthias Clasen
07c4d80d55 Intern type names before registering the type to avoid unnecessary copies.
2005-08-31  Matthias Clasen  <mclasen@redhat.com>

	* 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-31 14:38:18 +00:00
Matthias Clasen
4bf14f1c4e 2.8.1 2005-08-23 04:35:33 +00:00
Matthias Clasen
30828b953a Fix abi checks for ia64. 2005-08-15 05:00:57 +00:00
Matthias Clasen
6de0ca7807 2.8.0 2005-08-12 17:18:55 +00:00
Tim-Philipp Müller
7788ead137 Special-case flag value of 0. Instead of returning the first random
* gobject/genums.c: (g_flags_get_first_value): Special-case flag
value of 0. Instead of returning the first random GFlagsValue
we come across, return the GFlagsValue for 0 if it exists or
NULL if it does not exist. Never return the GFlagsValue for 0
if the requested flags value is nonzero.
2005-08-12 16:09:19 +00:00
Stepan Kasal
0169468c8c Fix typos: invokation -> invocation. 2005-08-10 10:46:55 +00:00
Matthias Clasen
ce5afcf888 Access enum and flags values as v_long/v_ulong, not v_int/v_uint, to make
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-09 14:04:37 +00:00
Matthias Clasen
ddad5d479e Improve ABI checks 2005-08-06 15:34:38 +00:00
Matthias Clasen
d5c882abc4 2.7.7 2005-08-05 16:09:42 +00:00
Matthias Clasen
6e103ba100 2.7.6 2005-08-03 20:58:37 +00:00
Matthias Clasen
f881779a8c Mark the vint member as volatile, which seems to be necessary to make
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.
2005-08-03 20:20:47 +00:00
Matthias Clasen
e4c231a62a 2.7.5 2005-08-02 16:17:48 +00:00
Tim Janik
834ddd1920 turned all modifications to the first 32 integer bits in a closure into
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.
2005-08-01 21:17:50 +00:00
Tim Janik
4746cf2ce0 use g_datalist_set_flags() and g_datalist_unset_flags() to allow proper
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.
2005-07-31 00:05:22 +00:00
Tim Janik
f0cfc267ba reverted notify_mutex introduction, since this prevents parallelized
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-30 19:46:11 +00:00
Matthias Clasen
3c6e2da565 2.7.4 2005-07-22 17:02:04 +00:00
Matthias Clasen
1760b7074d 2.7.3 2005-07-15 17:28:17 +00:00
Matthias Clasen
39ea11ce6b Make refcounting threadsafe by using atomic operations. (#166020, Wim
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.

	* tests/Makefile.am (SUBDIRS): Add tests/refcount

	* configure.in: Add tests/refcount

	* tests/refcount/properties.c: Test property changes
	from multiple threads.

	* tests/refcount/signals.c: Test signal emission from
	multiple threads.

	* tests/refcount/objects.c: Test refcounting from
	multiple threads.

	* tests/refcount/objects2.c:
	* tests/refcount/properties2.c: Tests to measure the
	overhead of threadsafe refcounting.

	* glib/giochannel.c (g_io_channel_ref, g_io_channel_unref):
	Use atomic operations to make refcounting
	threadsafe.  (#166020, Wim Taymans)
2005-07-15 16:51:10 +00:00
Matthias Clasen
693b03a749 Remove G_GNUC_NULL_TERMINATED from g_object_new again, since that makes
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-11 17:58:29 +00:00
Tor Lillqvist
521a964f8c Typo. 2005-07-09 00:12:04 +00:00
Tor Lillqvist
d22f051252 Don't use autoconf variables for the resource object files on Win32 any
2005-07-09  Tor Lillqvist  <tml@novell.com>

	* configure.in: Don't use autoconf variables for the resource
	object files on Win32 any longer. Instead handle that in the
	Makefile.am files. Check for windres.

	* glibconfig.h.win32.in: Minor tuning to match the
	configure-produced glibconfig.h closely.

	* */Makefile.am: Don't use the scripts in build/win32 to
	compile the .rc file into a resource object file. (This means
	we loose 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 it directly to the linker using a -Wl
	option.

	* */*.rc.in: Thus replace BUILDNUMBER with 0.
2005-07-08 23:04:06 +00:00
Matthias Clasen
138f260fbc 2.7.2 2005-07-08 15:48:32 +00:00
Matthias Clasen
399b0456ce 2.7.1 2005-06-30 21:01:58 +00:00
Tor Lillqvist
2e13949ab6 libtool installs/uninstalls the import library, no need to do it
2005-06-26  Tor Lillqvist  <tml@novell.com>

	* Makefile.am: libtool installs/uninstalls the import library, no
	need to do it ourselves. Do still install/uninstall the .def file,
	though.
2005-06-26 18:07:13 +00:00
Tor Lillqvist
80d0d5690f glib/Makefile.am gmodule/Makefile.am Current GNU tools do understand the
2005-06-24  Tor Lillqvist  <tml@novell.com>

	* glib/Makefile.am
	* gmodule/Makefile.am
	* gobject/Makefile.am: Current GNU tools do understand the
	PRIVATE keyword.

	* glib/gfileutils.c (g_mkdir_with_parents): Return error with
	EINVAL also for empty pathnames.
	(g_build_pathname_va): Fix typo.
2005-06-24 13:26:45 +00:00
Matthias Clasen
e884a3954b Avoid a warning. (#308295, Murray Cumming).
2005-06-19  Matthias Clasen  <mclasen@redhat.com>

	* gparam.h (GParamFlags): Avoid a warning.  (#308295,
	Murray Cumming).
2005-06-20 03:09:35 +00:00