fixed a check for node not being NULL.
[platform/upstream/glib.git] / gobject / ChangeLog
1 Wed Feb 13 17:22:37 2002  Tim Janik  <timj@gtk.org>
2
3         * gtype.c (g_type_value_table_peek): fixed a check for node not being NULL.
4
5 Wed Feb 13 06:53:50 2002  Tim Janik  <timj@gtk.org>
6
7         * gparam.c: remove extraneous redefinition of G_PARAM_SPEC_CLASS().
8
9 Wed Feb 13 06:29:51 2002  Tim Janik  <timj@gtk.org>
10
11         * gvaluetransform.c: cosmetic cleanups, fixed [u]int64->string
12         conversions.
13
14         * ChangeLog: added entry from owen which went into the wrong
15         file.
16
17 Fri Feb  8 23:52:27 2002  Owen Taylor  <otaylor@redhat.com>
18
19         * gobject/gvaluetransform.c: Register transformations for
20         gint64, guint64. (#70780, patch from Andy Wingo)
21
22 2002-02-10  Hans Breuer  <hans@breuer.org>
23
24         * gvaluetransform.c : msvc 5.0 can't cast from uint64 to
25         double. Disable respective transform_func than.
26
27         * makefile.msc.in : build test programs
28
29 Thu Jan 24 07:39:56 2002  Tim Janik  <timj@gtk.org>
30
31         * gobject.c (g_signal_connect_object): return gulong instead
32         of guint.
33
34 Fri Jan 11 12:26:36 2002  Tim Janik  <timj@gtk.org>
35
36         * gparamspecs.c: fixed param_value_array_values_cmp(),
37         param_value_array_validate() and
38         param_value_array_set_default() to deal with NULL value
39         arrays.
40
41 Wed Jan  9 05:23:27 2002  Tim Janik  <timj@gtk.org>
42
43         * gobject.h (G_OBJECT_WARN_INVALID_PROPERTY_ID): cosmetic fix.
44
45 2002-01-05  Hans Breuer  <hans@breuer.org>
46
47         * makefile.msc.in : use -FImsvc_recommended_pragmas.h
48
49 Fri Jan  4 04:36:46 2002  Tim Janik  <timj@gtk.org>
50
51         * gtype.h (G_TYPE_FLAG_RESERVED_ID_BIT): turn this into a GType,
52         so negating it works on 64bit platforms.
53
54 2001-12-21  Tor Lillqvist  <tml@iki.fi>
55
56         * gobject.def: Add g_signal_get_invocation_hint.
57
58 Tue Dec 18 21:39:57 2001  Tim Janik  <timj@gtk.org>
59
60         * testoverride.c: added some assertions to test
61         g_signal_get_invocation_hint().
62
63         * gsignal.[hc]: remove signal_id argument from
64         g_signal_chain_from_overridden(), the parameters are assumed to match
65         the innermost signal currently in emission for this instance.
66         added g_signal_get_invocation_hint() to figure the invocation hint
67         of the innermost signal emission of an instance.
68
69         * gsignal.c (g_signal_list_ids): fix G_BSEARCH_ARRAY_NODES() to
70         access a bsearch array and not a pointer to it (discovered by
71         Sven Neumann).
72
73 2001-12-17  Anders Carlsson  <andersca@gnu.org>
74
75         * gtype.h (G_TYPE_FLAG_RESERVED_ID_BIT): Set the reserved bit
76         to (1 << 0) instead of (1 << 30). 
77
78 2001-12-14  James Henstridge  <james@daa.com.au>
79
80         * Makefile.am: add rules to build it.
81
82         * testoverride.c: test program for closure override/chaining.
83
84 Thu Dec 13 08:03:17 2001  Tim Janik  <timj@gtk.org>
85
86         * gsignal.c: implemented closure chaining.
87
88 2001-12-08  Christopher Blizzard  <blizzard@redhat.com>
89
90         * gsignal.h (g_signal_connect): Explicitly add a cast to the last
91         argument so that the macro will work from C++.
92
93 2001-12-06  Tor Lillqvist  <tml@iki.fi>
94
95         * makefile.mingw.in (gobject_OBJECTS): Add gsourceclosure.o.
96
97 Mon Nov 26 09:55:12 2001  Tim Janik  <timj@gtk.org>
98
99         * gtype.h: typedef GType to gulong instead of gsize, if possible.
100
101         * gtype.c: fixups for GType being sizeof(long) wide (changed
102         UINT casts).
103         * gsignal.c:
104         * gclosure.c:
105         * gparam.c: likewise.
106
107 Sun Nov 25 22:33:32 2001  Tim Janik  <timj@gtk.org>
108
109         * gtype.h: removed enum GTypeFundamentals. use macros
110         to provide the constant fundamental type IDs, so they
111         all return numbers of type GType, and not int.
112         sizeof(GTypeFundamentals) < sizeof(GType) problem reported
113         and fix sugegsted by Havoc.
114
115 2001-11-23  Hans Breuer  <hans@breuer.org>
116
117         * gobject.def : updated externals
118
119 Mon Nov 19 14:35:56 2001  Owen Taylor  <otaylor@redhat.com>
120  
121         * *.h: Improve the detection of invalid includes by moving
122         the test outside the duplicate include guards.
123  
124         * gsourceclosure.c (g_source_set_closure): Doc fix.
125
126 Thu Nov 22 03:30:57 2001  Tim Janik  <timj@gtk.org>
127
128         * gvalue.h (G_TYPE_IS_VALUE): use g_type_check_is_value_type()
129         instead of g_type_value_table_peek().
130
131         * gtype.[hc] (type_check_is_value_type_U): speed up check
132         LOCK-less by caching lookups in node->mutatable_has_value_table.
133
134         * gtype.[hc]: removed locks where possible. partly based on
135         patches from owen and alex.
136
137 Thu Nov 22 00:26:26 2001  Tim Janik  <timj@gtk.org>
138
139         * gtype.[hc]: provide G_TYPE_FUNDAMENTAL_SHIFT and
140         g_type_fundamental_next() to return next usable fundamental
141         type. use TypeNode pointers as type IDs.
142         
143 2001-11-22  Tor Lillqvist  <tml@iki.fi>
144
145         * makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in Makefile.am.
146
147         * gparamspecs.h (GOBJECT_VAR): Can't use GLIB_VAR here, as that
148         makes sense only when building libglib. GOBJECT_VAR is similar for
149         libgobject.
150
151         * gobject.def: Add g_param_spec_types, remove
152         g_type_fundamental_branch_last.
153
154 Wed Nov 21 17:23:33 2001  Tim Janik  <timj@gtk.org>
155
156         * gparamspecs.[hc]: put newly created param spec types into a
157         global array.
158
159         * gboxed.[hc]: moved boxed types with _get_type() function here,
160         for: G_TYPE_CLOSURE, G_TYPE_VALUE, G_TYPE_VALUE_ARRAY,
161         G_TYPE_GSTRING.
162
163         * gtype.h: removed fundamental branch APIs and derived enum
164         values. define GType as gsize.
165
166 2001-11-19  jacob berkman  <jacob@ximian.com>
167
168         * gobjectnotifyqueue.c: include glib-object.h rather than
169         gobject/gobject.h
170
171 2001-11-16  Mark McLoughlin  <mark@skynet.ie>
172
173         * glib-mkenums.in: allow the enums name to not be on the same
174         line as the trailing '}'. (#64714)
175
176 2001-11-18  Hans Breuer  <hans@breuer.org>
177
178         * makefile.msc.in : remove g_log_domain_gruntime usage
179
180 Sat Nov 17 18:14:40 2001  Owen Taylor  <otaylor@redhat.com>
181
182         * glib-genmarshal.c: Exit with non-zero exit status if
183         any errors were encountered.
184
185         * glib-genmarshal.c: Instead of generating gobject/gmarshal.h
186         #include only for the header, generate glib-object.h 
187         #include for both the header and body. (#63834)
188
189         * glib-genmarshal.c: Generate include guards around the 
190         content unless --nostdinc is specified.
191
192 2001-11-17  Tor Lillqvist  <tml@iki.fi>
193
194         * gobject.def: Add g_pointer_type_register_static.
195
196 2001-11-15  Tor Lillqvist  <tml@iki.fi>
197
198         * gobject.def: Reflect recent changes.
199
200 Tue Nov 13 23:18:10 2001  Tim Janik  <timj@gtk.org>
201
202         * gsignal.[hc]: add API for chaining:
203         g_signal_chain_from_overridden() and g_signal_override_class_closure(),
204         implementation yet to come.
205
206         * gtype.[hc], Makefile.am: provide G_LOG_DOMAIN as compile flag.
207         
208         * gparam.[hc]: s/g_param_get/g_param_spec_get/ for get_nick,
209         get_name and get_blurb, to be consistent with the rest of the
210         g_param_spec_*() functions.
211         
212         * gparamspecs.[hc]: got rid of bogus GClosure paramspec.
213         G_TYPE_CLOSURE is a boxed type already.
214         
215 Tue Nov 13 22:16:41 2001  Tim Janik  <timj@gtk.org>
216
217         * gtype.[hc]: API cleanups.
218         remove g_type_check_flags(), provide g_type_test_flags() as
219         a *private* function.
220         s/g_type_check_is_a/g_type_check_class_is_a/, private function.
221         s/g_type_instance_is_a/g_type_check_instance_is_a/, also private.
222
223 Tue Nov 13 20:02:47 2001  Tim Janik  <timj@gtk.org>
224
225         * gparam.h: fix standard type macros.
226
227 Wed Nov  7 00:56:00 2001  Tim Janik  <timj@gtk.org>
228
229         * gclosure.h: provide G_CLOSURE_N_NOTIFIERS() for people that need
230         to walk the notifier list (puhh, black magic, stay-away-warning ;).
231
232 Mon Nov  5 18:59:08 2001  Tim Janik  <timj@gtk.org>
233
234         * gobject.h: 
235         * gsignal.h: we need signal.h for G_BREAKPOINT().
236
237 Sun Nov  4 14:01:23 2001  Owen Taylor  <otaylor@redhat.com>
238
239         * gvaluetypes.[ch]: Add a function g_pointer_type_register_static()
240         to register a type derived from G_TYPE_POINTER.
241
242 2001-11-03  Hans Breuer  <hans@breuer.org>
243
244         * makefile.msc.in : gobject-query needs gmarshal.[hc,stings]
245         so build it after them. Add gsourceclosure.obj. 
246
247         * gobject.def : removed duplicates, added mising
248
249 Mon Oct 29 11:05:15 2001  Owen Taylor  <otaylor@redhat.com>
250
251         * glib-mkenums.in: Generate glib-mkenums from glib-mkenums.in, 
252         substituting in path to perl.  (#63093, Dan Winship)
253
254         * Makefile.am (bin_SCRIPTS): Remove hack to copy glib-mkenums
255         from srcdir.
256
257 2001-10-26  Tor Lillqvist  <tml@iki.fi>
258
259         * makefile.mingw.in: When running glib-genmarshal, set PATH to
260         include ../glib.
261
262 2001-10-23  Tor Lillqvist  <tml@iki.fi>
263
264         * Makefile.am: (Win32): If we have built the MSVC import library,
265         install it. Install the gcc import library. Also support
266         uninstall.
267
268 2001-10-13  Matthias Clasen  <matthiasc@poet.de>
269
270         * glib-genmarshal.1, glib-mkenums.1: Typo fixes.
271
272 Fri Oct 12 18:40:18 2001  Tim Janik  <timj@gtk.org>
273
274         * cosmetic fixups.
275
276 Wed Oct 10 17:25:22 2001  Joshua N Pritikin  <vishnu@pobox.com>
277
278         * glib-genmarshal.c gparamspecs.[ch] gtype.[ch] gvalue.h
279         gvaluecollector.h gvaluetypes.[ch]: Fill in missing support for
280         gint64 & guint64 (#59254).
281         
282         * Unconditionalize same (compile with or without G_HAVE_INT64).
283
284 Wed Oct 10 15:38:58 2001  Joshua N Pritikin  <vishnu@pobox.com>
285
286         * gparamspecs.h (G_IS_PARAM_SPEC_FLAGS): Fix order of
287         *_PARAM_SPEC_ULONG defines.
288
289 Thu Oct  4 01:10:52 2001  Owen Taylor  <otaylor@redhat.com>
290
291         * gparamspecs.h: Add missing G_HAVE_GINT64 conditionalization.
292
293 Wed Oct  3 16:02:24 2001  Owen Taylor  <otaylor@redhat.com>
294
295         * glib-genmarshal.c gparamspecs.[ch] gvalue.h 
296         gobject/gvaluetypes.[ch]: Add support for G_TYPE_INT64
297         and storing it in GValue (Patch from Mathieu Lacage, #59254.)
298
299 2001-10-03  jacob berkman  <jacob@ximian.com>
300
301         * gtype.c (type_iface_retrieve_holder_info_Wm): 
302         (type_iface_vtable_init_Wm): 
303         (type_iface_vtable_finalize_Wm): 
304         (g_type_class_ref): 
305
306         * gobject.c (g_object_get_property): s/retrive/retrieve/
307
308 2001-09-25  Tor Lillqvist  <tml@iki.fi>
309
310         * Makefile.am: Use new macros for .def file, and check for
311         MS_LIB_AVAILABLE, new rule to build MS import library.
312
313         * makefile.msc.in: Use same DLL and import library names as
314         libtool.
315         
316 2001-09-21  Hans Breuer  <hans@breuer.org>
317
318         * gobject.def : updated externals
319
320 2001-09-19  Tor Lillqvist  <tml@iki.fi>
321
322         * gobject.rc.in: Correct InternalName and OriginalFilename to
323         match what we actually produce.
324
325 Tue Sep 18 23:09:02 2001  Tim Janik  <timj@gtk.org>
326
327         * gparam.[hc]: rename *nick and *blurb fields to catch
328         direct accesses in third party code.
329         provide g_param_get_nick(), g_param_get_blurb() and
330         g_param_get_name() accessors.
331
332 Mon Sep 10 20:31:37 2001  Tim Janik  <timj@gtk.org>
333
334         * gobject.[hc]: removed extraneous GObject* returns from a
335         couple functions that are very unlikely to be used in nested.
336         changed gpointer->GObject* for a couple return values/arguments.
337         this fixes #50206.
338
339 Mon Sep 10 19:27:47 2001  Tim Janik  <timj@gtk.org>
340
341         * gtype.[hc]:
342         g_type_add_interface*(): implement the ability to add an interface to
343         a type whose parents already conform to this interface.
344         such "overriding" interfaces, when initialized, are not just initialized
345         with 0, but with a copy of the interface they override.
346         g_type_interface_peek_parent(): new function, return the interface
347         that this interface "overrides", if any.
348
349         * testgruntime.c: test new interface stuff.
350
351 2001-09-10  Alex Larsson  <alexl@redhat.com>
352
353         * gobject/gboxed.[ch]:
354         * gobject/gsourceclosure.c:
355         Removed is_refcounted and GBoxedInitFunc from
356         g_boxed_type_register_static().
357
358 Sat Sep  8 14:13:57 2001  Owen Taylor  <otaylor@redhat.com>
359
360         * gobject/Makefile.am: Move gbsearcharray.[ch] to glib
361         as a private ininstalled header.
362
363 Tue Sep  4 22:24:48 2001  Matthias Clasen  <matthiasc@poet.de>
364
365         * gobject.c (g_object_base_class_finalize): typo fix.
366
367 Tue Sep  4 01:49:18 2001  Tim Janik  <timj@gtk.org>
368
369         * gsourceclosure.c: make closure_callback_funcs static,
370         added some g_return_if_fail() statements.
371
372 Mon Aug 27 14:55:27 2001  Owen Taylor  <otaylor@redhat.com>
373
374         * gsourceclosure.[ch] (g_source_set_closure): Implement.
375
376         * gsourceclosure.[ch]: Add GType's for GIOChannel, GIOCondition.
377
378 2001-08-17  James Henstridge  <james@daa.com.au>
379
380         * gobject.c (WeakRefStack): add an object member to the structure.
381         (weak_refs_notify): pass wstack->object as extra argument to
382         notify functions.
383         (g_object_weak_ref): set wstack->object when initialising
384         WeakRefStack.
385
386         * gobject.h (GWeakNotify): add second argument to prototype which
387         gives the pointer to where the object that is being disposed of
388         was.
389
390 Wed Jul 18 19:42:31 2001  Tim Janik  <timj@gtk.org>
391
392         * gtype.h: if __GNUC__ is defined, inline a test for an exact type
393         match for instances and classes in G_TYPE_CHECK_INSTANCE_TYPE() and
394         G_TYPE_CHECK_CLASS_TYPE() before calling g_type_instance_is_a().
395
396 Sun Aug 12 02:07:10 2001  Tim Janik  <timj@gtk.org>
397
398         * gvaluearray.[hc]: fix preallocation logic, support DISABLE_MEM_POOLS
399         properly, group value allocations.
400         (g_value_array_new): fix semantic of n_prealloced argument, so it's
401         really just about preallocation space.
402
403 2001-07-23  Padraig O'Briain <Padraig.Obriain@Sun.COM>
404         
405         * gobject/gobjectnotifyqueue.c: fix unconditional check of
406         first GParamSpec in g_object_notify_queue_thaw(); to prevent
407         property notification being lost.
408
409 2001-08-06  Sven Neumann  <sven@gimp.org>
410
411         * gobject.[ch]: 
412         added new functions g_object_[add|remove]_weak_pointer().
413
414 2001-08-01  Sven Neumann  <sven@gimp.org>
415
416         * gsignal.h: added convenience macro g_signal_connect_after().
417
418 2001-07-29  Hans Breuer  <hans@breuer.org>
419
420         * gobject.def : updated externals
421
422 2001-07-20  Hans Breuer  <hans@breuer.org>
423
424         * gobject.def : updated externals
425
426         * makefile.msc.in : reflect glib move
427
428 Tue Jul 10 18:50:16 2001  Tim Janik  <timj@gtk.org>
429
430         * gsignal.h (struct _GSignalQuery): fix misplaced comment.
431
432 Mon Jul  2 07:17:47 2001  Tim Janik  <timj@gtk.org>
433
434         * gobject.c (g_object_weak_ref): 
435         (g_object_watch_closure): congrats tim, introducing of-by-one
436         errors like on my very first day of C programming.
437
438 Sat Jun 30 11:07:00 2001  Tim Janik  <timj@gtk.org>
439
440         * gobject.[hc]: provide weak_ref/weak_unref functions,
441         invoked from ->dispose. renamed ->shutdown() to ->dispose(),
442         provide "public" API entry here: g_object_run_dispose(), this
443         fucntion should _only_ be called from object system implementations
444         (e.g. gtkobject.c) if at all.
445
446         * gtypemodule.c (g_type_module_dispose): s/shutdown/dispose/
447
448         * gsignal.h: removed compat aliases.
449
450         * gobject.c (g_object_connect): support data objects.
451         
452 Sat Jun 30 13:17:12 2001  Owen Taylor  <otaylor@redhat.com>
453
454         * testgruntime.c (test_object_class_init)
455           gobject.c (g_object_do_class_init): 
456           g_signal_newc() => g_signal_new().
457
458 Thu Jun 28 22:49:40 2001  Owen Taylor  <otaylor@redhat.com>
459
460         * gtype.[ch] gobject-query.c testgruntime.c: Remove
461         debug flag argument to g_type_init() and add
462         g_type_init_with_debug_flags().
463
464 Thu Jun 28 16:42:49 2001  Tim Janik  <timj@gtk.org>
465
466         * gsignal.c (g_signal_lookup): 
467         (g_signal_list_ids): give elaborate warnings about invalid types,
468         non-instantiatable types and unloaded types that we can't operate on.
469
470         * gparam.[hc]: g_param_spec_pool_belongings() ->
471         g_param_spec_pool_list_owned().
472
473         * gsignal.[hc]: renamed:
474         g_signal_newc -> g_signal_new
475         g_signal_disconnect_by_func -> g_signal_handlers_disconnect_by_func
476         g_signal_block_by_func -> g_signal_handlers_block_by_func
477         g_signal_unblock_by_func -> g_signal_handlers_unblock_by_func
478         added GConnectType to simplify (..gboolean swapped, gboolean after)
479         args.
480
481         * gobject.[hc]: changed prototypes accordingly.
482
483 2001-06-22  Hans Breuer  <hans@breuer.org>
484
485         * gobject.def : updated externals
486
487         * gobjectnotifyqueue.c : include <string.h> for memset ()
488
489 Thu Jun 21 02:43:10 2001  Tim Janik  <timj@gtk.org>
490
491         * gparamspecs.h: s/long/int/ for default_value in enum and flags
492         pspecs.
493
494 Wed Jun 20 03:59:42 2001  Tim Janik  <timj@gtk.org>
495
496         * gtype.[hc]: added debugging variants g_type_name_from_class(),
497         g_type_name_from_instance().
498
499 Mon Jun 11 17:07:06 2001  Tim Janik  <timj@gtk.org>
500
501         * gboxed.[hc]: remove left-over usages of an anonymous GBoxed typedef.
502
503         * gobjectnotifyqueue.c: moved property notify queue implementation
504         bits into this function.
505
506         * gparam.[hc]: added g_param_spec_pool_belongings(), completed
507         g_param_spec_pool_list(). added GParameter for _setv() functions.
508
509         * gobject.[hc]: use gobjectnotifyqueue.h implementation now.
510         got rid of properties_changed signal.
511         new functions g_object_newv(), g_object_class_list_properties().
512         removed "properties_changed" signal.
513
514         * gtype.[hc]: added g_type_depth() to figure number of parent
515         types + 1 for a type.
516
517         * gsignal.h: add g_signal_connect() (as per owen's request) and
518         g_signal_connect_swapped().
519
520 2001-06-13  Havoc Pennington  <hp@redhat.com>
521
522         * Makefile.am (progs_LDADD): link to ./libgobject-1.3.la
523         since an installed libgobject was somehow being found; think 
524         it's a libtool bug, but this workaround should do for now.
525
526 2001-06-12  Havoc Pennington  <hp@redhat.com>
527
528         * Makefile.am (glib-mkenums): don't put $(srcdir)/glib-mkenums in
529         bin_SCRIPTS, that breaks make install. Instead put 'glib-mkenums'
530         in bin_SCRIPTS and cp it into builddir
531
532 Thu May 31 17:56:47 2001  Owen Taylor  <otaylor@redhat.com>
533
534         * gobject-query.c: Fix mispelling in help output.
535         (#53952, Skip Montanaro)
536
537 2001-05-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
538
539         * Makefile.am (EXTRA_DIST): Really distribute glib-mkenums, now
540         that bin_SCRIPTS doesn't seem to care about doing so anymore.
541
542 Mon May 28 06:51:24 2001  Tim Janik  <timj@gtk.org>
543
544         * gsignal.c (signal_emit_unlocked_R): fixed bad faux-pass, forgot
545         to release signal lock when restarting emissions.
546
547 Sun May 27 04:52:28 2001  Tim Janik  <timj@gtk.org>
548
549         * gsignal.[hc] (g_signal_stop_emission_by_name): added variant
550         to stop signal emissions through a detailed_signal string.
551
552         * gsignal.c (signal_emit_R) (g_signal_emit_valist): account for
553         the fact that g_value_* functions may cause signal emissons by
554         unlocking the global signal system lock around g_value_* functions.
555         (signal_emit_unlocked_R): renamed this from signal_emit_R() to reflect
556         that this functions acquires the lock on its own now.
557
558 2001-05-24  Hans Breuer  <hans@breuer.org>
559
560         * makefile.msc.in : changed depndencies to build glib-genmarshal
561         first and statically linked with glib, which makes it independent
562         from the installed glib version. Added new object files to build.
563
564         * gobject.def : updated
565
566 Thu May 24 08:52:02 2001  Owen Taylor  <otaylor@redhat.com>
567
568         * gobject.[ch] (g_value_set_object): gpointer, not
569         gpointer *.
570
571 2001-05-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
572
573         * Makefile.am (bin_SCRIPTS): made 'make distcheck' happy.
574
575         * gobject.def: Removed g_param_spec_stringc.
576
577 Tue May 22 02:46:13 2001  Tim Janik  <timj@gtk.org>
578
579         * gobject.c (g_value_set_object): make g_value_set_object()
580         take a gpointer v_object so people don't need to G_OBJECT()
581         cast NULL pointers (C code convenience).
582
583 Mon May 14 01:49:01 2001  Tim Janik  <timj@gtk.org>
584
585         * gsignal.[hc] (g_signal_handler_is_connected): new function
586         to check whether a handler is still connected to an instance
587         (by handler id).
588
589 Thu May 10 14:00:48 2001  Tim Janik  <timj@gtk.org>
590
591         * gparamspecs.[hc]: removed g_param_spec_stringc() in lack of
592         evidence of public need.
593
594         * gsignal.h: added g_signal_disconnect_by_func(),
595         g_signal_block_by_func() and g_signal_unblock_by_func() convenience
596         macros as per owen's request.
597
598         * gtype.c (SIZEOF_FUNDAMENTAL_INFO): align sizeof (GTypeFundamentalInfo)
599         to size of longs and pointers.
600
601 2001-05-05  James Henstridge  <james@daa.com.au>
602
603         * Makefile.am: glib-mkenums is not a compiled program, so shouldn't
604         be in the bin_PROGRAMS primary.  Put it in bin_SCRIPTS instead, and
605         removed the glib_mkenums_SOURCES var.
606
607 Thu May  3 06:10:23 2001  Owen Taylor  <otaylor@redhat.com>
608
609         * gobject.c (g_object_set_[q]data_full): Make types of ternary
610         operator correspond. (Fixes compilation errors with Sun CC,
611         #52230)
612
613 Mon Apr 30 20:03:56 2001  Tim Janik  <timj@gtk.org>
614
615         * glib-mkenums (usage): removed \v escaping, newer perl versions don't
616         support this, and it'S probably useless anyways.
617
618 Sat Apr 28 23:39:42 2001  Tim Janik  <timj@gtk.org>
619
620         * gsignal.[hc]: made signal handler and emission hook ids gulongs.
621         (signal_handlers_foreach_matched_R): only invoke callback for handlers
622         that are not disconnected (id>0).
623         (signal_emit_R): prevent invocation of signal handlers during the
624         emission they were connected within.
625         
626         * glib-mkenums: publically installed perl-script to parse C code
627         enums and generate descriptions thereof.
628         * glib-mkenums.1: assorted man page.
629         
630 2001-04-19  Havoc Pennington  <hp@redhat.com>
631
632         * gobject.c (g_object_get_valist): We were returning junk memory
633         here, because we didn't copy the value (G_VALUE_NOCOPY_CONTENTS
634         passed to G_VALUE_LCOPY) and then we freed the GValue immediately
635         after. Removed G_VALUE_NOCOPY_CONTENTS from here; need a
636         G_VALUE_STEAL_CONTENTS or the like if we want this optimization.
637
638 Wed Apr 18 09:46:56 2001  Owen Taylor  <otaylor@redhat.com>
639
640         * gobject.c gsignal.c: Change C++ comments for FIXME's to
641         C comments. (Patch from Andres Salomon)
642
643 2001-04-14  Hans Breuer  <hans@breuer.org>
644
645         * gobject.def : updated
646
647 Mon Apr  9 18:56:15 2001  Tim Janik  <timj@gtk.org>
648
649         * gclosure.c (g_closure_invoke): only require marshal/meta_marshal if
650         we're valid (about to actually do marshalling).
651
652 Tue Apr  3 20:23:24 2001  Tim Janik  <timj@gtk.org>
653
654         * NEWS: updates.
655
656 Tue Apr  3 14:06:00 2001  Tim Janik  <timj@gtk.org>
657
658         * gparam.[hc]: added g_param_spec_pool_list() to list pspecs per
659         owner_type. the pspecs are not referenced, so the caller is
660         supposed to have some idea about owner_type not randomly
661         nuking his pspec's. if this is going to provide problems in
662         the future, we can either auto-ref the pspecs, or add a
663         _foreach variant, though the latter would have to invoke
664         the callback while pspec's mutex is acquired, so i just
665         went for the _list variant for now.
666
667         * gclosure.h (G_CALLBACK): made GCallback a void (*) (void) fucntion.
668
669 Sat Mar 31 23:55:58 2001  Tim Janik  <timj@gtk.org>
670
671         * gtype.h:
672         * gparamspecs.[hc]: applied patch from owen to implement
673         GParamSpecUnichar.
674
675 Fri Mar 30 07:34:02 2001  Tim Janik  <timj@gtk.org>
676
677         * gtype.c (type_iface_retrive_holder_info_Wm): 
678         * gtypeplugin.c (g_type_plugin_complete_interface_info): 
679         * gtypemodule.c (g_type_module_complete_interface_info): 
680         change order of instance_type and interface_type so they match
681         the g_type_add_interface_*() API.
682
683         * gsignal.c (g_signal_emit_valist): always assign C return value
684         location, people depending on unaltered return values after emissions
685         that had no handlers to run need to use g_signal_emitv().
686
687         * gtype.[hc] (g_type_query): new function to allow querying of
688         class and object size (semantics like g_signal_query()).
689         currently the implementation is better held conservative so as to
690         only support types that are classed and static.
691
692 2001-03-29  Tor Lillqvist  <tml@iki.fi>
693
694         * gobject.def: Updates.
695
696 Wed Mar 28 17:04:06 2001  Tim Janik  <timj@gtk.org>
697
698         * gobject.c (object_queue_property): only queue readable properties
699         for notification changes.
700
701 Thu Mar 22 13:36:50 2001  Tim Janik  <timj@gtk.org>
702
703         * gsignal.c (g_signal_newv): catch G_SIGNAL_RUN_FIRST with a return value.
704
705 2001-03-21  Martin Baulig  <baulig@suse.de>
706
707         * gboxed.[ch] (g_value_dup_boxed): This takes a `const GValue *'
708         argument.
709
710 2001-03-18  Tor Lillqvist  <tml@iki.fi>
711
712         * gobject.def: Correct some renamed functions.
713
714 Sat Mar 17 23:18:36 2001  Tim Janik  <timj@gtk.org>
715
716         * gobject.c (g_object_get_property): minor bug-fix.
717
718         * gbsearcharray.[hc]: provide a macro for static initialization and
719         functions g_bsearch_array_new() and g_bsearch_array_destroy() for
720         dynamic allocations.
721         
722         * gboxed.c: introduce G_TYPE_GSTRING, boxed type for GString.
723         
724         * gclosure.[hc]: naming corrections.
725
726 Fri Mar  9 16:42:08 2001  Tim Janik  <timj@gtk.org>
727
728         * gvaluetypes.[hc]: moved g_strdup_value_contents() into this file as
729         a public function (was static in gobject.c before). it's a bit odd
730         to have that function here, especially since it requires extra includes,
731         but then it doesn't very well fit somewhere else either.
732
733         * gparamspecs.c: added default/max/min checks to param spec creation
734         functions.
735
736 2001-03-10  Tor Lillqvist  <tml@iki.fi>
737
738         * gobject.def: Add a couple of missing entries.
739
740         * Makefile.am (libgobject_1_3_la_LIBADD): Use only on Win32.
741
742 Fri Mar  9 14:57:17 2001  Tim Janik  <timj@gtk.org>
743
744         * testgruntime.c: test program. covers run first/last/cleanup signal
745         handlers, return value accumulator, signal string returns, and
746         interface types in signal arguments.
747
748         * gtype.c (g_type_value_table_peek): for interface types without
749         value table, try looking up a value table from an instantiatable
750         prerequisite type (this is safe as an interface may only have
751         one instantiatable prerequisiste).
752         (type_check_is_value_type_U): same here.
753
754         * gsignal.c (g_signal_newv): assert that return types never have
755         G_SIGNAL_TYPE_STATIC_SCOPE set.
756         (g_signal_newc): only create class closure if the class_offset is not
757         0.
758
759 Fri Mar  9 10:14:00 2001  Tim Janik  <timj@gtk.org>
760
761         * gparamspecs.c (g_param_spec_object): use g_type_is_a() to check
762         for object_type being a G_TYPE_OBJECT, not G_TYPE_IS_OBJECT(), since
763         that wouldn't allow interface types.
764
765         * gtype.c (g_type_interface_add_prerequisite): arg, fixed small cnp bug
766         with bad implications and an off-by-one error.
767
768 Thu Mar  8 16:34:22 2001  Owen Taylor  <otaylor@redhat.com>
769
770         * gvaluetransform.c: Include <string.h> for memcpy.
771
772         * gvaluetransform.c (DEFINE_SPRINTF): Remove unnecessary
773         and ANSI-illegal ## token pasting.
774
775 Thu Mar  8 18:11:52 2001  Tim Janik  <timj@gtk.org>
776
777         * gsignal.c: eek, fixed old hook detail storage code.
778
779 Thu Mar  8 16:35:48 2001  Tim Janik  <timj@gtk.org>
780
781         * gparamspecs.[hc]: s/g_param_spec_string_c/g_param_spec_stringc/.
782
783         * gsignal.[hc]: fixed accumulator invocation, implemented emission
784         hooks. and no, neither of these callbacks are called via a closure,
785         language bindings can wrap the accumulator and emission hook
786         interface, they already get parameters marshalled into a GValue array.
787         (g_signal_connect): removed this function as its C specific, doesn't
788         cover the swapped argument, is too close to its broken original
789         gtk_signal_connect() and creates demand for _swapped, _after and
790         _swapped_after variants <brrr>.
791         (g_signal_connectc): convenience macro to connect a C handler
792         func with data, like the old g_signal_connect() plus swapped
793         argument.
794
795         * gtype.h:
796         * gboxed.c: added G_TYPE_VALUE boxed type.
797
798 Wed Mar  7 19:02:51 2001  Tim Janik  <timj@gtk.org>
799
800         * gtype.c (type_node_add_iface_entry_W): catch when adding an interface
801         to an ancestor of a child that already conforms to this interface.
802         currently we spew a warning here, should we be silent?
803         (g_type_interface_add_prerequisite): new function to add a prerequisite
804         type to an interface, that must succeed an instance is_a prerequisite
805         type check before the interface can be added to an instance. the
806         prerequisite types are also suuported in is_a checks of the interface.
807         (g_type_instance_is_a):
808         (g_type_check_instance_cast):
809         (g_type_check_instance): cleanups and optimizations.
810         (g_type_class_is_a):
811         (g_type_check_class_cast): same, also prevented these from accepting
812         interface types, as class structures don't nest interfaces.
813
814 2001-03-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
815
816         * Makefile.am: Avoid rebuilding everything everytime.
817
818 Wed Mar  7 09:36:33 2001  Tim Janik  <timj@gtk.org>
819
820         * gboxed.[hc]: changed prototype of g_boxed_type_register_static()
821         to contain an optional init function and a hint at whether the
822         boxed structure uses ref counting internally.
823         added g_value_set_boxed_take_ownership().
824         made G_TYPE_BOXED an abstract value type.
825
826         * genums.[hc]: made G_TYPE_ENUM and G_TYPE_FLAGS abstract value
827         types.
828
829         * glib-genmarshal.c: argument type changes, preparation for third-party
830         arg specification.
831
832         * gobject.[hc]: cleaned up get/set property code.
833         added g_strdup_value_contents() to improve warnings.
834
835         * gparam.[hc]: added g_param_value_convert(), taking over responsibility
836         of the old g_value_convert(). added G_PARAM_LAX_VALIDATION flag so
837         validation alterations may be valid a part of the property setting
838         process.
839
840         * gparamspecs.[hc]: made value comparisons stable (for sort applications).
841         added GParamSpecValueArray, a param spec for value arrays and
842         GParamSpecClosure. nuked the value exchange functions and
843         GParamSpecCCallback.
844
845         * gtype.[hc]: catch unintialized usages of the type system with
846         g_return_val_if_uninitialized(). introduced G_TYPE_FLAG_VALUE_ABSTRACT
847         to flag types that introduce a value table, but can't be used for
848         g_value_init(). cleaned up reserved type ids.
849
850         * gvalue.[hc]: code cleanups and saner checking.
851         nuked the value exchange API. implemented value transformations, we
852         can't really "convert" values, rather transforms are an anylogy to
853         C casts, real conversions need a param spec for validation, which is
854         why g_param_value_convert() does real conversions now.
855
856         * gvaluearray.[hc]: new files that implement a GValueArray, a struct
857         that can hold inhomogeneous arrays of value (to that extend that it
858         also allowes undefined values, i.e. G_VALUE_TYPE(value)==0).
859         this is exposed to the type system as a boxed type.
860
861         * gvaluetransform.c: new file implementing most of the former value
862         exchange functions as single-sided transformations.
863
864         * gvaluetypes.[hc]: nuked G_TYPE_CCALLBACK, added
865         g_value_set_string_take_ownership().
866
867         * *.h: s/G_IS_VALUE_/G_VALUE_HOLDS_/.
868
869         * *.[hc]: many fixes and cleanups.
870
871         * many warning improvements.
872
873 Tue Feb 27 18:35:15 2001  Tim Janik  <timj@gtk.org>
874
875         * gobject.c (g_object_get_valist): urg, pass G_VALUE_NOCOPY_CONTENTS
876         into G_VALUE_LCOPY(), this needs proper documenting.
877
878         * gparam.c: fixed G_PARAM_USER_MASK.
879
880         * gtype.c (type_data_make_W): 
881         (type_data_last_unref_Wm): fixed invalid memory freeing.
882
883         * gobject.c (g_object_last_unref): destroy signal handlers associated
884         with object, right before finalization.
885
886         * gsignal.c (g_signal_parse_name): catch destroyed nodes or signals
887         that don't actually support details.
888
889         * gobject.[hc]: got rid of property trailers. nuked GObject
890         properties "data" and the "signal" variants.
891         (g_object_connect): new convenience function to do multiple
892         signal connections at once.
893         (g_object_disconnect): likewise, for disconnections.
894
895         * gparam.[hc] (g_param_spec_pool_lookup): took out trailer support.
896
897         * gvalue.[hc]: marked g_value_fits_pointer() and g_value_peek_pointer()
898         as private (the latter got renamed from g_value_get_as_pointer()).
899
900 2001-02-21  Tor Lillqvist  <tml@iki.fi>
901
902         * *.h: Use G_BEGIN_DECLS and G_END_DECLS.
903
904         * Makefile.am: Use libglib-1.3.la from top_builddir. Invoke
905         libtool with -no-undefined for Win32 and Cygwin.
906
907 Wed Feb 21 18:31:46 2001  Jonathan Blandford  <jrb@redhat.com>
908
909         * gsignal.h (g_signal_connect): Add g_signal_connect define to
910         make porting from gtk_signal_connect easy.
911
912         * gsignal.c (g_signal_emit_valist): Use G_TYPE_FROM_INSTANCE
913         (instance) instead of node->itype when initting the value.
914
915 2001-02-17  Havoc Pennington  <hp@pobox.com>
916
917         Applied patch from Soeren Sandmann:
918         
919         * gvaluetypes.c (g_value_get_string): G_CONST_RETURN
920
921         * gtype.c (g_type_name): G_CONST_RETURN
922
923         * gsignal.c (g_signal_name): G_CONST_RETURN
924
925         * gobject-query.c (main): const fix
926
927 Sat Feb 17 07:58:46 2001  Tim Janik  <timj@gtk.org>
928
929         * genums.h (G_TYPE_IS_FLAGS): patch from sven to fixup
930         G_ENUM_CLASS_TYPE() macro.
931
932 Sat Feb 17 04:55:35 2001  Tim Janik  <timj@gtk.org>
933
934         * gtype.[hc]: changed collect_format, collect_value() and lcopy_format,
935         lcopy_value() in the GTypeValueTable. the collect functions are now
936         called only once per value, collect_format/lcopy_format are strings
937         that enlist all necessary GTypeCValues to be varargs-collected.
938
939         * gvalue.h: ranamed STATIC_TAG to G_VALUE_NOCOPY_CONTENTS to indicate that
940         a value shouldn't copy its contents.
941
942         * gvaluecollector.h: changed G_VALUE_COLLECT() and G_VALUE_LCOPY()
943         macros to carry an additional argument (flags) that can be used
944         to pass G_VALUE_NOCOPY_CONTENTS along to the collection functions.
945
946         * *.c: adapted collect_value() and lcopy_value() functions to the new
947         prototypes, support G_VALUE_NOCOPY_CONTENTS where apropriate.
948
949         * gsignal.[hc]: introduced a G_SIGNAL_TYPE_STATIC_SCOPE flag that can
950         be passed along (ORed) with the parameter types, indicating that the
951         emission arguments are to be considered static for the scope of the
952         emission. should be used with care and only if the caller knows that
953         a parameter cannot be destroyed/freed from signal handlers connected
954         to an emission.
955
956 Fri Feb 16 07:10:44 2001  Tim Janik  <timj@gtk.org>
957
958         * gclosure.c:
959         (g_closure_ref):
960         (g_closure_sink): make closure sinking explicit.
961
962         * gsignal.c:
963         (g_signal_connect_data): 
964         (g_signal_connect_closure): 
965         (g_signal_connect_closure_by_id): 
966         (g_signal_newv): perform explicit closure sinking.
967
968 Thu Feb  8 00:31:45 2001  Tim Janik  <timj@gtk.org>
969
970         * gtype.h: added G_TYPE_DEBUG_NONE for/from Eric Lemings ;)
971
972 2001-02-04  Tor Lillqvist  <tml@iki.fi>
973
974         * gobject.def: Remove glib_debug_objects.
975
976 Sun Feb  4 07:30:53 2001  Tim Janik  <timj@gtk.org>
977
978         * gtype.[hc]: changed g_type_init() to take debugging flags
979         initially, a combination of G_TYPE_DEBUG_OBJECTS and
980         G_TYPE_DEBUG_SIGNALS. using the G_TYPE_ prefix is a bit odd
981         here, but basically g_type_int() serves as initialization
982         fucntion for all of GType, GObject, GSignal, so what the heck.
983
984         * gobject.c: special case debugging code properly.
985         changed glib_trap_object_ref to g_trap_object_ref.
986
987         * gsignal.c: add signal emission debugging abilities, along with
988         a new trap object g_trap_instance_signals.
989
990 2001-02-04  Tor Lillqvist  <tml@iki.fi>
991
992         * Makefile.am (progs_LDADD): Change order of libs to libgobject
993         first, then libglib. Needed for cygwin, says jbdoll@kepri.re.kr.
994
995 Wed Jan 31 06:19:49 2001  Tim Janik  <timj@gtk.org>
996
997         * gparam.h: gtk-doc sucks for not dealing with #define inside enums.
998
999         * gtype.[hc]: added G_TYPE_FLAG_RESERVED_ID_BIT, a bit in the type
1000         number that's supposed to be left untouched (preserved mainly
1001         for the signal code).
1002
1003         * *.c: added thread safety code, based on an old patch from sebastian.
1004         the remaining thread safety issues are now datalists on pspecs (to be
1005         solved im gdataset.c) and gvalue.c where locking concerns value exchange
1006         functionality only, and that's soon to be revised.
1007
1008 2001-01-27  Tor Lillqvist  <tml@iki.fi>
1009
1010         * makefile.msc.in: Don't try to compile gmarshal.c on its own.
1011
1012 2001-01-24    <alexl@redhat.com>
1013
1014         * gclosure.c (g_closure_unref):
1015         Don't leak closure->notifiers.
1016
1017 2001-01-05  Havoc Pennington  <hp@redhat.com>
1018
1019         * gparamspecs.c (g_param_spec_enum): set the value_type in the
1020         param spec; closes bug 40210
1021         (g_param_spec_flags): ditto for flags
1022
1023 2001-01-03  Alexander Larsson  <alexl@redhat.com>
1024
1025         * gobject.c:
1026         Move glib_debug_objects out of the G_ENABLE_DEBUG #ifdef.
1027
1028 Thu Dec 28 11:36:44 2000  Tim Janik  <timj@gtk.org>
1029
1030         * gbsearcharray.c (upper_power2): disable G_BSEARCH_ALIGN_POWER2
1031         fucntionality if DISABLE_MEM_POOLS is defined.
1032
1033         * gtype.c: honour DISABLE_MEM_POOLS.
1034
1035         * gsignal.c (g_signal_init): flag signal key bsearch array with
1036         G_BSEARCH_ALIGN_POWER2 to avoid excessive growth time. honour
1037         DISABLE_MEM_POOLS.
1038
1039         * gparam.h: added G_PARAM_READWRITE alias for (G_PARAM_READABLE |
1040                                                        G_PARAM_WRITABLE).
1041
1042 2000-12-15  Tor Lillqvist  <tml@iki.fi>
1043
1044         * gobject.def: Update.
1045
1046 2000-12-15  Havoc Pennington  <hp@pobox.com>
1047
1048         * gobject.c (g_object_do_class_init): use g_signal_newc
1049
1050         * gsignal.c (g_signal_newc): convenience function for signals
1051         created from C
1052         (g_signal_new_valist): added
1053         (g_signal_new): removed
1054
1055 Fri Dec 15 04:40:23 2000  Tim Janik  <timj@gtk.org>
1056
1057         * gparam.[hc]: add an instance member value_type so the default
1058         value of the pspec class can be overridden.
1059
1060 2000-12-14  Tor Lillqvist  <tml@iki.fi>
1061
1062         * makefile.mingw.in: Update, include parts from Makefile.am to
1063         build gmarshal.[ch]. Some day, we won't need these separate
1064         makefiles for Win32 compilation. I hope.
1065
1066         * makefile.msc.in: Update. No use trying to build gmarshal.[ch]
1067         here, it would require Unixish tools. MSVC users building from CVS
1068         sources are out of luck.
1069         
1070         * gobject.def: Update.
1071
1072 Wed Dec 13 09:31:26 2000  Tim Janik  <timj@gtk.org>
1073
1074         * gparamspecs.[hc]: add G_TYPE_PARAM_BOXED implementation.
1075
1076         * gobject.[hc]: minor fixes.
1077
1078 Tue Dec 12 23:38:02 2000  Tim Janik  <timj@gtk.org>
1079
1080         * Makefile.am: _never_ touch oldest-source-stamp.
1081         
1082         * gobject.[hc]: construct property handling fixes/improvements.
1083         fixed trailer handling in get/set property.
1084         
1085         * gparam.[hc]: implement param spec pool, got rid of param spec
1086         hashtable. the most prominent change is that e deal with type
1087         prefixes here.
1088         
1089 2000-12-12  Elliot Lee  <sopwith@redhat.com>
1090
1091         * Makefile.am:
1092           . You have to 'touch oldest-source-stamp' if you want to avoid having
1093           the Makefile constantly rebuild itself.
1094           . Fix marshaller generation rules to work with srcdir != builddir
1095             (there were issues with trying to run "./glib-genmarshal", etc.)
1096
1097 Mon Dec 11 04:44:11 2000  Tim Janik  <timj@gtk.org>
1098
1099         * gboxed.c: fixed dealing with collection/lcopy of NULL values.
1100         
1101         * gclosure.h: removed insane ramblings, added G_CALLBACK() a casting
1102         convenience macro.
1103         
1104         * Makefile.am: cleanups, marshaller generation rules.
1105         
1106         * gmarshal.[hc]: new files with GRuntime standard marshallers.
1107         
1108         * glib-genmarshal.c: fix log domain, support gruntime standard 
1109         marshallers, suport G_TYPE_PARAM, come with extern "C" and
1110         #include gmarshal.h.
1111         
1112         * glib-genmarshal.1: reflect glib-genmarshal.c updates.
1113         
1114         * gobject.[hc]: implement object constructor. rework parameter
1115         changed notification queueing, we support queue freezes now and
1116         don't dispatch from an idle handler anymore.
1117         parameter->property rename hassle.
1118         implemented ::properties_changed and ::notify::* signals for
1119         property change notification (the later supports property names
1120         as details). added signal connection and named data properties.
1121         (g_signal_connect_object): new function to setup while_alive
1122         connections.
1123         (g_object_class_install_property): sink properties now, since they
1124         are initially floating.
1125         (g_object_steal_data):
1126         (g_object_set_data_full):
1127         (g_object_set_data):
1128         (g_object_get_data): set/get data by using g_datalist_*() functions
1129         directly.
1130         (g_object_queue_param_changed): nuked.
1131         (g_object_freeze_notify): start queueing of property changes (freeze/
1132         thaw calls stack).
1133         (g_object_notify): announce changes of a certain property directly.
1134         (g_object_thaw_notify): process queue of property changes, therefore
1135         emitting GObject::notify::detail with detail being the changed
1136         properties names.
1137         (G_OBJECT_WARN_INVALID_PROPERTY_ID): saner macro variant of former
1138         G_WARN_INVALID_PARAM_ID().
1139         
1140         * gparam.[hc]: param specs are now initially floating and need to be
1141         sunken with g_param_spec_sink(), support G_TYPE_PARAM values.
1142         added G_PARAM_CONSTRUCT and G_PARAM_CONSTRUCT_ONLY parameter flags,
1143         required by GObjectClass.constructor().
1144         
1145         * gparamspecs.[hc]: added GParamSpecParam, GParamSpecPointer and
1146         GParamSpecCCallback, param specs for G_TYPE_PARAM, G_TYPE_POINTER
1147         and G_TYPE_CCALLBACK respectively.
1148         
1149         * gsignal.[hc]: cleanups.
1150         (signal_id_lookup): after walking the anchestry, try interfaces as well.
1151         (g_signal_new): new function to create signals from varargs type list.
1152         (g_signal_connect_closure): closure connection variant that works from
1153         signal name+detail.
1154         (g_signal_connect_data): c handler connection variant that works from
1155         signal name+detail.
1156         (g_signal_emit_valist): emit signal for an instance with paraneters
1157         collected from a va_list.
1158         (g_signal_emit): emit signal, taking parameters from varargs list.
1159         (g_signal_emit_by_name): same as g_signal_emit, working from
1160         signal name+detail.
1161         (signal_emit_R): return whether return_value needs to be altered.
1162         
1163         * gtype.[hc]: set log-domain to GRuntime, i'm slowly getting to all
1164         the points that need to reflect the upcoming rename.
1165         melt g_type_conforms_to() functionality into g_type_is_a(), as that
1166         is what we really want (liskov substitution principle).
1167         assorted changes to other files due to conforms_to->is_a.
1168
1169         * gvalue.[hc]: implemented g_value_set_instance() that sets a value
1170         from an instantiatable type via the value_table's collect_value()
1171         function (based on an idea from James Henstridge <james@daa.com.au>).
1172         cleanups/fixes.
1173         
1174         * gvaluetypes.[hc]: implement G_TYPE_CCALLBACK and G_TYPE_PARAM.
1175
1176 Wed Nov 29 13:30:05 2000  Tim Janik  <timj@gtk.org>
1177
1178         * gsignal.c (handlers_find): fix elliots "logic fix" that dereferences
1179         NULL nodes if C handlers are searched for specific signals.
1180
1181 2000-11-28  Elliot Lee  <sopwith@redhat.com>
1182
1183         * gsignal.c: Fix warnings about possible use of uninitialized
1184         variables, and fix logic that would leave 'node' unset in cases
1185         that it might be used in.
1186
1187         * glib-genmarshal.c: Fix warning about printf format.
1188
1189 2000-11-28  Tor Lillqvist  <tml@iki.fi>
1190
1191         * gboxed.c: Include <string.h> for memset ().
1192
1193 2000-11-22  Tor Lillqvist  <tml@iki.fi>
1194
1195         * gobject.def: Update.
1196
1197 2000-11-20  Havoc Pennington  <hp@redhat.com>
1198
1199         * gobject.c (g_object_get_data)
1200         (g_object_set_data)
1201         (g_object_set_data_full)
1202         (g_object_steal_data): More convenient data-setting functions
1203
1204 Wed Nov 15 20:58:05 2000  Owen Taylor  <otaylor@redhat.com>
1205
1206         * gtypemodule.c (g_type_module_use): If loading the
1207         module fails, don't increment the use count.
1208
1209 Thu Nov  9 01:49:43 2000  Tim Janik  <timj@gtk.org>
1210
1211         * gobject.h (G_WARN_INVALID_PARAM_ID): doh,
1212         s/BSE_OBJECT_TYPE_NAME/G_OBJECT_TYPE_NAME/; reported by Maas-Maarten
1213         Zeeman <maas@wanadoo.nl>.
1214
1215 Mon Nov 13 00:48:39 2000  Owen Taylor  <otaylor@redhat.com>
1216
1217         * Makefile.am (EXTRA_DIST): Add glib-genmarshal.1
1218
1219 2000-11-11  Tor Lillqvist  <tml@iki.fi>
1220
1221         * gtypemodule.c: Include stdlib.h for exit().
1222
1223         * makefile.{mingw,msc}.in (gobject_OBJECTS): Add gtypemodule.
1224
1225         * gobject.def: Add missing functions.
1226
1227 Sun Nov  5 13:21:28 2000  Owen Taylor  <otaylor@redhat.com>
1228
1229         * Makefile.am gtypemodule.[ch]: New basic implementation of
1230         GTypePlugin interface as a GObject. Dynamically loaded modules can
1231         register any number of types and interface on the module.
1232
1233 Sun Nov  5 10:25:40 2000  Owen Taylor  <otaylor@redhat.com>
1234
1235         * gsignal.c (handlers_find): When appending handlers and
1236         not matching on signal_id, use hlist->signal_id instead of 
1237         signal_id. Having the correct signal_id when unreffing
1238         the handlers makes things work a lot better.
1239
1240 2000-11-05  Tor Lillqvist  <tml@iki.fi>
1241
1242         * makefile.{mingw,msc}.in (gobject_OBJECTS): Add gtypeplugin.
1243
1244         * gobject.def: Update.
1245
1246 Sun Nov  5 05:22:55 2000  Tim Janik  <timj@gtk.org>
1247
1248         * gsignal.c:
1249         fixed a bag full of subtle bugs of immensive screw-up potential in
1250         handlers_find(), luckily no one found out about them yet ;)
1251         fixed signal_handlers_foreach_matched_R() so it operates on an
1252         initial handler list snapshot provided by handlers_find() to work
1253         around general reentrancy problems and to avoid multiple callback()
1254         invocations on the same handlers.
1255         this code is now officially 80% bug free (10% remaining for interface
1256         types, and 10% remaining for destroyed signals ;)
1257         
1258 Sat Nov  4 02:01:33 2000  Tim Janik  <timj@gtk.org>
1259
1260         * gsignal.c (_g_signals_destroy): valid signal nodes start out at 1.
1261
1262         * gtypeplugin.[hc]: new files holding a GTypePlugin interface
1263         implementation that provides the API required by GType to deal with
1264         dynamically loadable types.
1265
1266         * gtype.[hc]: displace any GTypePlugin business to gtypeplugin.h.
1267
1268 Fri Nov  3 07:35:00 2000  Tim Janik  <timj@gtk.org>
1269
1270         * gsignal.[hc]: prefix internal functions with '_'. renamed
1271         g_signal_connect_closure() to g_signal_connect_closure_by_id().
1272         added g_signal_parse_name() to retrive signal_id and detail quark
1273         from a signal name (internal).
1274
1275 Wed Nov  1 03:36:54 2000  Tim Janik  <timj@gtk.org>
1276
1277         * gobject.c (g_object_base_class_finalize): destroy all signals that
1278         the finalized obejct type introduced.
1279
1280         * gsignal.c (g_signals_destroy): don't require itype to have
1281         signals.
1282
1283         * gobject.c (g_object_do_finalize): make sure all signal handlers
1284         are destroyed.
1285
1286         * gsignal.[hc]:
1287         (g_signal_handler_find): only match on non-0 masks.
1288         (g_signal_handlers_block_matched):
1289         (g_signal_handlers_unblock_matched):
1290         (g_signal_handlers_disconnect_matched): new functions to block/unblock
1291         or disconnect handlers in groups.
1292
1293 2000-10-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1294
1295         * gvalue.c (exchange_entries_equal), gparam.c (param_spec_equals):
1296         made both functions return gboolean just for the little extra
1297         standard conformance now that GEqualFunc is introduced.
1298
1299 Mon Oct 30 05:52:45 2000  Tim Janik  <timj@gtk.org>
1300
1301         * gsignal.c (g_signal_list_ids): get rid of inline documentation owen
1302         added, the doc system would ignore it anyways (for some reason not
1303         aparent to me).
1304
1305 Mon Oct 30 03:00:07 2000  Tim Janik  <timj@gtk.org>
1306
1307         * gsignal.[hc] (g_signal_list_ids): renamed owen's g_type_signals(),
1308         added required mutex locks.
1309
1310 Sun Oct 29 02:31:03 2000  Owen Taylor  <otaylor@redhat.com>
1311
1312         * gsignal.c (g_type_signals): Fix problem where signals
1313         with "_" in them appeared twice in the result array.
1314
1315 Sun Oct 29 01:58:44 2000  Owen Taylor  <otaylor@redhat.com>
1316
1317         * gsignal.h: Add g_type_signals() - a function to list
1318         all signals for a given type.
1319
1320 Sat Oct 28 00:28:09 2000  Tim Janik  <timj@gtk.org>
1321
1322         * gclosure.c (g_closure_add_marshal_guards): fixed notifier position
1323         for post_marshal guard which was off at 0.
1324
1325 Fri Oct 27 21:49:31 2000  Tim Janik  <timj@gtk.org>
1326
1327         * gobject.[hc]: doh, fix argument order in for
1328         g_cclosure_new_object_swap and g_cclosure_new_object.
1329
1330 2000-10-28  Tor Lillqvist  <tml@iki.fi>
1331
1332         * makefile.{mingw,msc}.in: Make glib-genmarshal.exe.
1333
1334         * glib-genmarshal.c: Conditionalise include of unistd.h.
1335         Include <io.h> on Win32.
1336
1337         * gobject.def: Add some missing entry points.
1338
1339 Fri Oct 27 16:33:41 2000  Tim Janik  <timj@gtk.org>
1340
1341         * gsignal.[hc]: publically define GSignalInvocationHint structure
1342         that gets passed in to closure invocations. added signal details.
1343         renamed GSignalType to GSignalFlags to comply with conventions.
1344         quite some cleanups and minor fixes. avoid uneccessary handler list
1345         walks upon invokation of after handlers. relookup handler list for
1346         restarted emissions. preliminary abort normal handler invokation if
1347         after handler is encountered.
1348
1349         * glib-genmarshal.c:
1350         * gclosure.[hc]: moved invocation_hint to the end of the
1351         g_closure_invoke() arguments as sugegsted by kenelson.
1352         also made it a gpointer to be more generic. the invocation_hint
1353         is a caller specific thing that can be used to pass additional
1354         data in to closure invocations as documented with the caller
1355         invoking the closure.
1356
1357 Fri Oct 27 05:35:14 2000  Tim Janik  <timj@gtk.org>
1358
1359         * gobject.c (g_object_watch_closure): fixed realloc bug, reported
1360         by havoc.
1361
1362         * gsignal.c (g_signal_newv): fixed deadlock scenarion where
1363         g_signal_lookup() would be called with the signal lock being
1364         held. reported by james henstridge.
1365
1366         * gclosure.c (g_closure_set_meta_marshal): fixed memcpy/overwrite bug
1367         reported by owen.
1368
1369 2000-10-26  Tor Lillqvist  <tml@iki.fi>
1370
1371         * gbsearcharray.c (bsearch_array_insert): Fix gccisms (pointer
1372         arithmetic on void pointer, label without statement following.
1373
1374         * gtype.c (type_node_fundamental_info): Don't apply unary minus to
1375         result of sizeof operator, it can be unsigned. Cast first to
1376         gssize.
1377
1378         * gobject.def: Add new functions.
1379
1380         * makefile.{mingw,msc}.in: Add new objects.
1381
1382 2000-10-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1383
1384         * Makefile.am: Remove empty SUBDIRS line _again_, as that _still_
1385         prevents 'make dist' from working.
1386
1387 Wed Oct 25 19:11:03 2000  Owen Taylor  <otaylor@redhat.com>
1388
1389         * gbsearcharray.h (g_bsearch_array_get_nth): Don't use implicit
1390         casts from void * since this will get included from C++ too
1391         at times.
1392         
1393 Thu Oct 26 00:30:27 2000  Tim Janik  <timj@gtk.org>
1394
1395         * gvaluetypes.[hc]: added g_value_set_static_string().
1396
1397         * gboxed.[hc]: const corrections. added g_value_set_static_boxed().
1398
1399 Wed Oct 25 20:27:02 2000  Tim Janik  <timj@gtk.org>
1400
1401         * gtype.c (g_type_free_instance): for the moment, freeing object
1402         structures will fill their memory portion with 0xAA. there's a
1403         FIXME there, remove this line at a later point.
1404
1405 Tue Oct 24 23:10:26 2000  Tim Janik  <timj@gtk.org>
1406
1407         * glib-genmarshal.1:
1408         * glib-genmarshal.c: added publically installed marshaller generator.
1409
1410         * gtype.h: added G_TYPE_INSTANCE_GET_INTERFACE() to retrive a certain
1411         interface VTable from instances.
1412
1413 Mon Oct 23 08:28:15 2000  Tim Janik  <timj@gtk.org>
1414
1415         * gobject.[hc]: new functions for closure maintenance:
1416         (g_object_watch_closure): maintain validity of the object and
1417         the closure for objects that are used as data part of a closure.
1418         (g_cclosure_new_object): convenience function to create C closures
1419         that have an object as data argument.
1420         (g_closure_new_object): convenience function to create closures
1421         that have an object as data argument.
1422
1423         * gclosure.[hc]: implementation of GClosure mechanism.
1424         a closure is basically an encapsulation of a callback function
1425         and its environment. ideally, most places supporting callback
1426         functions will simply take a GClosure* pointer and thus unify
1427         callback environments wrg destroy notification etc.
1428         GClosure provides destroy notifiers for arbitrary data pointers,
1429         reference counting, invalidation notification (it can be invalidated
1430         which is merely a deactivate state) and a marshallinbg abstraction.
1431         GCClosure is also provided in these files, they present a specialized
1432         GClosure implementation for C language callbacks.
1433
1434         * genum.c: macro cleanups.
1435         
1436         * gboxed.[hc]: new files, for boxed type abstraction.
1437         (g_boxed_copy): copy a boxed structure
1438         (g_boxed_free): free a boxed structure
1439         (g_value_set_boxed):
1440         (g_value_get_boxed): standard GValue functions for boxed types
1441         (g_boxed_type_register_static): convenience function for easy
1442         introduction of new G_TYPE_BOXED derivatives.
1443
1444         * gparam.[hc]: introduced g_param_type_register_static(), a short hand
1445         for creation of new GParamSpec derived types.
1446
1447         * gtype.[hc]: many fixes, introduced ability to flag individual
1448         type nodes as ABSTRACT upon registration, added value_peek_pointer()
1449         to the value table to peek at GValue contents as a pointer for types
1450         that support this. fixed up GValue checks.
1451
1452         * gvalue.[hc]: added g_value_fits_pointer() and g_value_get_as_pointer()
1453         to peek at the value contents as pointer.
1454
1455         * *.[hc]: adaptions to type macro fixes and changes in the type
1456         registration API.
1457
1458         * many const corrections over the place.
1459
1460 Sat Oct 21 02:49:56 2000  Tim Janik  <timj@gtk.org>
1461
1462         * gtype.c (g_type_conforms_to): this function basically behaves like
1463         and is_a check, except that it _additionally_ features interfaces
1464         for instantiatable types. enforce this in the second branch as well
1465         (`type' conforms_to `type') even if `type' is not an interface type.
1466
1467 Fri Oct 20 15:31:04 2000  Tim Janik  <timj@gtk.org>
1468
1469         * gvaluetypes.[hc]: added G_TYPE_POINTER implementation from jrb.
1470
1471         * gtype.[hc]:
1472         * gobject.c:
1473         * gvaluetypes.c: added GTypeValueTable.value_peek_pointer and
1474         suitable implementations of this for G_TYPE_STRING, G_TYPE_OBJECT
1475         and G_TYPE_POINTER.
1476
1477 Mon Aug 21 04:13:37 2000  Tim Janik  <timj@gtk.org>
1478
1479         * gbsearcharray.[hc]: long standing needed generic implementation
1480         of a binary searchable, sorted and dynamically sized array.
1481
1482 2000-10-15  Raja R Harinath  <harinath@cs.umn.edu>
1483
1484         * Makefile.am (BUILT_EXTRA_DIST): New variable.
1485         (dist-hook): Handle $(BUILT_EXTRA_DIST).
1486         (*): Remove traces of @STRIP_{BEGIN,END}@.
1487         
1488 2000-09-29  Martin Baulig  <baulig@suse.de>
1489         
1490         Several minor ANSI C fixes.
1491
1492         Added missing casts:
1493         * gtype.c (type_class_init): 
1494         `(gpointer) bnode->data->class.class_init_base'
1495         in call to g_slist_prepend() and
1496         'GBaseInitFunc class_init_base = (GBaseInitFunc) slist->data'.
1497
1498         * gobject.c: Put text following #endif into comments.
1499
1500 2000-09-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1501
1502         * Makefile.am: Remove empty SUBDIRS line, as that prevents make
1503         dist from working.
1504
1505 Sat Sep  9 20:04:13 2000  Owen Taylor  <otaylor@redhat.com>
1506
1507         * gobject.c (g_object_last_unref): Move call to
1508         g_type_free_instance() here from g_object_do_finalize,
1509         since g_type_free_instance() can unload the object's
1510         implementation.
1511
1512 2000-07-27  Tor Lillqvist  <tml@iki.fi>
1513
1514         * gobject.c: No, don't mark glib_debug_objects for export here,
1515         it's handled specially in gtktypeutils.c.
1516
1517         * gobject.def: Export g_type_fundamental_last (the function).
1518
1519 2000-07-26  Tor Lillqvist  <tml@iki.fi>
1520
1521         * gobject.def
1522         * gobject.c: Mark glib_debug_objects for export/import as it is
1523         used by GTK+.
1524
1525 Sun Jul 23 17:23:35 2000  Tim Janik  <timj@gtk.org>
1526
1527         * gtype.[hc]: make g_type_fundamental_last() a function, avoiding all
1528         that extern variable clutter and avoiding further problems with thread
1529         safety.
1530
1531 2000-07-19  Tor Lillqvist  <tml@iki.fi>
1532
1533         * gparam.h
1534         * gvalue.h
1535         * gparam.c
1536         * gtype.c: Shut up Sun's picky compiler.
1537
1538 2000-07-14  Tor Lillqvist  <tml@iki.fi>
1539
1540         * gobject.def: Add g_type_get_plugin.
1541
1542 Thu Jul 13 02:07:54 2000  Tim Janik  <timj@gtk.org>
1543
1544         * gparam.c (g_param_value_defaults): default initialize the temporary
1545         default value, instead of nuking the caller's value contents.
1546
1547 2000-07-11  Raja R Harinath  <harinath@cs.umn.edu>
1548
1549         * gtype.c (g_type_get_plugin): Don't return just 0 or 1.
1550
1551 Tue Jul 11 02:48:13 2000  Tim Janik  <timj@gtk.org>
1552
1553         * gtype.[hc]: removed g_type_is_dynamic() and added g_type_get_plugin().
1554
1555 2000-07-10  Tor Lillqvist  <tml@iki.fi>
1556
1557         * gobject-query.c: Include ../config.h for HAVE_UNISTD_H. Use it
1558         to guard inclusion of <unistd.h>.
1559
1560         * gtype.h: Fix copy-paste errors in the ifdefs on how to declare a
1561         variable for export. Call the macro GOBJECT_VAR.
1562
1563         * gtype.c: Declare _g_type_fundamental_last for export here, too.
1564         (type_node_any_new): Use only constant expressions for sizeof
1565         operator (for instance MSVC requires this).
1566
1567         * makefile.mingw.in: Define GOBJECT_COMPILATION.
1568
1569 Sun Jul  9 21:21:46 2000  Owen Taylor  <otaylor@redhat.com>
1570
1571         * genums.c: Move string.h include into the .c file
1572         instead of where it was in the .h file by mistake.
1573
1574 Thu Jul  6 15:30:27 2000  Owen Taylor  <otaylor@redhat.com>
1575
1576         * Makefile.am (EXTRA_DIST): dist fixes.
1577
1578         * gobject.c: Add a global variable glib_debug_objects
1579         (not in header file) to control object tracing.
1580
1581 2000-07-01  Tor Lillqvist  <tml@iki.fi>
1582
1583         * gobject.def: Update added and renamed entry points.
1584
1585         * makefile.mingw.in: Add gvaluetypes.o.
1586
1587 Thu Jun 29 16:02:07 2000  Owen Taylor  <otaylor@redhat.com>
1588
1589         * gobject.c:include string.h for memset
1590         * genums.h: include string.h for strcpy
1591         * gvalue.c: include string.h for memset, memcpy.
1592
1593 Sat Jun 24 23:03:04 2000  Tim Janik  <timj@gtk.org>
1594
1595         * gtype.[hc]: provide G_TYPE_CHAR, G_TYPE_UCHAR, G_TYPE_BOOLEAN,
1596         G_TYPE_INT, G_TYPE_UINT, G_TYPE_LONG, G_TYPE_ULONG, G_TYPE_FLOAT,
1597         G_TYPE_DOUBLE and G_TYPE_STRING fundamental types.
1598         added a GTypeValueTable* pointer to GTypeInfo structure for types
1599         to implement GValue handling functions.
1600         GTypeValueTable contains the following members:
1601           value_init(): initialize a GValue structure.
1602           value_free(): free GValue structure contents (optional).
1603           value_copy(): copy one GValue contents to another GValue structure of
1604           collect_type: varargs collection type for the first variable argument
1605           to be collected by collect_value().
1606           collect_value(): variable arguments collection function (optional).
1607           lcopy_type: varargs collection type for the first variable argument
1608           to be location copyied by lcopy_value().
1609           lcopy_value(): variable arguments location copy function (optional).
1610         g_type_value_table_peek(): new function to retrive the GTypeValueTable*
1611         for a type node. ValueTables get inherited from parent types, unless
1612         overridden through the GTypeInfo structure. internally, GTypeValueTable
1613         support means an added overhead of one pointer per static or used
1614         dynamic type node.
1615         g_type_add_class_cache_func(): provide a cache_func/data pair to be
1616         called  prior to a type nodes last_unref() function, this can be used
1617         to prevent premature class destruction. multiple installed cache_func()
1618         will be chained upon last_unref() untill one of them returns TRUE.
1619         the cache_func()s have to check the class id passed in to figure whether
1620         they actually want to cache the class of this type (since all classes
1621         are routed through the cache_func() chain).
1622         g_type_remove_class_cache_func(): remove a previously installed
1623         cache_func/data pair. the cache maintained by this function has to be
1624         clear when calling g_type_remove_class_cache_func() to avoid leaks.
1625         g_type_class_unref_uncached(): class unref function for cache_func()
1626         implementations, unreferences a class omitting the cache chain (and
1627         therefore unref->cache->unref->... loops).
1628
1629         * gvaluetypes.[hc]: provide the value setters/getters for the primitive
1630         fundamental types boolean, char, uchar, int, uint, long, ulong, float,
1631         double and string.
1632
1633         * gvalue.[hc]: provide G_TYPE_IS_VALUE() in terms of whether a
1634         GTypeValueTable is provided for this type.
1635         removed g_value_init_default(), g_value_validate(), g_value_defaults(),
1636         g_value_set_default() and g_values_cmp() as these are supplied by the
1637         GParamSpec API now.
1638         moved g_values_exchange() into the "implementation details" section,
1639         since it just provides the underlying functionality for
1640         g_value_convert().
1641
1642         * gvaluecollector.h: renamed the varargs value container from
1643         GParamCValue to GTypeCValue as the value collection methods are
1644         supplied by the type system now.
1645         G_PARAM_COLLECT_VALUE() and G_PARAM_LCOPY_VALUE() got renamed to
1646         G_VALUE_COLLECT() and G_VALUE_LCOPY() and operate without a
1647         GParamSpec structure now.
1648
1649         * genums.h: macros cleanups/fixes.
1650
1651         * genum.c: provide G_TYPE_ENUM and G_TYPE_FLAGS type
1652         and assorted g_value_{s|g}et_{enum|flags}() implementations.
1653
1654         * gobject.[hc]:
1655         provide G_IS_VALUE_OBJECT(), G_TYPE_OBJECT ValueTable methods
1656         and g_value_{s|g}et_object().
1657
1658         * gparam.[hc]: reduced class to value_set_default(),
1659         value_validate() and values_cmp(). also parameters now need to fill
1660         in a GType value_type; field to indicate the GValue type they
1661         are handling. provide g_param_value_set_default(),
1662         g_param_value_defaults(), g_param_value_validate() and
1663         g_param_values_cmp().
1664
1665         * gparamspecs.[hc]: got rid of the g_value_* functions and
1666         the G_IS_VALUE_* macros. adapted param spec implementations
1667         according to the GParamSpecClass changes.
1668
1669 Sat Jun 10 08:38:27 2000  Tim Janik  <timj@gtk.org>
1670
1671         * gtype.c (type_class_init): fetch the nth iface entry of the
1672         type node in the nth loop iteration, not alwys the first.
1673         bug discovered by Walt Pohl <cher@suitware.com>.
1674         (type_data_finalize_class_ifaces): same here, cut and paste
1675         rulez.
1676
1677 Wed Jun  7 09:21:05 2000  Owen Taylor  <otaylor@redhat.com>
1678
1679         * Makefile.am (INCLUDES): Add top_builddir so glibconfig.h
1680         is found properly when build srcdir != builddir. (Patch from
1681         Eric Lemings)
1682
1683 2000-05-13  Tor Lillqvist  <tml@iki.fi>
1684
1685         * makefile.mingw.in
1686         * gobject.def
1687         * gobject.rc.in: New files, for Win32 (mingw) build.
1688
1689         * Makefile.am: Add to EXTRA_DIST. Add rules to produce the
1690         corresponding non-*.in files.
1691
1692         * gtype.h: (Win32:) Mark _g_type_fundamental_last for
1693         export/import from DLL.
1694
1695 Fri May  5 01:15:48 2000  Tim Janik  <timj@gtk.org>
1696
1697         * gtype.h: add reserved fundamental ids for gtk types (for transition
1698         time). added G_TYPE_FUNDAMENTAL_MAX for gtk.
1699
1700 Mon Apr 17 20:45:50 2000  Tim Janik  <timj@gtk.org>
1701
1702         * glib-gobject.c (g_object_base_class_finalize): oops, don't unset
1703         n_params prior to destructing them.
1704
1705 Tue Apr 11 04:28:10 2000  Tim Janik  <timj@gtk.org>
1706
1707         * fixed a couple of bugs in the initial parameter/object
1708         implementations, after getting beast running on GObject and GValue.
1709
1710 Fri Apr  7 04:27:49 2000  Tim Janik  <timj@gtk.org>
1711
1712         * glib-gobject.[hc]: completed parameter set/get implementations,
1713         along with asyncronous parameter changed notification queue.
1714
1715 Sun Apr  2 04:54:36 2000  Tim Janik  <timj@gtk.org>
1716
1717         * glib-gobject.[hc]: GObject implementation, that is facilities
1718         for setting/getting quarked data and reference counting.
1719
1720         * glib-gparamspecs.[hc]: first actuall parameter implementations
1721         for GLib, so far we have: char, uchar, bool, int, uint, long,
1722         ulong, enum, flags, float, double, string and object. each of these
1723         GParamSpecs is a new instantiatable type in its own respect,
1724         so the .c file derives 13 new types from G_TYPE_PARAM and
1725         defines over 50 (*2) conversion facilities.
1726
1727         * glib-gvaluecollector.h: generic varargs handling stubs for
1728         GParamSpecs, private header file (does get installed for
1729         inclusion into user code though).
1730
1731         * glib-gvalue.[hc]: GValue functionality implementation.
1732
1733         * glib-gparam.[hc]: basis GParamSpec implementation for
1734         the virtual base type G_TYPE_PARAM.
1735
1736         * glib-genums.[hc]: enum/flags type implementation, based on
1737         bseenum.[hc].
1738
1739         * glib-gtype.[hc]: GLib Type System implementation, heavily
1740         based on BSE's dynamic type system.