2000-11-11 Tor Lillqvist <tml@iki.fi>
* gfileutils.c (g_mkstemp): Improve chance to generate unique
names with less effort a bit.
* gfileutils.h: Add g_file_open_tmp() declaration.
* testglib.c: Include <io.h> on Win32.
* makefile.mingw.in: Correct the way to invoke sub-makes.
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 new 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.
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).
Fri Nov 3 07:33:15 2000 Tim Janik <timj@gtk.org>
* gobject/gobject-docs.sgml: added &gobject-closures; section.
* gobject/Makefile.am (tmpl_sources): add tmpl/clsoures.sgml
* gobject/gobject-sections.txt: added Closure section.
* gobject/tmpl/closures.sgml: new file with template description
for GClosure functions.
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 06:01:43 2000 Tim Janik <timj@gtk.org>
* gobject/gobject-sections.txt: opened up a new section on signals.
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).
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.
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>
* 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.
Tue Oct 24 22:09:14 2000 Tim Janik <timj@gtk.org>
* glib-object.h: added newly added gobject/ headers.
* gmesage.c: print g_message() output to stderr instead of stdout.
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.
gmodule:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
gobject:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
(*): Remove traces of @STRIP_{BEGIN,END}@.
gthread:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
docs/reference:
'make distcheck' fixes.
* glib/Makefile.am (EXTRA_DIST): Add $(DOC_MODULE)-decl.txt.
(html): Run 'gtkdoc-fixxref' in $(srcdir).
(dist-check-gtkdoc): Add missing quote.
(dist-hook): Copy in dependency order, so that none of the
makerules are fired in a tarball build.
* gobject/Makefile.am: Likewise.
toplevel:
Remove need for acconfig.h, and misc. cleanups.
* acglib.m4 (GLIB_SIZEOF): Add 'autoheader' comment to
AC_DEFINE_UNQUOTED.
(GLIB_BYTE_CONTENTS): Likewise.
* configure.in: Add 'autoheader' comments to all AC_DEFINE(...)
and AC_DEFINE_UNQUOTED(...) lines.
Replace AC_MSG_CHECKING/AC_CACHE_VAL with AC_CACHE_CHECK.
(AM_PROG_LIBTOOL): Move after AC_PROG_CC.
* acconfig.h: Empty out.
* Makefile.am (BUILT_EXTRA_DIST): New variable. List 'dist'able
files that are created in the builddir.
(dist-hook): Handle those files.
(libglib_1_3_la_SOURCES): Remove @ALLOCA@. @ALLOCA@ should only
be used in an _LDADD or _LIBADD, since it expands (if necessary)
to 'alloca.o'.
* tests/Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
2000-10-06 Tor Lillqvist <tml@iki.fi>
* makefile.msc.in: Revamp to be like makefile.mingw.in, make
the MSVC build actually work again.
* gmodule/makefile.msc.in
* gobject/makefile.msc.in
* gthread/makefile.msc.in: New files, like their mingw counterparts.
* gmodule/Makefile.am
* gobject/Makefile.am
* gthread/Makefile.am: Make and distribute them.
* */makefile.mingw.in: Allow override of GLib version number from
the build/win32/module.defs file.
* glib.def: Add new entry point.
Fixes from Hans Breuer:
* glib.h (struct DIR): Keep the last readdir result cached inside
the DIR struct, to enable several DIRs being open simultaneously.
* gwin32.c (g_win32_readdir): Use the above instead of static.
* giowin32.c (g_io_channel_win32_make_pollfd): Insert cast to keep
MSVC happy.
2000-09-29 Jonathan Blandford <jrb@redhat.com>
* gnode.c (g_node_insert_after): Added function to keep symetry
with g_node_insert_before.
2000-09-29 Jonathan Blandford <jrb@redhat.com>
* glib/tmpl/trees-nary.sgml: Add g_node_insert_after().
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.
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).
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-15 Tor Lillqvist <tml@iki.fi>
* Makefile.am (SUBDIRS): Include the "build" module in GLib, too,
to make it more self-contained. If your CVS client doesn't
automatically get it, do a cvs get build in glib.
* */makefile.mingw.in: Include make.mingw from build in the glib
source directory.
Fri Jul 14 12:22:49 2000 Owen Taylor <otaylor@redhat.com>
* configure.in Makefile.am glib-config.m4 glib.m4: Move
glib-config to glib-config-2.0 move glib.m4 to
glib-2.0.m4
* Makefile.am gobject/Makefile.am gmodule/Makefile.am
gthread/Makefile.am tests/Makefile.am: Change
library names to libglib-1.3.la, etc, so that we
can distinguish glib-1.2 and glib-2.0 on the linkline.
* Makefile.am gobject/Makefile.am gmodule/Makefile.am:
Move include files into /usr/include/glib-2.0.
Thu Jul 6 18:54:49 2000 Owen Taylor <otaylor@redhat.com>
* docs/Makefile.am (EXTRA_DIST): Remove info files
from the build.
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-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.[ch]: Move string.h include into the .c file
instead of where it was in the .h file by mistake.
Sun Jul 9 21:20:45 2000 Owen Taylor <otaylor@redhat.com>
* gunicode.h: Include stddef.h instead of stdlib.h