2003-12-30 Murray Cumming <murrayc@usa.net>
* gobject/glib-mkenums.in: Added a lowercase_name option, to be used
next to the enum declaration, where the flag option is already used,
when it is not possible to guess where to put the underscores in the
_get_type() function name, for instance for GNOMEVFSURIHide.
Wed Dec 17 23:29:17 2003 Matthias Clasen <maclas@gmx.de>
* gvalue.c (g_value_peek_pointer): Use g_assert() instead of
g_return_val_if_fail(), suggested by Sheldon Simms.
Sat Nov 29 14:57:20 2003 Tim Janik <timj@gtk.org>
* gobject.c: fix g_object_set() whithin _init() implementations
not working for construct-only properties.
(g_object_init): make the object enter a construct_objects list.
(g_object_newv): remove object from construct_objects after creation.
(g_object_set_valist):
(g_object_set_property): allow construct-only properties for
objects which are in construct_objects.
Thu Nov 27 17:53:52 2003 Tim Janik <timj@gtk.org>
* gtype.[hc]:
(g_type_class_peek_static): variant of class_peek() which works for
static types only.
* gobject.c:
(g_object_do_class_init): make ::notify a run-action signal.
(g_object_newv): use g_type_class_peek_static() by default to
speed up common code path (trades two write-locks for one read-lock).
(g_object_disconnect):
(g_object_connect): allow signal specification words to be
seperated by '-'.
(g_object_set_valist):
(g_object_new_valist): don't leak values.
(g_object_get_property): check property for readability.
(g_object_set_property): check property for writability and to
not be construct-only.
(g_object_set_valist): check property to not be construct-only.
Tue Oct 14 17:40:19 2003 Owen Taylor <otaylor@redhat.com>
* gparamspecs.[ch]: Add a new GParamSpecOverride type
that is a pointer to a different paramspec in a parent
class or interface.
* gparam.[ch]: Add g_paramspec_get_redirect_target()
which follows GParamSpecOverride to the real property.
Make g_param_spec_pool_list() hand redirections,
properties on interfaces.
* gobject.[ch] gobjectnotifyqueue.c: Add
g_object_interface_install_property,
g_object_interface_find_property,
g_object_interface_list_properties(). Redirect virtually all
publically exposed GParamSpec's to the redirect target if
any. (->constructor is the exception.)
(#105894)
Thu Oct 2 01:16:50 2003 Owen Taylor <otaylor@redhat.com>
* gtype.[ch]: Add g_type_add/remove_interface_check(),
which allows inserting a post-interface-initialization
check.
* testgobject.c: Fix a deprecated usage.
Mon Sep 29 10:51:01 2003 Owen Taylor <otaylor@redhat.com>
* gtype.[ch]: Add g_type_default_interface_ref/peek/unref
for accessing the default vtable of an interface.
Fri Sep 26 17:24:53 2003 Owen Taylor <otaylor@redhat.com>
* gtype.c (g_type_instance_get_private): You can
have instance_real_class_bsa be non-NULL, but still
the class not be in the bsa. (Found by Kris Rietveld)
Fri Sep 12 16:31:40 2003 Owen Taylor <otaylor@redhat.com>
* gsignal.[ch]: Add g_signal_accumulator_true_handled(), to
do TRUE-stops-emit signals.
* Makefile.am: Move testoverride.c and testifaceinit.c to
tests/gobject.
2003-09-12 Matthias Clasen <maclas@gmx.de>
Make the g_value_set_x_take_ownership() functions "official"
part of the API (#100948):
* gvaluetypes.[hc]: Add g_value_take_string() (synonym to the
now deprecated g_value_set_string_take_ownership()).
* gparam.[hc]: Add g_value_take_param() (synonym to the
now deprecated g_value_set_param_take_ownership()).
* gobject.[hc]: Add g_value_take_object() (synonym to the
now deprecated g_value_set_object_take_ownership()).
* gboxed.[hc]: Add g_value_take_boxed() (synonym to the
now deprecated g_value_set_boxed_take_ownership()).
* gobject/gobject-sections.txt: Add new g_value_take_x() functions.
* gobject/tmpl/param_value_types.sgml: Document new g_value_take_x()
functions. (#100948)
Tue Sep 2 19:37:21 2003 Tim Janik <timj@gtk.org>
* gtype.[hc]: added support for a "default vtable" per interface,
that interface vtables are initialized from.
the default vtable is initialized and finalized through class_init,
class_finalize and class_data from the interfaces GTypeInfo struct.
(type_data_last_unref_Wm): unload child plugin before unreffing
parent type.
testifaceinit.c: minor fixups. fixed up base_init() assertions, since
with a default vtable, base_init() may be called multiple times.
added default initializer to iface1.
Tue Sep 2 14:53:41 2003 Tim Janik <timj@gtk.org>
* gobject-query.c (main): fix iterating over fundamental types.
* gtype.c: applied patch from owen which keeps internal
class initialization state to maintain class and interface
initialization happen in the order of:
1. class' base_init
2. interface' base_init
= interfaces added after here are immediately base_init-ialized
3. class_init
4. Interface_init
= interfaces added here are immediately Interface_init-ialized
Wed Aug 27 01:25:40 2003 Owen Taylor <otaylor@redhat.com>
* Makefile.am testifaceinit.c: Add a detailed test case
for interface initialization, testing the ability to
add interfaces during class initialization and the ordering
of interface base_init, class init, and interface_init.
(Expected to fail at the moment.)
Mon Aug 25 14:51:46 2003 Manish Singh <yosh@gimp.org>
* gtypemodule.c (g_type_module_register_type): fix typo in last
commit, cast to GTypeValueTable * to get rid of const warning.
Mon Aug 25 14:16:48 2003 Owen Taylor <otaylor@redhat.com>
* gtypemodule.c (g_type_module_register_type): Clarify
docs on the return. Fix a memory leak if a type with a
value table is reloaded.
Tue Aug 19 05:21:04 2003 Tim Janik <timj@gtk.org>
* testgobject.c (main): check private instance data after
initialization.
* gtype.c: for instances with private data, store the real class
pointer in a bsearch array during class initialization.
(g_type_instance_get_private): fetch the real class of
an instance from the bsearch array if necessary.
Tue Aug 19 04:08:14 2003 Tim Janik <timj@gtk.org>
* gvalue.c: adapt to new gbsearcharray.h code.
(g_value_register_transform_func): turn transform function
replacement into a valid operation.
* gsignal.c: adapt to new gbsearcharray.h code.
* gboxed.c: adapt to new gbsearcharray.h code.
2003-08-13 Tor Lillqvist <tml@iki.fi>
* glib/Makefile.am
* gmodule/Makefile.am
* gobject/Makefile.am
* gthread/Makefile.am: Use srcdir also in references to the .def
files. (#118885, Jeff Bonggren)
Wed Aug 6 09:57:14 2003 Owen Taylor <otaylor@redhat.com>
* testgobject.c (test_signal_accumulator): Add check
for instance private usage within in instance_init.
(Currently will fail.)
Tue Jul 8 22:29:31 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtype.c (type_class_init_Wm): Only access node->data->instance
when the node is instantiable.
Tue Jul 8 14:55:27 2003 Owen Taylor <otaylor@redhat.com>
* gtype.c (type_class_init_Wm): Initialize
node->data->instance.private_size here rather than
in type_data_make_W() since the class init for the parent
class may have changed pnode->data->instance.private_size.
(#116921, reported by Soeren Sandmann)
2003-06-17 Matthias Clasen <maclas@gmx.de>
* acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
macros to check for XML catalog contents and path, borrowed from
gtk-doc.
* configure.in: New option --enable-man to enable regeneration of
man pages from Docbook, if the necessary tools are found.
* gobject/Makefile.am: Add rule to regenerate man pages from
Docbook.
(man_MANS): Add glib-mkenums.1, glib-genmarshal.1 and gobject-query.1.
(content_files): Add glib-mkenums.xml, glib-genmarshal.xml and
gobject-query.xml.
* gobject/glib-mkenums.xml:
* gobject/glib-genmarshal.xml:
* gobject/gobject-query.xml: New refentries.
* gobject/glib-mkenums.1:
* gobject/glib-genmarshal.1:
* gobject/gobject-query.1: Man pages generated from the .xml
sources.
* gobject/gobject-docs.sgml: Include glib-mkenums.xml,
glib-genmarshal.xml and gobject-query.xml.
* glib/Makefile.am: Add rule to regenerate man pages from
Docbook.
(man_MANS): Add glib-gettextize.1.
(content_files): Add glib-gettextize.xml.
* glib/glib-gettextize.xml: New refentry.
* glib/glib-gettextize.1: Man page generated from the .xml source.
* glib/glib-docs.sgml: Include glib-gettextize.xml.
Fri May 30 14:42:24 2003 Owen Taylor <otaylor@redhat.com>
* gobject.c (g_value_set_object): Order refs/unrefs
so setting the same object back is safe. (#112861,
Morten Welinder)
Thu Feb 27 17:33:19 2003 Owen Taylor <otaylor@redhat.com>
* gtype.[ch] testgobject.c: Add support for instance-private data.
g_type_class_add_private(), g_type_instance_get_private(),
G_TYPE_INSTANCE_GET_PRIVATE(). (#101959, patch partly by
Mark McLoughlin, extensive feedback from Tim Janik.)
2003-03-01 James Henstridge <james@daa.com.au>
* autogen.sh: require automake 1.7. Add calls to libtoolize and
gtkdocize. Clean up some of the error messages.
* configure.in: move version declaration to the top of the file
(before AC_INIT), using M4 macros.
GLIB_AC_DIVERT_BEFORE_HELP() calls no longer necessary, due to use
of M4 macro expansion in help messages instead.
Convert AC_ARG_WITH/AC_ARG_ENABLE calls to use AC_HELP_STRING to
format help strings. Use quadrigraphs to get square brackets to
show correctly.
Replace gtk-doc checks with a call to GTK_DOC_CHECK() macro.
Use AC_CONFIG_COMMANDS([glibconfig.h], ...) to output
glibconfig.h, so that "./config.status glibconfig.h" works.
Add an extra AC_CONFIG_FILES call listing other files we want
generated by config.status protected by an "if false" block. This
way automake generates the rules needed to rebuild the files for
us.
Add quotes in various places.
* docs/reference/*/Makefile.am: convert to use the common
gtk-doc.make file. This localises the complexity to a single
makefile fragment maintained with gtk-doc itself.
* */Makefile.am: remove unneeded rules to build win32 files with
config.status. Automake now does this for us.
Replace instances of @FOO@ with $(FOO) where appropriate -- this
allows automake to do a better job checking the makefile.
Add some files to DISTCLEANFILES where appropriate
* Makefile.am: use the DISTCHECK_CONFIGURE_FLAGS variable to
ensure that --enable-gtk-doc is passed to configure during a
distcheck. Remove the custom distcheck, since the standard one
will now do.
* gobject/Makefile.am: switch to BUILT_SOURCES, since that now
works.
Mon Feb 17 20:59:47 2003 Tim Janik <timj@gtk.org>
* gvalue.c (g_value_register_transform_func): don't assert the types
passed in to have value tables. this prevents dynamic types from
registering transform functions.
2003-01-04 Tor Lillqvist <tml@iki.fi>
* {glib,gmodule,gobject,gthread}/Makefile.am:
[Win32] Install also the .def files, to help users generate
import libraries for other compilers. Uninstall, too.
* glib-zip.in: Include .def files from above.
2002-12-18 Michael Natterer <mitch@gimp.org>
* gobject/gtype.c (type_data_finalize_class_ifaces_Wm): applied
patch I got from Tim Janik for testing which fixes bug #101521.
(restart iterating the interface enties each time we finalized one
because they might have been modified).
* tests/string-test.c: Add a test for positional parameters in
g_snprintf().
* glib-genmarshal.c, gobject-query.c: Use g_printf() instead of
system printf. (#99319)
Thu Nov 21 16:05:50 2002 Owen Taylor <otaylor@redhat.com>
* gtype.c (g_type_check_instance_cast): Allow
NULL to be cast to any type. (Frequently requested,
most recently #99023, Lars Clausen.)
2002-11-21 Tor Lillqvist <tml@iki.fi>
* {glib,gmodule,gobject,gthread}/makefile.{mingw,msc}.in:
Hardcode 2.0 in the names, as that is what Makefile.am does.
2002-11-21 Tor Lillqvist <tml@iki.fi>
* gmodule/gmodule.rc.in
* gobject/gobject.rc.in
* gthread/gthread.rc.in: Hardcode 2.0 in the names, as that is
what the Makefile.am does.
Mon Nov 4 14:41:48 2002 Owen Taylor <otaylor@redhat.com>
* glib/gbsearcharray.c: Include config.h
so DISABLE_MEMPOOLS actually has an effect.
(#96437, Morten Welinder)
* tests/uri-test.c: Include <config.h>
Mon Nov 4 14:42:36 2002 Owen Taylor <otaylor@redhat.com>
* gtype.c gsignal.c gvaluearray.c: Include config.h
so DISABLE_MEMPOOLS actually has an effect.
(#96437, Morten Welinder)
* gsignal.c: Conditionalize definition of g_handler_ts
on DISABLE_MEM_POOLS (#96437)
Mon Nov 4 14:45:24 2002 Owen Taylor <otaylor@redhat.com>
* gthread-posix.c gthread-solaris.c: Include <config.h>
* gtype.c (g_type_interface_prerequisites): Report only the most
specific instantiatable prerequisite, filter out all supertypes of
this one (the supertypes are added to the prerequisites array for
technical reasons).
Sat Oct 12 22:02:32 2002 Tim Janik <timj@gtk.org>
* merged up from 2.0:
* testgobject.c: test creation of new fundamental types.
* gtype.c (g_type_fundamental_next), (type_node_fundamental_new_W):
account for static_fundamental_next storing non-shifted fundamental
IDs. this fixes g_type_fundamental_next() not returning a new usable
fundamental ID.
Wed Sep 11 16:50:20 2002 Dom Lachowicz <cinamod@hotmail.com>
* gtype.h: Fix problems with excessive C++ warnings: "ISO C++ forbids nested groups within expressions"
Fri Jul 26 15:46:36 2002 Owen Taylor <otaylor@redhat.com>
* gvaluetransform.c: Fix problems with excess ';'
by addition of strategic 'extern void glib_dummy_decl (void)'
(#83272, David L. Cooper II)
Thu Jul 25 20:34:39 2002 Owen Taylor <otaylor@redhat.com>
* gtype.c (g_type_interface_add_prerequisite): When
adding ancestral prerequisites, add the grandparents,
not the siblings. (Problem found by Jon Trowbridge, patch from
Dave Camp, #86879)
Mon May 20 15:57:47 2002 Owen Taylor <otaylor@redhat.com>
* gsignal.c: When printing errors, handle NULL
returns from g_type_debug(). (#73559, Laszlo Peter)
* gtype.c (type_descriptive_name_I): De-inline,
since it's only used for debugging.
2002-05-07 Michael Natterer <mitch@gimp.org>
* configure.in: added a new conditional CROSS_COMPILING which
indicates ($build != $host). If it is set, look for
glib-genmarshal in PATH. Error out if it was not found.
2002-05-07 Michael Natterer <mitch@gimp.org>
* Makefile.am: use the glib-genmarshal found at configure time
if CROSS_COMPILING is set, use the one which was just built
otherwise.
Mon May 6 16:06:23 2002 Owen Taylor <otaylor@redhat.com>
[ merged from stable ]
* gobject.c: Remove PROPERTIES_CHANGED enumeration
value that wasn't used any more. (#78833,
Matthias Clasen)
* gboxed.c (g_boxed_copy): Remove check on data[2]
that no longer exists. (#80814, Daniel Elstner)
Tue Mar 26 15:21:47 2002 Owen Taylor <otaylor@redhat.com>
* gsignal.h (g_signal_handlers_*_by_func): Add explicit
cast of G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA to
GSignalMatchType so that these macros work for C++.
(#76454, Damien Sandras)
Mon Mar 25 17:51:05 2002 Owen Taylor <otaylor@redhat.com>
* glib-mkenums.in (parse_entries): Fix various bugs and
excessive stack usage that crept in the conversion from
gtk-mkenums. (#74431)
Tue Mar 19 18:57:12 2002 Tim Janik <timj@gtk.org>
* gtype.c (check_add_interface_L): applied patch from Matthias Clasen
<maclas@gmx.de> to check for prerequisite of interfaces, fixes#74427.
fixed mutex recursion in his patch (we can't call g_type_is_a() while
holding a read lock).
* gparam.c (canonalize_key): cleanup.
2002-03-13 Alexander Larsson <alla@lysator.liu.se>
* gparam.c (canonalize_key):
Function to canonicalize parameter names. Faster than
using g_strcanon().
(g_param_spec_internal, param_spec_ht_lookup):
Use canonalize_key.
2002-03-05 Sven Neumann <sven@gimp.org>
* gvaluetransform.c (g_value_transforms_init): don't try to
register undeclared value transform functions if G_GINT64_FORMAT
or G_GUINT64_FORMAT are undefined (#73586).
Sun Mar 3 21:09:24 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Default to --disable-gtk-doc, to avoid
Jade setup hassles.
* autogen.sh: Add --enable-gtk-doc.
* configure.in: Default to --disable-static to go
along with Pango, GTK+ where we need to do that for
bin-compat reasons.
* Makefile.am: Add a slightly modified distcheck rule
that passes --enable-gtk-doc to the configure inside.
(So that 'make dist' succeeds inside.)
* configure.in *.pc.in **/Makefile.am m4macros/glib-2.0.m4
tests/makefile.mingw.in: Switch everything over to
glib-2.0.
Sun Mar 3 04:11:58 2002 Tim Janik <timj@gtk.org>
* gobject.c: placed a comment about not changing CArray until we have
g_object_list_watched_closures().
* gparam.h (struct _GParamSpecClass): added padding.
* gobjectnotifyqueue.c (struct _GObjectNotifyQueue): abuse
g_list_alloc() to allocate GObjectNotifyQueue to et rid
of locking issues.
* docs/debugging.txt, gobject/glib-genmarshal.c,
gobject/glib-genmarshal.1, gobject/Makefile.am, gobject/gtype.c:
Remove references to gruntime. This includes renaming the test
program testgruntime to testgobject and the debug envvar
GRUNTIME_DEBUG to GOBJECT_DEBUG. (#50877)