2008-08-21 Johan Dahlin <johan@gnome.org>
* gobject.h:
Mark g_object_get_type function as const, it's
a fundamental type and can safely marked as const,
as opposed to traditionally *_get_type functions.
svn path=/trunk/; revision=7378
2008-08-20 Johan Dahlin <johan@gnome.org>
Bug 548689 – The type name for GParamSpec is wrong
* gparam.c (g_param_type_init):
Register the type name as GParam instead of GParamSpec.
svn path=/trunk/; revision=7374
2008-07-27 Tor Lillqvist <tml@novell.com>
* gtype.h
* gtype.c: Revert my change from 2008-07-24. No G_TYPE_FORMAT is
needed. Just use G_GSIZE_FORMAT always when printing GType values.
svn path=/trunk/; revision=7256
2008-07-27 Tor Lillqvist <tml@novell.com>
* configure.in: Set LIB_EXE_MACHINE_FLAG to either X86 or X64 on
Windows. AC_SUBST it.
* */Makefile.am: Correspondingly, pass appropriate -machine
flag to lib.exe when producing the import library for the MS
toolchain.
svn path=/trunk/; revision=7255
2008-07-24 Tor Lillqvist <tml@novell.com>
* gtype.h: Define G_TYPE_FORMAT as the printf format for a GType
value. Either G_GSIZE_FORMAT or "lu".
* gtype.c: Use it instead of the C99 zu.
svn path=/trunk/; revision=7250
2008-07-21 Michael Natterer <mitch@imendio.com>
Reviewed by Tim Janik:
* gsignal.c (g_signal_chain_from_overridden_handler): allocate
the temp GValue array with GSLice.
(g_signal_emit_valist): dito. Remove optimization/obfuscation of
allocating up to 16 GValues on the stack and always use GSLice.
svn path=/trunk/; revision=7229
2008-07-04 Michael Natterer <mitch@imendio.com>
Bug 541208 – Functions to easily install and use signals without
class struct slot
* gobject.symbols
* gsignal.[ch] (g_signal_new_class_handler): the same as
_gtk_binding_signal_new(), to install signals with a callback
instead of a class struct slot as class closure.
The next two functions are C convenience and much easier to use
than the generic overriding and chaining APIs which are intended
primarily for language bindings:
(g_signal_override_class_handler): to override a signal with a
callback instead of a class struct slot.
(g_signal_chain_from_overridden_handler): to chain up from a
signal without class struct slot. The API is similar to
g_signal_emit().
svn path=/trunk/; revision=7157
2008-06-27 Hans Breuer <hans@breuer.org>
* glib-genmarshal.c : move G_OS_WIN32 inclusion of <io.h> down to
where G_OS_WIN32 will be defined (#540047, Kazuki IWAMOTO)
svn path=/trunk/; revision=7100
2008-06-22 Michael Natterer <mitch@imendio.com>
* *.c: remove trailing whitespace from newly added gtk-doc
comments and reformatted some where they contained overly long or
ill-formatted lines.
svn path=/trunk/; revision=7090
2008-06-22 Michael Natterer <mitch@imendio.com>
* *.c: moved includes back to the top of the files (before gtk-doc
SECTION comments). Add "config.h" in all files and move system
included before glib includes. Remove trailing whitespace from
SECTION comments and did some reformatting where lines were overly
long, no documentation content was changed.
svn path=/trunk/; revision=7089
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