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