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