2004-07-21 Matthias Clasen <mclasen@redhat.com>
* glib-genmarshal.c (put_marshal_value_getters): Use the
correct fields for enums and flags. (#145015,Tommi Komulainen)
Tue Jul 6 00:46:43 2004 Matthias Clasen <maclas@gmx.de>
* gtypemodule.h:
* gtypemodule.c: Fix the declarations of the new
functions to return GType, not void.
Also add missing includes. (#145508, Morten Welinder)
Wed Jun 23 12:55:34 2004 Matthias Clasen <maclas@gmx.de>
* gtype.h (G_DEFINE_TYPE_EXTENDED): Add an initializer for
the g_define_type_info.value_table. (#144678,Mariano
Suárez-Alvarez)
Fri Jun 18 22:55:36 2004 Matthias Clasen <maclas@gmx.de>
* gsourceclosure.h (__G_SOURCECLOSURE_H__): Actually
define the guard after checking for it. (#108038,
Morten Welinder)
2004-04-30 Matthias Clasen <mclasen@redhat.com>
* === Released 2.4.1 ===
* glib/libcharset/Makefile.am (INCLUDES): Add -I$(top_srcdir)
to make make distcheck happy.
* configure.in: Version 2.4.1, interface age 1.
* NEWS: Updates
2004-04-15 Matthias Clasen <mclasen@redhat.com>
* gparamspecs.c (param_float_init): Correct the initial
minimal value to be -G_MAXFLOAT. The initial values were
inconsistant before, with the initial default being smaller
than the inital minimum.
(param_double_init): Correct the initial minimal value
to be -G_MAXDOUBLE.
* glib/tmpl/types.sgml: Correct the description of the
gfloat and gdouble ranges.
2004-03-04 Tor Lillqvist <tml@iki.fi>
* gobject.def: Another of the glib DLL's functions was erronously
present in the stable branch's gobject.def: g_unichar_validate,
and nobody noticed until too late. Thus there are applications
deployed that expect it to be found in the gobject DLL, and to
keep ABI compatibility, we must keep it there forever. Argh.
Mon Mar 1 16:49:51 2004 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.5 ===
* configure.in: Version 2.3.5, interface ago 0.
* NEWS: Some further updates.
2004-03-01 Tor Lillqvist <tml@iki.fi>
* gobject.def: Add g_slist_remove_all back for ABI
compatibility. That entry point actually is in the glib DLL, but
it was at some time many years ago by mistake added to
gobject.def. Thus there presumably are executables out there that
expect it to be exported from the gobject DLL. We don't want to
break those. (#134813, J. Ali Harlow)
Tue Feb 3 21:24:01 2004 Tim Janik <timj@gtk.org>
* gtype.h (_G_TYPE_CVH): provide a short-cut version for
this macro in case value->g_type==checked_type for gcc, similar
to instance and class check short-cuts. this speeds up code that
makes frequent use of G_VALUE_HOLDS_*() (e.g. setters/getters).
* gtype.c (type_data_last_unref_Wm): don't call class-cache functions
for the uncached case, this rendered g_type_class_unref_uncached()
useless. pointed out by Stefan Westerfeld.
Sat Jan 24 18:20:13 2004 Tim Janik <timj@gtk.org>
* gtype.h: prefixed the parent_class variable defined by G_DEFINE_TYPE()
with type_name. removed type_parent_class argument
from G_DEFINE_TYPE_EXTENDED().
Sun Jan 11 15:34:35 2004 Manish Singh <yosh@gimp.org>
* gsourceclosure.c: wrap g_io_channel_ref in a function that returns
the passed in GIOChannel, so we aren't abusing GBoxedCopyFunc
semantics. Fixes bug #131076.
Sat Jan 10 02:43:20 2004 Tim Janik <timj@gtk.org>
* gtype.h: made G_DEFINE_TYPE_INTERNAL() public by renaming it to
G_DEFINE_TYPE_EXTENDED() and moving it into the appropriate section.
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.
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)
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.)
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.
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.)
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>
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 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.
Sun Feb 24 22:08:29 2002 Owen Taylor <otaylor@redhat.com>
* gtypemodule.[ch] (g_type_module_add_interface): Make
GInterfaceInfo paramter const to correspond to the
conventions for the g_type_add_interface() functions.
(#72461, Miroslaw Dobrzanski-Neumann)
Sat Feb 23 13:28:56 2002 Owen Taylor <otaylor@redhat.com>
* gtypeplugin.h (struct _GTypePluginClass): Add some
padding to the class.
* gclosure.h (struct _GClosure): Fix typo in comment.
Wed Feb 20 22:55:15 2002 Owen Taylor <otaylor@redhat.com>
* gobject.c: Fix implicit conversions between void * and
function pointer (Miroslaw Dobrzanski-Neumann, #71963)
Sun Feb 16 22:08:48 2002 Tim Janik <timj@gtk.org>
* gobject.[hc]:
* gparam.[hc]: provide marshaller specific value_set_*_take_ownership()
variants.
* gvalue.h: shrink GValue's data contents to 2 unions.
* glib-genmarshal.c: fix release and realeas_check hackage by always
using _take_ownership() variants. directly access value contents if
G_ENABLE_DEBUG is not defined.
* gobject.h: add padding pointers to the class struct.
Wed Feb 13 06:29:51 2002 Tim Janik <timj@gtk.org>
* gvaluetransform.c: cosmetic cleanups, fixed [u]int64->string
conversions.
* ChangeLog: added entry from owen which went into the wrong
file.
Fri Jan 11 12:26:36 2002 Tim Janik <timj@gtk.org>
* gparamspecs.c: fixed param_value_array_values_cmp(),
param_value_array_validate() and
param_value_array_set_default() to deal with NULL value
arrays.
Fri Jan 4 04:36:46 2002 Tim Janik <timj@gtk.org>
* gtype.h (G_TYPE_FLAG_RESERVED_ID_BIT): turn this into a GType,
so negating it works on 64bit platforms.
2001-12-21 Tor Lillqvist <tml@iki.fi>
* config.h.win32.in: Add (undefined) HAVE_C99_VSNPRINTF.
* glibconfig.h.win32.in: Add definition of G_HAVE_GROWING_STACK.
* tests/Makefile.am: Rename the progs_LDADD, thread_LDADD and
module_LDADD Make macros to progs_ldadd, thread_ldadd and
module_ldadd. Newer automakes reserve macros named *_LDADD for
the use as LDADDs for targets it knows.
* glib/giowin32.c: (struct _GIOWin32Watch): 'callback' wasn't used
here, either.
2001-12-21 Tor Lillqvist <tml@iki.fi>
* gobject.def: Add g_signal_get_invocation_hint.
Tue Dec 18 21:39:57 2001 Tim Janik <timj@gtk.org>
* testoverride.c: added some assertions to test
g_signal_get_invocation_hint().
* gsignal.[hc]: remove signal_id argument from
g_signal_chain_from_overridden(), the parameters are assumed to match
the innermost signal currently in emission for this instance.
added g_signal_get_invocation_hint() to figure the invocation hint
of the innermost signal emission of an instance.
* gsignal.c (g_signal_list_ids): fix G_BSEARCH_ARRAY_NODES() to
access a bsearch array and not a pointer to it (discovered by
Sven Neumann).
2001-12-08 Christopher Blizzard <blizzard@redhat.com>
* gsignal.h (g_signal_connect): Explicitly add a cast to the last
argument so that the macro will work from C++.
Sun Nov 25 22:33:32 2001 Tim Janik <timj@gtk.org>
* gtype.h: removed enum GTypeFundamentals. use macros
to provide the constant fundamental type IDs, so they
all return numbers of type GType, and not int.
sizeof(GTypeFundamentals) < sizeof(GType) problem reported
and fix sugegsted by Havoc.
Mon Nov 19 14:35:56 2001 Owen Taylor <otaylor@redhat.com>
* *.h: Improve the detection of invalid includes by moving
the test outside the duplicate include guards.
* gsourceclosure.c (g_source_set_closure): Doc fix.
Thu Nov 22 03:30:57 2001 Tim Janik <timj@gtk.org>
* gvalue.h (G_TYPE_IS_VALUE): use g_type_check_is_value_type()
instead of g_type_value_table_peek().
* gtype.[hc] (type_check_is_value_type_U): speed up check
LOCK-less by caching lookups in node->mutatable_has_value_table.
* gtype.[hc]: removed locks where possible. partly based on
patches from owen and alex.
Thu Nov 22 00:26:26 2001 Tim Janik <timj@gtk.org>
* gtype.[hc]: provide G_TYPE_FUNDAMENTAL_SHIFT and
g_type_fundamental_next() to return next usable fundamental
type. use TypeNode pointers as type IDs.
2001-11-21 Tor Lillqvist <tml@iki.fi>
* glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in
Makefile.am.
gobject:
2001-11-22 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in Makefile.am.
* gparamspecs.h (GOBJECT_VAR): Can't use GLIB_VAR here, as that
makes sense only when building libglib. GOBJECT_VAR is similar for
libgobject.
* gobject.def: Add g_param_spec_types, remove
g_type_fundamental_branch_last.
Wed Nov 21 17:23:33 2001 Tim Janik <timj@gtk.org>
* gparamspecs.[hc]: put newly created param spec types into a
global array.
* gboxed.[hc]: moved boxed types with _get_type() function here,
for: G_TYPE_CLOSURE, G_TYPE_VALUE, G_TYPE_VALUE_ARRAY,
G_TYPE_GSTRING.
* gtype.h: removed fundamental branch APIs and derived enum
values.
Sat Nov 17 18:14:40 2001 Owen Taylor <otaylor@redhat.com>
* glib-genmarshal.c: Exit with non-zero exit status if
any errors were encountered.
* glib-genmarshal.c: Instead of generating gobject/gmarshal.h
#include only for the header, generate glib-object.h
#include for both the header and body. (#63834)
* glib-genmarshal.c: Generate include guards around the
content unless --nostdinc is specified.
Tue Nov 13 23:18:10 2001 Tim Janik <timj@gtk.org>
* gsignal.[hc]: add API for chaining:
g_signal_chain_from_overridden() and g_signal_override_class_closure(),
implementation yet to come.
* gtype.[hc], Makefile.am: provide G_LOG_DOMAIN as compile flag.
* gparam.[hc]: s/g_param_get/g_param_spec_get/ for get_nick,
get_name and get_blurb, to be consistent with the rest of the
g_param_spec_*() functions.
* gparamspecs.[hc]: got rid of bogus GClosure paramspec.
G_TYPE_CLOSURE is a boxed type already.
Tue Nov 13 22:16:41 2001 Tim Janik <timj@gtk.org>
* gtype.[hc]: API cleanups.
remove g_type_check_flags(), provide g_type_test_flags() as
a *private* function.
s/g_type_check_is_a/g_type_check_class_is_a/, private function.
s/g_type_instance_is_a/g_type_check_instance_is_a/, also private.
Wed Nov 7 00:56:00 2001 Tim Janik <timj@gtk.org>
* gclosure.h: provide G_CLOSURE_N_NOTIFIERS() for people that need
to walk the notifier list (puhh, black magic, stay-away-warning ;).