mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-02 15:46:17 +01:00
617332234d
Thu Mar 8 16:23:34 2001 Tim Janik <timj@gtk.org> * ghook.[hc]: destruction cleanup. there's one ->finalize_hook member in the hooklist now that gets called when a hook should be destroyed, that's it. that function is guarranteed to be called only when all ref_counts to the hook vanished, thus also when the hook is not in call. Thu Mar 8 16:35:48 2001 Tim Janik <timj@gtk.org> * gparamspecs.[hc]: s/g_param_spec_string_c/g_param_spec_stringc/. * gsignal.[hc]: fixed accumulator invocation, implemented emission hooks. and no, neither of these callbacks are called via a closure, language bindings can wrap the accumulator and emission hook interface, they already get parameters marshalled into a GValue array. (g_signal_connect): removed this function as its C specific, doesn't cover the swapped argument, is too close to its broken original gtk_signal_connect() and creates demand for _swapped, _after and _swapped_after variants <brrr>. (g_signal_connectc): convenience macro to connect a C handler func with data, like the old g_signal_connect() plus swapped argument. * gtype.h: * gboxed.c: added G_TYPE_VALUE boxed type.
956 lines
34 KiB
Plaintext
956 lines
34 KiB
Plaintext
Thu Mar 8 16:35:48 2001 Tim Janik <timj@gtk.org>
|
|
|
|
* gparamspecs.[hc]: s/g_param_spec_string_c/g_param_spec_stringc/.
|
|
|
|
* gsignal.[hc]: fixed accumulator invocation, implemented emission
|
|
hooks. and no, neither of these callbacks are called via a closure,
|
|
language bindings can wrap the accumulator and emission hook
|
|
interface, they already get parameters marshalled into a GValue array.
|
|
(g_signal_connect): removed this function as its C specific, doesn't
|
|
cover the swapped argument, is too close to its broken original
|
|
gtk_signal_connect() and creates demand for _swapped, _after and
|
|
_swapped_after variants <brrr>.
|
|
(g_signal_connectc): convenience macro to connect a C handler
|
|
func with data, like the old g_signal_connect() plus swapped
|
|
argument.
|
|
|
|
* gtype.h:
|
|
* gboxed.c: added G_TYPE_VALUE boxed type.
|
|
|
|
Wed Mar 7 19:02:51 2001 Tim Janik <timj@gtk.org>
|
|
|
|
* gtype.c (type_node_add_iface_entry_W): catch when adding an interface
|
|
to an ancestor of a child that already conforms to this interface.
|
|
currently we spew a warning here, should we be silent?
|
|
(g_type_interface_add_prerequisite): new function to add a prerequisite
|
|
type to an interface, that must succeed an instance is_a prerequisite
|
|
type check before the interface can be added to an instance. the
|
|
prerequisite types are also suuported in is_a checks of the interface.
|
|
(g_type_instance_is_a):
|
|
(g_type_check_instance_cast):
|
|
(g_type_check_instance): cleanups and optimizations.
|
|
(g_type_class_is_a):
|
|
(g_type_check_class_cast): same, also prevented these from accepting
|
|
interface types, as class structures don't nest interfaces.
|
|
|
|
2001-03-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
|
|
|
|
* Makefile.am: Avoid rebuilding everything everytime.
|
|
|
|
Wed Mar 7 09:36:33 2001 Tim Janik <timj@gtk.org>
|
|
|
|
* gboxed.[hc]: changed prototype of g_boxed_type_register_static()
|
|
to contain an optional init function and a hint at whether the
|
|
boxed structure uses ref counting internally.
|
|
added g_value_set_boxed_take_ownership().
|
|
made G_TYPE_BOXED an abstract value type.
|
|
|
|
* genums.[hc]: made G_TYPE_ENUM and G_TYPE_FLAGS abstract value
|
|
types.
|
|
|
|
* glib-genmarshal.c: argument type changes, preparation for third-party
|
|
arg specification.
|
|
|
|
* gobject.[hc]: cleaned up get/set property code.
|
|
added g_strdup_value_contents() to improve warnings.
|
|
|
|
* gparam.[hc]: added g_param_value_convert(), taking over responsibility
|
|
of the old g_value_convert(). added G_PARAM_LAX_VALIDATION flag so
|
|
validation alterations may be valid a part of the property setting
|
|
process.
|
|
|
|
* gparamspecs.[hc]: made value comparisons stable (for sort applications).
|
|
added GParamSpecValueArray, a param spec for value arrays and
|
|
GParamSpecClosure. nuked the value exchange functions and
|
|
GParamSpecCCallback.
|
|
|
|
* gtype.[hc]: catch unintialized usages of the type system with
|
|
g_return_val_if_uninitialized(). introduced G_TYPE_FLAG_VALUE_ABSTRACT
|
|
to flag types that introduce a value table, but can't be used for
|
|
g_value_init(). cleaned up reserved type ids.
|
|
|
|
* gvalue.[hc]: code cleanups and saner checking.
|
|
nuked the value exchange API. implemented value transformations, we
|
|
can't really "convert" values, rather transforms are an anylogy to
|
|
C casts, real conversions need a param spec for validation, which is
|
|
why g_param_value_convert() does real conversions now.
|
|
|
|
* gvaluearray.[hc]: new files that implement a GValueArray, a struct
|
|
that can hold inhomogeneous arrays of value (to that extend that it
|
|
also allowes undefined values, i.e. G_VALUE_TYPE(value)==0).
|
|
this is exposed to the type system as a boxed type.
|
|
|
|
* gvaluetransform.c: new file implementing most of the former value
|
|
exchange functions as single-sided transformations.
|
|
|
|
* gvaluetypes.[hc]: nuked G_TYPE_CCALLBACK, added
|
|
g_value_set_string_take_ownership().
|
|
|
|
* *.h: s/G_IS_VALUE_/G_VALUE_HOLDS_/.
|
|
|
|
* *.[hc]: many fixes and cleanups.
|
|
|
|
* many warning improvements.
|
|
|
|
Tue Feb 27 18:35:15 2001 Tim Janik <timj@gtk.org>
|
|
|
|
* gobject.c (g_object_get_valist): urg, pass G_VALUE_NOCOPY_CONTENTS
|
|
into G_VALUE_LCOPY(), this needs proper documenting.
|
|
|
|
* gparam.c: fixed G_PARAM_USER_MASK.
|
|
|
|
* gtype.c (type_data_make_W):
|
|
(type_data_last_unref_Wm): fixed invalid memory freeing.
|
|
|
|
* gobject.c (g_object_last_unref): destroy signal handlers associated
|
|
with object, right before finalization.
|
|
|
|
* gsignal.c (g_signal_parse_name): catch destroyed nodes or signals
|
|
that don't actually support details.
|
|
|
|
* gobject.[hc]: got rid of property trailers. nuked GObject
|
|
properties "data" and the "signal" variants.
|
|
(g_object_connect): new convenience function to do multiple
|
|
signal connections at once.
|
|
(g_object_disconnect): likewise, for disconnections.
|
|
|
|
* gparam.[hc] (g_param_spec_pool_lookup): took out trailer support.
|
|
|
|
* gvalue.[hc]: marked g_value_fits_pointer() and g_value_peek_pointer()
|
|
as private (the latter got renamed from g_value_get_as_pointer()).
|
|
|
|
Wed Feb 21 18:31:46 2001 Jonathan Blandford <jrb@redhat.com>
|
|
|
|
* gsignal.h (g_signal_connect): Add g_signal_connect define to
|
|
make porting from gtk_signal_connect easy.
|
|
|
|
* gsignal.c (g_signal_emit_valist): Use G_TYPE_FROM_INSTANCE
|
|
(instance) instead of node->itype when initting the value.
|
|
|
|
2001-02-17 Havoc Pennington <hp@pobox.com>
|
|
|
|
Applied patch from Soeren Sandmann:
|
|
|
|
* gvaluetypes.c (g_value_get_string): G_CONST_RETURN
|
|
|
|
* gtype.c (g_type_name): G_CONST_RETURN
|
|
|
|
* gsignal.c (g_signal_name): G_CONST_RETURN
|
|
|
|
* gobject-query.c (main): const fix
|
|
|
|
Sat Feb 17 07:58:46 2001 Tim Janik <timj@gtk.org>
|
|
|
|
* genums.h (G_TYPE_IS_FLAGS): patch from sven to fixup
|
|
G_ENUM_CLASS_TYPE() macro.
|
|
|
|
Sat Feb 17 04:55:35 2001 Tim Janik <timj@gtk.org>
|
|
|
|
* gtype.[hc]: changed collect_format, collect_value() and lcopy_format,
|
|
lcopy_value() in the GTypeValueTable. the collect functions are now
|
|
called only once per value, collect_format/lcopy_format are strings
|
|
that enlist all necessary GTypeCValues to be varargs-collected.
|
|
|
|
* gvalue.h: ranamed STATIC_TAG to G_VALUE_NOCOPY_CONTENTS to indicate that
|
|
a value shouldn't copy its contents.
|
|
|
|
* gvaluecollector.h: changed G_VALUE_COLLECT() and G_VALUE_LCOPY()
|
|
macros to carry an additional argument (flags) that can be used
|
|
to pass G_VALUE_NOCOPY_CONTENTS along to the collection functions.
|
|
|
|
* *.c: adapted collect_value() and lcopy_value() functions to the new
|
|
prototypes, support G_VALUE_NOCOPY_CONTENTS where apropriate.
|
|
|
|
* gsignal.[hc]: introduced a G_SIGNAL_TYPE_STATIC_SCOPE flag that can
|
|
be passed along (ORed) with the parameter types, indicating that the
|
|
emission arguments are to be considered static for the scope of the
|
|
emission. should be used with care and only if the caller knows that
|
|
a parameter cannot be destroyed/freed from signal handlers connected
|
|
to an emission.
|
|
|
|
Fri Feb 16 07:10:44 2001 Tim Janik <timj@gtk.org>
|
|
|
|
* gclosure.c:
|
|
(g_closure_ref):
|
|
(g_closure_sink): make closure sinking explicit.
|
|
|
|
* gsignal.c:
|
|
(g_signal_connect_data):
|
|
(g_signal_connect_closure):
|
|
(g_signal_connect_closure_by_id):
|
|
(g_signal_newv): perform explicit closure sinking.
|
|
|
|
Thu Feb 8 00:31:45 2001 Tim Janik <timj@gtk.org>
|
|
|
|
* gtype.h: added G_TYPE_DEBUG_NONE for/from Eric Lemings ;)
|
|
|
|
2001-02-04 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* gobject.def: Remove glib_debug_objects.
|
|
|
|
Sun Feb 4 07:30:53 2001 Tim Janik <timj@gtk.org>
|
|
|
|
* gtype.[hc]: changed g_type_init() to take debugging flags
|
|
initially, a combination of G_TYPE_DEBUG_OBJECTS and
|
|
G_TYPE_DEBUG_SIGNALS. using the G_TYPE_ prefix is a bit odd
|
|
here, but basically g_type_int() serves as initialization
|
|
fucntion for all of GType, GObject, GSignal, so what the heck.
|
|
|
|
* gobject.c: special case debugging code properly.
|
|
changed glib_trap_object_ref to g_trap_object_ref.
|
|
|
|
* gsignal.c: add signal emission debugging abilities, along with
|
|
a new trap object g_trap_instance_signals.
|
|
|
|
2001-02-04 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* Makefile.am (progs_LDADD): Change order of libs to libgobject
|
|
first, then libglib. Needed for cygwin, says jbdoll@kepri.re.kr.
|
|
|
|
Wed Jan 31 06:19:49 2001 Tim Janik <timj@gtk.org>
|
|
|
|
* gparam.h: gtk-doc sucks for not dealing with #define inside enums.
|
|
|
|
* gtype.[hc]: added G_TYPE_FLAG_RESERVED_ID_BIT, a bit in the type
|
|
number that's supposed to be left untouched (preserved mainly
|
|
for the signal code).
|
|
|
|
* *.c: added thread safety code, based on an old patch from sebastian.
|
|
the remaining thread safety issues are now datalists on pspecs (to be
|
|
solved im gdataset.c) and gvalue.c where locking concerns value exchange
|
|
functionality only, and that's soon to be revised.
|
|
|
|
2001-01-27 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* makefile.msc.in: Don't try to compile gmarshal.c on its own.
|
|
|
|
2001-01-24 <alexl@redhat.com>
|
|
|
|
* gclosure.c (g_closure_unref):
|
|
Don't leak closure->notifiers.
|
|
|
|
2001-01-05 Havoc Pennington <hp@redhat.com>
|
|
|
|
* gparamspecs.c (g_param_spec_enum): set the value_type in the
|
|
param spec; closes bug 40210
|
|
(g_param_spec_flags): ditto for flags
|
|
|
|
2001-01-03 Alexander Larsson <alexl@redhat.com>
|
|
|
|
* gobject.c:
|
|
Move glib_debug_objects out of the G_ENABLE_DEBUG #ifdef.
|
|
|
|
Thu Dec 28 11:36:44 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gbsearcharray.c (upper_power2): disable G_BSEARCH_ALIGN_POWER2
|
|
fucntionality if DISABLE_MEM_POOLS is defined.
|
|
|
|
* gtype.c: honour DISABLE_MEM_POOLS.
|
|
|
|
* gsignal.c (g_signal_init): flag signal key bsearch array with
|
|
G_BSEARCH_ALIGN_POWER2 to avoid excessive growth time. honour
|
|
DISABLE_MEM_POOLS.
|
|
|
|
* gparam.h: added G_PARAM_READWRITE alias for (G_PARAM_READABLE |
|
|
G_PARAM_WRITABLE).
|
|
|
|
2000-12-15 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* gobject.def: Update.
|
|
|
|
2000-12-15 Havoc Pennington <hp@pobox.com>
|
|
|
|
* gobject.c (g_object_do_class_init): use g_signal_newc
|
|
|
|
* gsignal.c (g_signal_newc): convenience function for signals
|
|
created from C
|
|
(g_signal_new_valist): added
|
|
(g_signal_new): removed
|
|
|
|
Fri Dec 15 04:40:23 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gparam.[hc]: add an instance member value_type so the default
|
|
value of the pspec class can be overridden.
|
|
|
|
2000-12-14 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* makefile.mingw.in: Update, include parts from Makefile.am to
|
|
build gmarshal.[ch]. Some day, we won't need these separate
|
|
makefiles for Win32 compilation. I hope.
|
|
|
|
* makefile.msc.in: Update. No use trying to build gmarshal.[ch]
|
|
here, it would require Unixish tools. MSVC users building from CVS
|
|
sources are out of luck.
|
|
|
|
* gobject.def: Update.
|
|
|
|
Wed Dec 13 09:31:26 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gparamspecs.[hc]: add G_TYPE_PARAM_BOXED implementation.
|
|
|
|
* gobject.[hc]: minor fixes.
|
|
|
|
Tue Dec 12 23:38:02 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* Makefile.am: _never_ touch oldest-source-stamp.
|
|
|
|
* gobject.[hc]: construct property handling fixes/improvements.
|
|
fixed trailer handling in get/set property.
|
|
|
|
* gparam.[hc]: implement param spec pool, got rid of param spec
|
|
hashtable. the most prominent change is that e deal with type
|
|
prefixes here.
|
|
|
|
2000-12-12 Elliot Lee <sopwith@redhat.com>
|
|
|
|
* Makefile.am:
|
|
. You have to 'touch oldest-source-stamp' if you want to avoid having
|
|
the Makefile constantly rebuild itself.
|
|
. Fix marshaller generation rules to work with srcdir != builddir
|
|
(there were issues with trying to run "./glib-genmarshal", etc.)
|
|
|
|
Mon Dec 11 04:44:11 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gboxed.c: fixed dealing with collection/lcopy of NULL values.
|
|
|
|
* gclosure.h: removed insane ramblings, added G_CALLBACK() a casting
|
|
convenience macro.
|
|
|
|
* Makefile.am: cleanups, marshaller generation rules.
|
|
|
|
* gmarshal.[hc]: new files with GRuntime standard marshallers.
|
|
|
|
* glib-genmarshal.c: fix log domain, support gruntime standard
|
|
marshallers, suport G_TYPE_PARAM, come with extern "C" and
|
|
#include gmarshal.h.
|
|
|
|
* glib-genmarshal.1: reflect glib-genmarshal.c updates.
|
|
|
|
* gobject.[hc]: implement object constructor. rework parameter
|
|
changed notification queueing, we support queue freezes now and
|
|
don't dispatch from an idle handler anymore.
|
|
parameter->property rename hassle.
|
|
implemented ::properties_changed and ::notify::* signals for
|
|
property change notification (the later supports property names
|
|
as details). added signal connection and named data properties.
|
|
(g_signal_connect_object): new function to setup while_alive
|
|
connections.
|
|
(g_object_class_install_property): sink properties now, since they
|
|
are initially floating.
|
|
(g_object_steal_data):
|
|
(g_object_set_data_full):
|
|
(g_object_set_data):
|
|
(g_object_get_data): set/get data by using g_datalist_*() functions
|
|
directly.
|
|
(g_object_queue_param_changed): nuked.
|
|
(g_object_freeze_notify): start queueing of property changes (freeze/
|
|
thaw calls stack).
|
|
(g_object_notify): announce changes of a certain property directly.
|
|
(g_object_thaw_notify): process queue of property changes, therefore
|
|
emitting GObject::notify::detail with detail being the changed
|
|
properties names.
|
|
(G_OBJECT_WARN_INVALID_PROPERTY_ID): saner macro variant of former
|
|
G_WARN_INVALID_PARAM_ID().
|
|
|
|
* gparam.[hc]: param specs are now initially floating and need to be
|
|
sunken with g_param_spec_sink(), support G_TYPE_PARAM values.
|
|
added G_PARAM_CONSTRUCT and G_PARAM_CONSTRUCT_ONLY parameter flags,
|
|
required by GObjectClass.constructor().
|
|
|
|
* gparamspecs.[hc]: added GParamSpecParam, GParamSpecPointer and
|
|
GParamSpecCCallback, param specs for G_TYPE_PARAM, G_TYPE_POINTER
|
|
and G_TYPE_CCALLBACK respectively.
|
|
|
|
* gsignal.[hc]: cleanups.
|
|
(signal_id_lookup): after walking the anchestry, try interfaces as well.
|
|
(g_signal_new): new function to create signals from varargs type list.
|
|
(g_signal_connect_closure): closure connection variant that works from
|
|
signal name+detail.
|
|
(g_signal_connect_data): c handler connection variant that works from
|
|
signal name+detail.
|
|
(g_signal_emit_valist): emit signal for an instance with paraneters
|
|
collected from a va_list.
|
|
(g_signal_emit): emit signal, taking parameters from varargs list.
|
|
(g_signal_emit_by_name): same as g_signal_emit, working from
|
|
signal name+detail.
|
|
(signal_emit_R): return whether return_value needs to be altered.
|
|
|
|
* gtype.[hc]: set log-domain to GRuntime, i'm slowly getting to all
|
|
the points that need to reflect the upcoming rename.
|
|
melt g_type_conforms_to() functionality into g_type_is_a(), as that
|
|
is what we really want (liskov substitution principle).
|
|
assorted changes to other files due to conforms_to->is_a.
|
|
|
|
* gvalue.[hc]: implemented g_value_set_instance() that sets a value
|
|
from an instantiatable type via the value_table's collect_value()
|
|
function (based on an idea from James Henstridge <james@daa.com.au>).
|
|
cleanups/fixes.
|
|
|
|
* gvaluetypes.[hc]: implement G_TYPE_CCALLBACK and G_TYPE_PARAM.
|
|
|
|
Wed Nov 29 13:30:05 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gsignal.c (handlers_find): fix elliots "logic fix" that dereferences
|
|
NULL nodes if C handlers are searched for specific signals.
|
|
|
|
2000-11-28 Elliot Lee <sopwith@redhat.com>
|
|
|
|
* gsignal.c: Fix warnings about possible use of uninitialized
|
|
variables, and fix logic that would leave 'node' unset in cases
|
|
that it might be used in.
|
|
|
|
* glib-genmarshal.c: Fix warning about printf format.
|
|
|
|
2000-11-28 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* gboxed.c: Include <string.h> for memset ().
|
|
|
|
2000-11-22 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* gobject.def: Update.
|
|
|
|
2000-11-20 Havoc Pennington <hp@redhat.com>
|
|
|
|
* gobject.c (g_object_get_data)
|
|
(g_object_set_data)
|
|
(g_object_set_data_full)
|
|
(g_object_steal_data): More convenient data-setting functions
|
|
|
|
Wed Nov 15 20:58:05 2000 Owen Taylor <otaylor@redhat.com>
|
|
|
|
* gtypemodule.c (g_type_module_use): If loading the
|
|
module fails, don't increment the use count.
|
|
|
|
Thu Nov 9 01:49:43 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gobject.h (G_WARN_INVALID_PARAM_ID): doh,
|
|
s/BSE_OBJECT_TYPE_NAME/G_OBJECT_TYPE_NAME/; reported by Maas-Maarten
|
|
Zeeman <maas@wanadoo.nl>.
|
|
|
|
Mon Nov 13 00:48:39 2000 Owen Taylor <otaylor@redhat.com>
|
|
|
|
* Makefile.am (EXTRA_DIST): Add glib-genmarshal.1
|
|
|
|
2000-11-11 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* gtypemodule.c: Include stdlib.h for exit().
|
|
|
|
* makefile.{mingw,msc}.in (gobject_OBJECTS): Add gtypemodule.
|
|
|
|
* gobject.def: Add missing functions.
|
|
|
|
Sun Nov 5 13:21:28 2000 Owen Taylor <otaylor@redhat.com>
|
|
|
|
* Makefile.am gtypemodule.[ch]: New basic implementation of
|
|
GTypePlugin interface as a GObject. Dynamically loaded modules can
|
|
register any number of types and interface on the module.
|
|
|
|
Sun Nov 5 10:25:40 2000 Owen Taylor <otaylor@redhat.com>
|
|
|
|
* gsignal.c (handlers_find): When appending handlers and
|
|
not matching on signal_id, use hlist->signal_id instead of
|
|
signal_id. Having the correct signal_id when unreffing
|
|
the handlers makes things work a lot better.
|
|
|
|
2000-11-05 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* makefile.{mingw,msc}.in (gobject_OBJECTS): Add gtypeplugin.
|
|
|
|
* gobject.def: Update.
|
|
|
|
Sun Nov 5 05:22:55 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gsignal.c:
|
|
fixed a bag full of subtle bugs of immensive screw-up potential in
|
|
handlers_find(), luckily no one found out about them yet ;)
|
|
fixed signal_handlers_foreach_matched_R() so it operates on an
|
|
initial handler list snapshot provided by handlers_find() to work
|
|
around general reentrancy problems and to avoid multiple callback()
|
|
invocations on the same handlers.
|
|
this code is now officially 80% bug free (10% remaining for interface
|
|
types, and 10% remaining for destroyed signals ;)
|
|
|
|
Sat Nov 4 02:01:33 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gsignal.c (_g_signals_destroy): valid signal nodes start out at 1.
|
|
|
|
* gtypeplugin.[hc]: new files holding a GTypePlugin interface
|
|
implementation that provides the API required by GType to deal with
|
|
dynamically loadable types.
|
|
|
|
* gtype.[hc]: displace any GTypePlugin business to gtypeplugin.h.
|
|
|
|
Fri Nov 3 07:35:00 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gsignal.[hc]: prefix internal functions with '_'. renamed
|
|
g_signal_connect_closure() to g_signal_connect_closure_by_id().
|
|
added g_signal_parse_name() to retrive signal_id and detail quark
|
|
from a signal name (internal).
|
|
|
|
Wed Nov 1 03:36:54 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gobject.c (g_object_base_class_finalize): destroy all signals that
|
|
the finalized obejct type introduced.
|
|
|
|
* gsignal.c (g_signals_destroy): don't require itype to have
|
|
signals.
|
|
|
|
* gobject.c (g_object_do_finalize): make sure all signal handlers
|
|
are destroyed.
|
|
|
|
* gsignal.[hc]:
|
|
(g_signal_handler_find): only match on non-0 masks.
|
|
(g_signal_handlers_block_matched):
|
|
(g_signal_handlers_unblock_matched):
|
|
(g_signal_handlers_disconnect_matched): new functions to block/unblock
|
|
or disconnect handlers in groups.
|
|
|
|
2000-10-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
|
|
|
|
* gvalue.c (exchange_entries_equal), gparam.c (param_spec_equals):
|
|
made both functions return gboolean just for the little extra
|
|
standard conformance now that GEqualFunc is introduced.
|
|
|
|
Mon Oct 30 05:52:45 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gsignal.c (g_signal_list_ids): get rid of inline documentation owen
|
|
added, the doc system would ignore it anyways (for some reason not
|
|
aparent to me).
|
|
|
|
Mon Oct 30 03:00:07 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gsignal.[hc] (g_signal_list_ids): renamed owen's g_type_signals(),
|
|
added required mutex locks.
|
|
|
|
Sun Oct 29 02:31:03 2000 Owen Taylor <otaylor@redhat.com>
|
|
|
|
* gsignal.c (g_type_signals): Fix problem where signals
|
|
with "_" in them appeared twice in the result array.
|
|
|
|
Sun Oct 29 01:58:44 2000 Owen Taylor <otaylor@redhat.com>
|
|
|
|
* gsignal.h: Add g_type_signals() - a function to list
|
|
all signals for a given type.
|
|
|
|
Sat Oct 28 00:28:09 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gclosure.c (g_closure_add_marshal_guards): fixed notifier position
|
|
for post_marshal guard which was off at 0.
|
|
|
|
Fri Oct 27 21:49:31 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gobject.[hc]: doh, fix argument order in for
|
|
g_cclosure_new_object_swap and g_cclosure_new_object.
|
|
|
|
2000-10-28 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* makefile.{mingw,msc}.in: Make glib-genmarshal.exe.
|
|
|
|
* glib-genmarshal.c: Conditionalise include of unistd.h.
|
|
Include <io.h> on Win32.
|
|
|
|
* gobject.def: Add some missing entry points.
|
|
|
|
Fri Oct 27 16:33:41 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gsignal.[hc]: publically define GSignalInvocationHint structure
|
|
that gets passed in to closure invocations. added signal details.
|
|
renamed GSignalType to GSignalFlags to comply with conventions.
|
|
quite some cleanups and minor fixes. avoid uneccessary handler list
|
|
walks upon invokation of after handlers. relookup handler list for
|
|
restarted emissions. preliminary abort normal handler invokation if
|
|
after handler is encountered.
|
|
|
|
* glib-genmarshal.c:
|
|
* gclosure.[hc]: moved invocation_hint to the end of the
|
|
g_closure_invoke() arguments as sugegsted by kenelson.
|
|
also made it a gpointer to be more generic. the invocation_hint
|
|
is a caller specific thing that can be used to pass additional
|
|
data in to closure invocations as documented with the caller
|
|
invoking the closure.
|
|
|
|
Fri Oct 27 05:35:14 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gobject.c (g_object_watch_closure): fixed realloc bug, reported
|
|
by havoc.
|
|
|
|
* gsignal.c (g_signal_newv): fixed deadlock scenarion where
|
|
g_signal_lookup() would be called with the signal lock being
|
|
held. reported by james henstridge.
|
|
|
|
* gclosure.c (g_closure_set_meta_marshal): fixed memcpy/overwrite bug
|
|
reported by owen.
|
|
|
|
2000-10-26 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* gbsearcharray.c (bsearch_array_insert): Fix gccisms (pointer
|
|
arithmetic on void pointer, label without statement following.
|
|
|
|
* gtype.c (type_node_fundamental_info): Don't apply unary minus to
|
|
result of sizeof operator, it can be unsigned. Cast first to
|
|
gssize.
|
|
|
|
* gobject.def: Add new functions.
|
|
|
|
* makefile.{mingw,msc}.in: Add new objects.
|
|
|
|
2000-10-26 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
|
|
|
|
* Makefile.am: Remove empty SUBDIRS line _again_, as that _still_
|
|
prevents 'make dist' from working.
|
|
|
|
Wed Oct 25 19:11:03 2000 Owen Taylor <otaylor@redhat.com>
|
|
|
|
* gbsearcharray.h (g_bsearch_array_get_nth): Don't use implicit
|
|
casts from void * since this will get included from C++ too
|
|
at times.
|
|
|
|
Thu Oct 26 00:30:27 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gvaluetypes.[hc]: added g_value_set_static_string().
|
|
|
|
* gboxed.[hc]: const corrections. added g_value_set_static_boxed().
|
|
|
|
Wed Oct 25 20:27:02 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gtype.c (g_type_free_instance): for the moment, freeing object
|
|
structures will fill their memory portion with 0xAA. there's a
|
|
FIXME there, remove this line at a later point.
|
|
|
|
Tue Oct 24 23:10:26 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* glib-genmarshal.1:
|
|
* glib-genmarshal.c: added publically installed marshaller generator.
|
|
|
|
* gtype.h: added G_TYPE_INSTANCE_GET_INTERFACE() to retrive a certain
|
|
interface VTable from instances.
|
|
|
|
Mon Oct 23 08:28:15 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gobject.[hc]: new functions for closure maintenance:
|
|
(g_object_watch_closure): maintain validity of the object and
|
|
the closure for objects that are used as data part of a closure.
|
|
(g_cclosure_new_object): convenience function to create C closures
|
|
that have an object as data argument.
|
|
(g_closure_new_object): convenience function to create closures
|
|
that have an object as data argument.
|
|
|
|
* gclosure.[hc]: implementation of GClosure mechanism.
|
|
a closure is basically an encapsulation of a callback function
|
|
and its environment. ideally, most places supporting callback
|
|
functions will simply take a GClosure* pointer and thus unify
|
|
callback environments wrg destroy notification etc.
|
|
GClosure provides destroy notifiers for arbitrary data pointers,
|
|
reference counting, invalidation notification (it can be invalidated
|
|
which is merely a deactivate state) and a marshallinbg abstraction.
|
|
GCClosure is also provided in these files, they present a specialized
|
|
GClosure implementation for C language callbacks.
|
|
|
|
* genum.c: macro cleanups.
|
|
|
|
* gboxed.[hc]: new files, for boxed type abstraction.
|
|
(g_boxed_copy): copy a boxed structure
|
|
(g_boxed_free): free a boxed structure
|
|
(g_value_set_boxed):
|
|
(g_value_get_boxed): standard GValue functions for boxed types
|
|
(g_boxed_type_register_static): convenience function for easy
|
|
introduction of new G_TYPE_BOXED derivatives.
|
|
|
|
* gparam.[hc]: introduced g_param_type_register_static(), a short hand
|
|
for creation of new GParamSpec derived types.
|
|
|
|
* gtype.[hc]: many fixes, introduced ability to flag individual
|
|
type nodes as ABSTRACT upon registration, added value_peek_pointer()
|
|
to the value table to peek at GValue contents as a pointer for types
|
|
that support this. fixed up GValue checks.
|
|
|
|
* gvalue.[hc]: added g_value_fits_pointer() and g_value_get_as_pointer()
|
|
to peek at the value contents as pointer.
|
|
|
|
* *.[hc]: adaptions to type macro fixes and changes in the type
|
|
registration API.
|
|
|
|
* many const corrections over the place.
|
|
|
|
Sat Oct 21 02:49:56 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gtype.c (g_type_conforms_to): this function basically behaves like
|
|
and is_a check, except that it _additionally_ features interfaces
|
|
for instantiatable types. enforce this in the second branch as well
|
|
(`type' conforms_to `type') even if `type' is not an interface type.
|
|
|
|
Fri Oct 20 15:31:04 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gvaluetypes.[hc]: added G_TYPE_POINTER implementation from jrb.
|
|
|
|
* gtype.[hc]:
|
|
* gobject.c:
|
|
* gvaluetypes.c: added GTypeValueTable.value_peek_pointer and
|
|
suitable implementations of this for G_TYPE_STRING, G_TYPE_OBJECT
|
|
and G_TYPE_POINTER.
|
|
|
|
Mon Aug 21 04:13:37 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gbsearcharray.[hc]: long standing needed generic implementation
|
|
of a binary searchable, sorted and dynamically sized array.
|
|
|
|
2000-10-15 Raja R Harinath <harinath@cs.umn.edu>
|
|
|
|
* Makefile.am (BUILT_EXTRA_DIST): New variable.
|
|
(dist-hook): Handle $(BUILT_EXTRA_DIST).
|
|
(*): Remove traces of @STRIP_{BEGIN,END}@.
|
|
|
|
2000-09-29 Martin Baulig <baulig@suse.de>
|
|
|
|
Several minor ANSI C fixes.
|
|
|
|
Added missing casts:
|
|
* gtype.c (type_class_init):
|
|
`(gpointer) bnode->data->class.class_init_base'
|
|
in call to g_slist_prepend() and
|
|
'GBaseInitFunc class_init_base = (GBaseInitFunc) slist->data'.
|
|
|
|
* gobject.c: Put text following #endif into comments.
|
|
|
|
2000-09-25 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
|
|
|
|
* Makefile.am: Remove empty SUBDIRS line, as that prevents make
|
|
dist from working.
|
|
|
|
Sat Sep 9 20:04:13 2000 Owen Taylor <otaylor@redhat.com>
|
|
|
|
* gobject.c (g_object_last_unref): Move call to
|
|
g_type_free_instance() here from g_object_do_finalize,
|
|
since g_type_free_instance() can unload the object's
|
|
implementation.
|
|
|
|
2000-07-27 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* gobject.c: No, don't mark glib_debug_objects for export here,
|
|
it's handled specially in gtktypeutils.c.
|
|
|
|
* gobject.def: Export g_type_fundamental_last (the function).
|
|
|
|
2000-07-26 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* gobject.def
|
|
* gobject.c: Mark glib_debug_objects for export/import as it is
|
|
used by GTK+.
|
|
|
|
Sun Jul 23 17:23:35 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gtype.[hc]: make g_type_fundamental_last() a function, avoiding all
|
|
that extern variable clutter and avoiding further problems with thread
|
|
safety.
|
|
|
|
2000-07-19 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* gparam.h
|
|
* gvalue.h
|
|
* gparam.c
|
|
* gtype.c: Shut up Sun's picky compiler.
|
|
|
|
2000-07-14 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* gobject.def: Add g_type_get_plugin.
|
|
|
|
Thu Jul 13 02:07:54 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gparam.c (g_param_value_defaults): default initialize the temporary
|
|
default value, instead of nuking the caller's value contents.
|
|
|
|
2000-07-11 Raja R Harinath <harinath@cs.umn.edu>
|
|
|
|
* gtype.c (g_type_get_plugin): Don't return just 0 or 1.
|
|
|
|
Tue Jul 11 02:48:13 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gtype.[hc]: removed g_type_is_dynamic() and added g_type_get_plugin().
|
|
|
|
2000-07-10 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* gobject-query.c: Include ../config.h for HAVE_UNISTD_H. Use it
|
|
to guard inclusion of <unistd.h>.
|
|
|
|
* gtype.h: Fix copy-paste errors in the ifdefs on how to declare a
|
|
variable for export. Call the macro GOBJECT_VAR.
|
|
|
|
* gtype.c: Declare _g_type_fundamental_last for export here, too.
|
|
(type_node_any_new): Use only constant expressions for sizeof
|
|
operator (for instance MSVC requires this).
|
|
|
|
* makefile.mingw.in: Define GOBJECT_COMPILATION.
|
|
|
|
Sun Jul 9 21:21:46 2000 Owen Taylor <otaylor@redhat.com>
|
|
|
|
* genums.c: Move string.h include into the .c file
|
|
instead of where it was in the .h file by mistake.
|
|
|
|
Thu Jul 6 15:30:27 2000 Owen Taylor <otaylor@redhat.com>
|
|
|
|
* Makefile.am (EXTRA_DIST): dist fixes.
|
|
|
|
* gobject.c: Add a global variable glib_debug_objects
|
|
(not in header file) to control object tracing.
|
|
|
|
2000-07-01 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* gobject.def: Update added and renamed entry points.
|
|
|
|
* makefile.mingw.in: Add gvaluetypes.o.
|
|
|
|
Thu Jun 29 16:02:07 2000 Owen Taylor <otaylor@redhat.com>
|
|
|
|
* gobject.c:include string.h for memset
|
|
* genums.h: include string.h for strcpy
|
|
* gvalue.c: include string.h for memset, memcpy.
|
|
|
|
Sat Jun 24 23:03:04 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gtype.[hc]: provide G_TYPE_CHAR, G_TYPE_UCHAR, G_TYPE_BOOLEAN,
|
|
G_TYPE_INT, G_TYPE_UINT, G_TYPE_LONG, G_TYPE_ULONG, G_TYPE_FLOAT,
|
|
G_TYPE_DOUBLE and G_TYPE_STRING fundamental types.
|
|
added a GTypeValueTable* pointer to GTypeInfo structure for types
|
|
to implement GValue handling functions.
|
|
GTypeValueTable contains the following members:
|
|
value_init(): initialize a GValue structure.
|
|
value_free(): free GValue structure contents (optional).
|
|
value_copy(): copy one GValue contents to another GValue structure of
|
|
collect_type: varargs collection type for the first variable argument
|
|
to be collected by collect_value().
|
|
collect_value(): variable arguments collection function (optional).
|
|
lcopy_type: varargs collection type for the first variable argument
|
|
to be location copyied by lcopy_value().
|
|
lcopy_value(): variable arguments location copy function (optional).
|
|
g_type_value_table_peek(): new function to retrive the GTypeValueTable*
|
|
for a type node. ValueTables get inherited from parent types, unless
|
|
overridden through the GTypeInfo structure. internally, GTypeValueTable
|
|
support means an added overhead of one pointer per static or used
|
|
dynamic type node.
|
|
g_type_add_class_cache_func(): provide a cache_func/data pair to be
|
|
called prior to a type nodes last_unref() function, this can be used
|
|
to prevent premature class destruction. multiple installed cache_func()
|
|
will be chained upon last_unref() untill one of them returns TRUE.
|
|
the cache_func()s have to check the class id passed in to figure whether
|
|
they actually want to cache the class of this type (since all classes
|
|
are routed through the cache_func() chain).
|
|
g_type_remove_class_cache_func(): remove a previously installed
|
|
cache_func/data pair. the cache maintained by this function has to be
|
|
clear when calling g_type_remove_class_cache_func() to avoid leaks.
|
|
g_type_class_unref_uncached(): class unref function for cache_func()
|
|
implementations, unreferences a class omitting the cache chain (and
|
|
therefore unref->cache->unref->... loops).
|
|
|
|
* gvaluetypes.[hc]: provide the value setters/getters for the primitive
|
|
fundamental types boolean, char, uchar, int, uint, long, ulong, float,
|
|
double and string.
|
|
|
|
* gvalue.[hc]: provide G_TYPE_IS_VALUE() in terms of whether a
|
|
GTypeValueTable is provided for this type.
|
|
removed g_value_init_default(), g_value_validate(), g_value_defaults(),
|
|
g_value_set_default() and g_values_cmp() as these are supplied by the
|
|
GParamSpec API now.
|
|
moved g_values_exchange() into the "implementation details" section,
|
|
since it just provides the underlying functionality for
|
|
g_value_convert().
|
|
|
|
* gvaluecollector.h: renamed the varargs value container from
|
|
GParamCValue to GTypeCValue as the value collection methods are
|
|
supplied by the type system now.
|
|
G_PARAM_COLLECT_VALUE() and G_PARAM_LCOPY_VALUE() got renamed to
|
|
G_VALUE_COLLECT() and G_VALUE_LCOPY() and operate without a
|
|
GParamSpec structure now.
|
|
|
|
* genums.h: macros cleanups/fixes.
|
|
|
|
* genum.c: provide G_TYPE_ENUM and G_TYPE_FLAGS type
|
|
and assorted g_value_{s|g}et_{enum|flags}() implementations.
|
|
|
|
* gobject.[hc]:
|
|
provide G_IS_VALUE_OBJECT(), G_TYPE_OBJECT ValueTable methods
|
|
and g_value_{s|g}et_object().
|
|
|
|
* gparam.[hc]: reduced class to value_set_default(),
|
|
value_validate() and values_cmp(). also parameters now need to fill
|
|
in a GType value_type; field to indicate the GValue type they
|
|
are handling. provide g_param_value_set_default(),
|
|
g_param_value_defaults(), g_param_value_validate() and
|
|
g_param_values_cmp().
|
|
|
|
* gparamspecs.[hc]: got rid of the g_value_* functions and
|
|
the G_IS_VALUE_* macros. adapted param spec implementations
|
|
according to the GParamSpecClass changes.
|
|
|
|
Sat Jun 10 08:38:27 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gtype.c (type_class_init): fetch the nth iface entry of the
|
|
type node in the nth loop iteration, not alwys the first.
|
|
bug discovered by Walt Pohl <cher@suitware.com>.
|
|
(type_data_finalize_class_ifaces): same here, cut and paste
|
|
rulez.
|
|
|
|
Wed Jun 7 09:21:05 2000 Owen Taylor <otaylor@redhat.com>
|
|
|
|
* Makefile.am (INCLUDES): Add top_builddir so glibconfig.h
|
|
is found properly when build srcdir != builddir. (Patch from
|
|
Eric Lemings)
|
|
|
|
2000-05-13 Tor Lillqvist <tml@iki.fi>
|
|
|
|
* makefile.mingw.in
|
|
* gobject.def
|
|
* gobject.rc.in: New files, for Win32 (mingw) build.
|
|
|
|
* Makefile.am: Add to EXTRA_DIST. Add rules to produce the
|
|
corresponding non-*.in files.
|
|
|
|
* gtype.h: (Win32:) Mark _g_type_fundamental_last for
|
|
export/import from DLL.
|
|
|
|
Fri May 5 01:15:48 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* gtype.h: add reserved fundamental ids for gtk types (for transition
|
|
time). added G_TYPE_FUNDAMENTAL_MAX for gtk.
|
|
|
|
Mon Apr 17 20:45:50 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* glib-gobject.c (g_object_base_class_finalize): oops, don't unset
|
|
n_params prior to destructing them.
|
|
|
|
Tue Apr 11 04:28:10 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* fixed a couple of bugs in the initial parameter/object
|
|
implementations, after getting beast running on GObject and GValue.
|
|
|
|
Fri Apr 7 04:27:49 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* glib-gobject.[hc]: completed parameter set/get implementations,
|
|
along with asyncronous parameter changed notification queue.
|
|
|
|
Sun Apr 2 04:54:36 2000 Tim Janik <timj@gtk.org>
|
|
|
|
* glib-gobject.[hc]: GObject implementation, that is facilities
|
|
for setting/getting quarked data and reference counting.
|
|
|
|
* glib-gparamspecs.[hc]: first actuall parameter implementations
|
|
for GLib, so far we have: char, uchar, bool, int, uint, long,
|
|
ulong, enum, flags, float, double, string and object. each of these
|
|
GParamSpecs is a new instantiatable type in its own respect,
|
|
so the .c file derives 13 new types from G_TYPE_PARAM and
|
|
defines over 50 (*2) conversion facilities.
|
|
|
|
* glib-gvaluecollector.h: generic varargs handling stubs for
|
|
GParamSpecs, private header file (does get installed for
|
|
inclusion into user code though).
|
|
|
|
* glib-gvalue.[hc]: GValue functionality implementation.
|
|
|
|
* glib-gparam.[hc]: basis GParamSpec implementation for
|
|
the virtual base type G_TYPE_PARAM.
|
|
|
|
* glib-genums.[hc]: enum/flags type implementation, based on
|
|
bseenum.[hc].
|
|
|
|
* glib-gtype.[hc]: GLib Type System implementation, heavily
|
|
based on BSE's dynamic type system.
|