2008-06-10 13:34:01 Tim Janik <timj@imendio.com>
* tests/threadtests.c: added race condition tester from Michael Meeks
with a couple fixes so it's not triggering development warnings. From:
Bug 537555 - GObject instantiation not thread safe ...
svn path=/trunk/; revision=6983
2008-06-10 13:15:29 Tim Janik <timj@imendio.com>
* gtype.c (g_type_class_ref): fixed race condition where references to
partially initialized classes could be handed out.
svn path=/trunk/; revision=6982
2008-05-28 Michael Natterer <mitch@imendio.com>
* Makefile.am: don't define G_DISABLE_SINGLE_INCLUDES, it's in
the global CPPFLAGS now.
svn path=/trunk/; revision=6952
2008-05-05 Michael Natterer <mitch@imendio.com>
* Makefile.am. build with G_DISABLE_SINGLE_INCLUDES to prevent
code from being checked in that breaks the build of applications
which use G_DISABLE_SINGLE_INCLUDES.
svn path=/trunk/; revision=6876
2008-03-16 Tor Lillqvist <tml@novell.com>
* configure.in: Don't bother defining Autoconf variables for
glib.def, gmodule.def, gobject.def and gthread.def when this can
be handled easily in */Makefile.am which are the only files that
use them. Remove also TESTGMODULE_EXP which isn't used at all.
* */Makefile.am: Corrsponding changes.
svn path=/trunk/; revision=6722
* gparamspecs.c: (param_gtype_set_default), (param_gtype_validate):
make GParamGType require the set type during construction instead of
using G_TYPE_NONE, which causes issues when setting.
Bug 513073 - g_param_spec_gtype breaks with G_PARAM_CONSTRUCT
svn path=/trunk/; revision=6457
2008-02-05 18:52:07 Tim Janik <timj@imendio.com>
* gtype.c: added recursive mutex to protect class initialization,
default interface initialization and per-class interface construction.
a lock to this recursive mutex is held during user callback invocations
such as initializers or finalizers, effectively allowing only one thread
to run class/interface initializers/finalizers at a time.
also made misc fixups. this fixes:
Bug 64764 - Class initialization isn't thread safe.
svn path=/trunk/; revision=6454
2008-02-05 18:41:22 Tim Janik <timj@imendio.com>
* Makefile.am: integrate tests/.
* tests/: new directory for libgobject tests.
* tests/Makefile.am: build and run threadtests.
* tests/threadtests.c: test multi-threaded initializers for
object classes and interfaces.
svn path=/trunk/; revision=6452
2007-09-20 Carlos Garnacho <carlos@imendio.com>
* gtypemodule.h: make sure we define GType g_define_type_id in
G_G_DEFINE_DYNAMIC_TYPE_EXTENDED so it works together with
G_IMPLEMENT_INTERFACE. (#478459)
svn path=/trunk/; revision=5777
Fri Jun 22 11:31:27 2007 Tim Janik <timj@gtk.org>
* gtype.h: reintroduce typedef gulong GType; for C++, to avoid
C++ specific ABI breakage.
svn path=/trunk/; revision=5582
Thu Jun 14 23:32:00 2007 Tim Janik <timj@gtk.org>
* gtype.h: always define GType unconditionally in terms of gsize,
there's no need to jump through a glong hoop ever and this fixes
the printf modifier to %zu.
svn path=/trunk/; revision=5560
Thu Jun 14 22:33:11 2007 Tim Janik <timj@imendio.com>
* gparamspecs.c (g_param_spec_types_init): work around SGI IDO cc,
fixes#363986.
svn path=/trunk/; revision=5559
2007-05-17 Matthias Clasen <mclasen@redhat.com>
* configure.in: Move the compiler-dependency in the G_GNUC_INTERNAL
definition from configure-time to runtime (of the compiler).
(#438869, Damien Carbery)
* glib/gdebug.h:
* glib/gmessages.h:
* glib/gunicodeprivate.h:
* glib/gthreadprivate.h: Move G_GNUC_INTERNAL before function
declarations to fix compilation with sun studio. (#438873,
Damien Carbery)
svn path=/trunk/; revision=5497
2007-04-25 Michael Natterer <mitch@imendio.com>
* gparamspecs.c (param_string_validate): also clear the
NOCOPY_CONTENTS flag when replacing NULL with the empty string.
svn path=/trunk/; revision=5458
Tue Apr 3 12:34:14 2007 Tim Janik <timj@gtk.org>
* gobject.[hc]: invoke GObjectClass.constructed() only for newly
constructed objects, and invoke it while the notify queue is
still being frozen, after all CONSTRUCT* properties have been
set and before random other properties are being set.
* applied modified patch from Ryan Lortie to implement
GObjectClass.constructed() to fix#425324.
2007-04-02 Ryan Lortie <desrt@desrt.ca>
* gobject/gobject.h: Add 'constructed' vcall to GObjectClass.
* gobject/gobject.c (g_object_newv): call ->constructed() as last
step of object construction.
svn path=/trunk/; revision=5441
Mon Mar 12 13:30:20 2007 Tim Janik <timj@gtk.org>
* gtype.h: marked purely functional g_type accessors as PURE or CONST,
closes#305100.
svn path=/trunk/; revision=5400
2007-01-02 Tor Lillqvist <tml@novell.com>
* glib-genmarshal.c (main): Add comment about dup(0) and
lack of /dev/stdin on Win32. (#407431)
svn path=/trunk/; revision=5335
2007-01-02 Tor Lillqvist <tml@novell.com>
* glib-genmarshal.c (main): Handle "/dev/stdin" by dup()ing fd 0
so that it works on Win32, too.
svn path=/trunk/; revision=5185
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.
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.
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.
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).
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-05 Matthias Clasen <mclasen@redhat.com>
* gparamspecs.c (g_param_spec_types_init): Don't initialize
struct members with function calls. (#349952)
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-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>
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.
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-01-18 Matthias Clasen <mclasen@redhat.com>
* gobject.h: Make g_object_compat_control() visible
for GTK+ compilation, to avoid segfaults on 64bit
platforms.
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.
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.
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-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.