2.15.3
[platform/upstream/glib.git] / gobject / ChangeLog
1 2008-01-21  Matthias Clasen  <mclasen@redhat.com>
2
3         * === Released 2.15.3 ===
4
5 2008-01-14  Matthias Clasen  <mclasen@redhat.com>
6
7         * === Released 2.15.2 ===
8
9 008-01-07  Matthias Clasen  <mclasen@redhat.com>
10
11         * === Released 2.15.1 ===
12
13 2007-12-26  Behdad Esfahbod  <behdad@gnome.org>
14
15         * gclosure.h (G_CCLOSURE_SWAP_DATA): Fix macro argument.
16         (#505674, Areg Beketovski)
17
18 2007-12-20  Matthias Clasen  <mclasen@redhat.com>
19
20         * === Released 2.15.0 ===
21
22 2007-11-11  Mathias Hasselmann  <mathias@openismus.com>
23
24         Always exit with non-zero error code when printing warnings.
25
26         * gobject/glib-genmarshal.c: Add global exit_status variable, and use
27         it in pad() and process_signature() to return with non-zero error code
28         when printing warnings. (#495294)
29
30 2007-11-08  Matthias Clasen <mclasen@redhat.com>
31
32         * glib-mkenums.in: Don't shift ARGV[0] to undefined. 
33         (#466557, Aidan Delaney)
34
35 2007-11-07  Matthias Clasen <mclasen@redhat.com>
36
37         * === Released 2.14.3 ===
38
39 2007-10-16  Matthias Clasen  <mclasen@redhat.com>
40
41         * === Released 2.14.2 ===
42
43 2007-09-20  Carlos Garnacho  <carlos@imendio.com>
44
45         * gtypemodule.h: make sure we define GType g_define_type_id in
46         G_G_DEFINE_DYNAMIC_TYPE_EXTENDED so it works together with
47         G_IMPLEMENT_INTERFACE. (#478459)
48
49 2007-09-19  Matthias Clasen  <mclasen@redhat.com>
50
51         * === Released 2.14.1 ===
52
53 2007-08-03  Matthias Clasen  <mclasen@redhat.com>
54
55         * === Released 2.14.0 ===
56
57 2007-07-12  Matthias Clasen  <mclasen@redhat.com>
58
59         * === Released 2.13.7 ===
60
61 Tue Jul 10 12:31:50 2007  Tim Janik  <timj@imendio.com>
62
63         * gtype.h: use g_once_init_enter/g_once_init_leave to guard critical
64         initialization section of *_get_type implementations in G_DEFINE_TYPE,
65         bug #65041.
66
67 Fri Jun 29 2007  Matthias Clasen  <mclasen@redhat.com>
68
69         * === Released 2.13.6 ===
70
71 Fri Jun 22 11:31:27 2007  Tim Janik  <timj@gtk.org>
72
73         * gtype.h: reintroduce typedef gulong GType; for C++, to avoid
74         C++ specific ABI breakage.
75
76 2007-06-18  Matthias Clasen  <mclasen@redhat.com>
77
78         * === Released 2.13.5 ===
79
80 Thu Jun 14 23:32:00 2007  Tim Janik  <timj@gtk.org>
81
82         * gtype.h: always define GType unconditionally in terms of gsize,
83         there's no need to jump through a glong hoop ever and this fixes
84         the printf modifier to %zu.
85
86 Thu Jun 14 22:33:11 2007  Tim Janik  <timj@imendio.com>
87
88         * gparamspecs.c (g_param_spec_types_init): work around SGI IDO cc,
89         fixes #363986.
90
91 2007-06-05  Matthias Clasen  <mclasen@redhat.com>
92
93         * === Released 2.13.4 ===
94
95 2007-06-04  Matthias Clasen  <mclasen@redhat.com>
96         
97         * === Released 2.13.3 ===
98
99 2007-05-22  Matthias Clasen  <mclasen@redhat.com>
100
101         * === Released 2.13.2 ===
102
103 2007-05-17  Matthias Clasen <mclasen@redhat.com>
104
105         * gtype.h: Move G_GNUC_INTERNAL before function
106         declarations to fix compilation with sun studio.  (#438873,
107         Damien Carbery)
108
109 2007-05-03  Matthias Clasen <mclasen@redhat.com>
110
111         * === Released 2.13.1 ===
112
113 2007-04-25  Michael Natterer  <mitch@imendio.com>
114
115         * gparamspecs.c (param_string_validate): also clear the
116         NOCOPY_CONTENTS flag when replacing NULL with the empty string.
117
118 2007-04-24  Michael Natterer  <mitch@imendio.com>
119
120         * gparamspecs.c (param_string_validate): don't free or modify
121         static strings, dup them when needed and clear the
122         G_VALUE_NOCOPY_CONTENTS flag. Fixes bug #432895.
123
124 Tue Apr  3 12:34:14 2007  Tim Janik  <timj@gtk.org>
125
126         * gobject.[hc]: invoke GObjectClass.constructed() only for newly
127         constructed objects, and invoke it while the notify queue is
128         still being frozen, after all CONSTRUCT* properties have been
129         set and before random other properties are being set.
130
131         * applied modified patch from Ryan Lortie to implement
132         GObjectClass.constructed() to fix #425324.
133
134 2007-04-02  Ryan Lortie  <desrt@desrt.ca>
135
136         * gobject/gobject.h: Add 'constructed' vcall to GObjectClass.
137         * gobject/gobject.c (g_object_newv): call ->constructed() as last
138         step of object construction.
139
140 2007-03-16  Matthias Clasen  <mclasen@redhat.com>
141
142         * === Released 2.13.0 ===
143
144 2007-03-15  Matthias Clasen  <mclasen@redhat.com>
145
146         * gvaluearray.c: Use  g_slice.  (#404430, Chris Wilson)
147
148 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
149
150         * gparam.h:
151           Add G_PARAM_STATIC_STRINGS define (fixes #418021).
152
153 Mon Mar 12 13:30:20 2007  Tim Janik  <timj@gtk.org>
154
155         * gtype.h: marked purely functional g_type accessors as PURE or CONST,
156         closes #305100.
157
158 2007-01-02  Tor Lillqvist  <tml@novell.com>
159
160         * glib-genmarshal.c (main): Handle "/dev/stdin" by dup()ing fd 0
161         so that it works on Win32 and other systems without
162         /dev/stdin. (#407431)
163
164 2006-12-29 Matthias Clasen  <mclasen@redhat.com>
165
166         * gtypemodule.h: Define G_DEFINE_DYNAMIC_TYPE and
167         and _EXTENDED variant.  (#334437)
168
169 Fri Dec 15 2006  Matthias Clasen  <mclasen@redhat.com>
170
171         * gtype.c (instance_real_class_get): Dereference the pointer 
172         before dropping the lock.  (#378078, Jonathan Matthew)
173
174 Tue Oct 10 12:06:08 2006  Tim Janik  <timj@gtk.org>
175
176         * glib-mkenums.in: 
177         * glib-mkenums.1: applied patch from David Necas which introduces
178         an underscore_name option and fixes #358734.
179
180 Mon Oct  2 15:50:16 2006  Tim Janik  <timj@gtk.org>
181
182         * gvalue.c (g_value_peek_pointer): reverted a change to have an
183         assert instead of a g_return_val_if_fail() here. libraries (and
184         programs) should only ever g_assert or g_error if there is no way
185         to carry on with the current program state. that's clearly not 
186         the case here.
187
188         * ChangeLog: added missing changelog entry for 2003-12-30.
189
190 Sat Sep 30 2006  Matthias Clasen  <mclasen@redhat.com>
191
192         * pltcheck.sh: Script to check PLT entries.
193
194         * Makefile.am (TESTS): Run pltcheck.sh
195
196         * gtype.c:
197         * gsignal.c:
198         * gobject.c:
199         * gvaluetypes.c: Move all includes before gobjectalias.h.
200         (#3545422, Behdad Esfahbod)
201
202 Fri Sep 22 13:41:02 2006  Tim Janik  <timj@imendio.com>
203
204         * gtype.h: applied patch from Behdad with slight optimization, 
205         fixes #356175.
206
207         * gobjectnotifyqueue.c: fixed include-guard macro name.
208
209 Mon Sep 11 12:12:45 2006  Tim Janik  <timj@imendio.com>
210
211         * gparam.c (g_param_spec_sink): reimplemented floating flag handling by
212         atomically accessing a reserved GData bit, fixes #330556.
213
214 Tue Aug 29 13:27:33 2006  Tim Janik  <timj@gtk.org>
215
216         * glib-mkenums.in: fixed to print usage and version info on STDOUT
217         (#322502).
218
219         * gobject.c (g_initially_unowned_init): restore ; after G_DEFINE_TYPE.
220
221 2006-08-26  Matthias Clasen  <mclasen@redhat.com>
222
223         * gobject.c: Remove ; after G_DEFINE_TYPE.  (#351741, Kjartan Maraas)
224
225 Wed Aug 23 10:35:32 2006  Tim Janik  <timj@gtk.org>
226
227         * gobject.[hc]: changed return value of g_value_dup_object(), fixes #343292.
228
229 2006-08-23  Sven Neumann  <sven@gimp.org>
230
231         * gobject/glib-genmarshal.[c1]: added new command-line option
232         "--internal" that can be used to let glib-genmarshal generate
233         internal functions using the G_GNUC_INTERNAL attribute (bug #346647).
234
235 Wed Aug 16 13:55:08 2006  Tim Janik  <timj@imendio.com>
236
237         * gobject.c: conditionally thaw the notify queue after construction,
238         so we don't trigger warnings when trying to thaw an unfrozen singleton.
239
240 2006-08-15  Matthias Clasen  <mclasen@redhat.com>
241
242         * === Released 2.12.2 ===
243
244 2006-08-05  Matthias Clasen  <mclasen@redhat.com>
245
246         * gparamspecs.c (g_param_spec_types_init): Don't initialize
247         struct members with function calls.  (#349952)
248
249 2006-07-22  Matthias Clasen  <mclasen@redhat.com>
250
251         * === Released 2.12.1 ===
252
253 2006-07-21  Matthias Clasen  <mclasen@redhat.com>
254
255         * gtypemodule.c (g_type_module_register_type): Copy the complete
256         value table, not just the first 4 bytes.  (#348136, Coverity)
257
258 2006-07-02  Matthias Clasen  <mclasen@redhat.com>
259
260         * === Released 2.12.0 ===
261
262 2006-06-20  Matthias Clasen  <mclasen@redhat.com>
263
264         * === Released 2.11.4 ===
265
266 2006-06-15  Federico Mena Quintero  <federico@novell.com>
267
268         * gtype.c (g_type_instance_get_private): Fix the error message so
269         that it mentions the right functions:
270         "g_type_instance_get_private() requires a prior call to
271         g_type_class_add_private()".
272
273 2006-06-12  Matthias Clasen  <mclasen@redhat.com>
274
275         * === Released 2.11.3 ===
276
277 2006-06-05  Matthias Clasen  <mclasen@redhat.com>
278
279         * === Released 2.11.2 ===
280
281 2006-06-02  Behdad Esfahbod  <behdad@gnome.org>
282
283         * gobject/genum.h: Make value_name and value_nick const in structs
284         _GEnumValue and _GFlagValue.  (#317793)
285
286 Tue May 16 14:01:43 2006  Tim Janik  <timj@imendio.com>
287
288         * gtype.h (G_IMPLEMENT_INTERFACE): turn off compiler warnings, #337129.
289
290 2006-05-15  Matthias Clasen  <mclasen@redhat.com>
291
292         * === Released 2.11.1 ===
293
294 2006-05-02  Matthias Clasen  <mclasen@redhat.com>
295         
296         * === Released 2.11.0 ===
297
298 Tue May  2 14:51:03 2006  Tim Janik  <timj@gtk.org>
299
300         * gtype.h: split up G_DEFINE_*TYPE macro definitions so C CODE arguments
301         are not passed on to nested macro calls. patch mostly courtesy of Behdad
302         Esfahbod, fixes #337128.
303
304 2006-04-23  Matthias Clasen  <mclasen@redhat.com>
305
306         * gobject.symbols: Fix a typo.
307
308         * gtype.c: (g_type_register_static_simple): Add a 
309         missing return.
310
311         * gtype.h: Silence warnings from G_DEFINE_TYPE.
312         
313 2006-04-21  Matthias Clasen  <mclasen@redhat.com>
314
315         * gobject.symbols:
316         * gtype.[hc]: Add a g_type_register_static_simple
317         variant of g_type_register_static that does not take 
318         a relocation-causing GTypeInfo struct, and use it 
319         in G_DEFINE_TYPE.
320
321 2006-03-07  Matthias Clasen  <mclasen@redhat.com>
322
323         * ===  Released 2.10.1 ===
324
325 Tue Mar  7 17:09:07 2006  Tim Janik  <timj@gtk.org>
326
327         * gobject.c (g_object_compat_control): added case3 to hand out the
328         original floating flag handler. required by gtk+ >= 2.10.
329
330 2006-02-24  Matthias Clasen  <mclasen@redhat.com>
331
332         * === Released 2.10.0 ===
333
334 2006-02-10  Matthias Clasen  <mclasen@redhat.com>
335
336         * === Released 2.9.6 ===
337
338 2006-01-29  Matthias Clasen  <mclasen@redhat.com>
339
340         * gclosure.c: Remove C++ comment.
341
342 2006-01-27  Matthias Clasen  <mclasen@redhat.com>
343
344         * === Released 2.9.5 ===
345
346 2006-01-18  Matthias Clasen  <mclasen@redhat.com>
347         
348         * === Released 2.9.4 ===
349
350 2006-01-18  Matthias Clasen  <mclasen@redhat.com>
351
352         * gobject.h: Make g_object_compat_control() visible
353         for GTK+ compilation, to avoid segfaults on 64bit
354         platforms.
355
356 2006-01-16  Matthias Clasen  <mclasen@redhat.com>
357
358         * === Released 2.9.3 ===
359
360 2006-01-05  Matthias Clasen  <mclasen@redhat.com>
361
362         * === Released 2.9.2 ===
363
364 2006-01-04  Matthias Clasen  <mclasen@redhat.com>
365
366         * gobject.symbols: Add g_initially_unowned_get_type.
367
368 2005-12-30  Matthias Clasen  <mclasen@redhat.com>
369         
370         * gsignal.c: Remove the handler trash stack, which
371         is now unused.
372         (g_signal_init): Remove the restriction that HandlerMatch
373         must be the same size as GList, and obsolete comments 
374         referring to mem chunks.
375
376 2005-12-24  Matthias Clasen  <mclasen@redhat.com>
377
378         * gobject.symbols: Add new functions.
379
380 Thu Dec 22 18:53:14 2005  Tim Janik  <timj@gtk.org>
381
382         * gobject.[hc]: renamed GUnowned to GInitiallyUnowned.
383
384 Thu Dec 22 14:59:24 2005  Tim Janik  <timj@imendio.com>
385
386         * gvaluetypes.[hc]: implemented G_TYPE_GTPYE. applied patch
387         from matthias which implements GType accessors for GValue.
388
389         * gparamspecs.[hc]: applied patch from matthias which 
390         implements G_TYPE_PARAM_GTYPE.
391
392         * gobject.[hc]:
393         GUnowned: introduced a new object type that has an initially
394         floating reference.
395         g_object_compat_control(): allow setting of a floating flag handler.
396
397 2005-12-09  Matthias Clasen  <mclasen@redhat.com>
398
399         * === Released 2.9.1 ===
400
401 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
402
403         * genums.h (G_FLAGS_CLASS_TYPE_NAME): Use G_FLAGS_CLASS_TYPE.
404         (#323273, Kalle Vahlman)
405         
406 Thu Dec  1 12:53:26 2005  Tim Janik  <timj@imendio.com>
407
408         * gtype.c: use g_slic_* for all object allocations.
409
410 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
411
412         * gobjectnotifyqueue.c (g_object_notify_queue_thaw): 
413         * gobject-query.c (main): Silence compiler warnings.
414
415         * glib-genmarshal.c (main): Use G_N_ELEMENTS.
416
417 2005-11-27  Matthias Clasen  <mclasen@redhat.com>
418
419         * gboxed.h: Declare g_hash_table_get_type.
420
421 Wed Nov 23 18:01:46 2005  Tim Janik  <timj@imendio.com>
422
423         * gobject.[hc]: added floating reference count.
424         g_object_is_floating():
425         g_object_ref_sink(): new functions to deal with floating references.
426         g_object_force_floating(): new funciton for object implementations
427         to set the floating flag.
428
429         * gobject.c (g_object_init): make objects initially floating.
430
431 Wed Nov 23 17:58:13 2005  Tim Janik  <timj@gtk.org>
432
433         * gparam.[hc]: added g_param_spec_ref_sink().
434
435 Wed Nov 23 13:36:02 2005  Tim Janik  <timj@gtk.org>
436
437         * gboxed.[hc]: minor cleanups, implemented G_TYPE_HASH_TABLE.
438
439 2005-11-17  Matthias Clasen  <mclasen@redhat.com>
440
441         * === Released 2.9.0 ===
442
443 2005-11-17  Matthias Clasen  <mclasen@redhat.com>
444
445         * glib-genmarshal.c: const correctness fixes, found
446         by Arjan van de Ven and gcc.
447         
448 Tue Nov  1 17:07:43 2005  Tim Janik  <timj@imendio.com>
449
450         * gsignal.c: allocate signal handlers and handler match structures
451         via the new g_slice_*() API (get's rid of GList allocation hack).
452
453         * gtype.c: got rid of per-type memchunks. if GTypeInfo.n_preallocs
454         is > 0, objects are allocated via g_slice_*() instead of g_malloc().
455
456 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
457
458         * glib-mkenums.in: Really fix #314890.
459
460 2005-09-28  Michael Natterer  <mitch@gimp.org>
461
462         * gtype.h (G_IMPLEMENT_INTERFACE): revert last change, it breaks
463         all users of G_IMPLEMENT_INTERFACE() inside
464         G_DEFINE_TYPE_WITH_CODE(), since apparently GCC doesn't like
465         commas enclosed in {}, not (), in nested macro calls.
466
467 2005-09-26  DindinX  <dindinx@gimp.org>
468
469         * gobject/gtype.h: initialize all the fields of GInterfaceInfo in the
470         G_IMPLEMENT_INTERFACE macro, to shut up a warning when compiling at -W
471
472 2005-09-26  Matthias Clasen  <mclasen@redhat.com>
473
474         * glib-mkenums.in: Don't hang on '{' following a trigraph comment
475         in the same line.  (#314890, Mathias Hasselmann)
476
477 Thu Sep 22 12:42:12 2005  Tim Janik  <timj@gtk.org>
478
479         * gparam.c (g_param_spec_internal): fix pspec->name assignment which
480         needs to be strdup()ed for non G_PARAM_STATIC_NAME pspecs. this fixes
481         recently introduced crashes during plugin unloading.
482         also, ensure that static pspec names are canonicalized.
483
484         * gsignal.h: reverted last change from matthias, we don't guarantee
485         that type ids aren't mangled with G_SIGNAL_TYPE_STATIC_SCOPE anywhere.
486
487 2005-09-20  Matthias Clasen  <mclasen@redhat.com>
488
489         * gsignal.h (struct _GSignalQuery): Remove the misleading comment
490         about G_SIGNAL_TYPE_STATIC_SCOPE, since we don't allow that 
491         on return types.
492
493 2005-09-08  Kjartan Maraas  <kmaraas@gnome.org>
494
495         * gclosure.c: (g_closure_set_meta_marshal): Remove some unused
496         code.
497         * gsignal.c: (g_signal_emitv): Same here
498         * gtype.c: (g_type_register_fundamental): And here
499         * testgobject.c: Mark some functions static.
500
501 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
502
503         * gsignal.c (struct _SignalNode): Make the name field const.
504         (g_signal_newv): Don't keep an unnecessary extra copy of the 
505         signal name around, and don't forget to free the name if
506         an existing node is reused.     
507
508 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
509
510         * gobject.c (g_object_do_class_init): Intern the signal name.
511
512         * gparam.c (g_param_spec_internal): Intern the name here,
513         since we need the quark anyway when sending change notification.
514
515         * gboxed.c: 
516         * gparamspecs.c: 
517         * gtype.c (g_type_init_with_debug_flags): Intern type name
518         before registering the types.
519
520         * gtype.h (G_DEFINE_TYPE_EXTENDED): Intern type name
521         before registering the type.
522
523         * gvaluetypes.c (g_value_types_init): 
524         * gtypeplugin.c (g_type_plugin_get_type): 
525         * gtypemodule.c (g_type_module_get_type): 
526         * gparam.c (g_param_type_init): 
527         * gobject.c (g_object_type_init): 
528         * genums.c (g_enum_types_init): 
529         * gboxed.c (g_boxed_type_init): Intern type names
530         before registering the type to avoid unnecessary
531         copies.
532
533 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
534
535         * === Released 2.8.1 ===
536
537 2005-08-12  Matthias Clasen  <mclasen@redhat.com>
538
539         * === Released 2.8.0 ===
540
541 2005-08-09  Matthias Clasen  <mclasen@redhat.com>
542
543         * gvaluetransform.c: Access enum and flags
544         values as v_long/v_ulong, not v_int/v_uint,
545         to make value transformation of such types
546         work on bigendian 64bit machines.  (#312485,
547         Michael Lorenz)
548
549 2005-08-05  Matthias Clasen  <mclasen@redhat.com>
550         
551         * abicheck.sh: Also check exported variables
552
553         * === Released 2.7.7 ===
554
555 2005-08-03  Matthias Clasen  <mclasen@redhat.com>
556
557         * === Released 2.7.6 ===
558
559 2005-08-02  Matthias Clasen  <mclasen@redhat.com>
560
561         * gclosure.c (union ClosureInt): Mark the vint member as
562         volatile, which seems to be necessary to make atomic operations
563         work on s390.
564
565         * === Released 2.7.5 ===
566
567 Mon Aug  1 23:00:42 2005  Tim Janik  <timj@imendio.com>
568
569         * gclosure.c: turned all modifications to the first 32 integer bits in a 
570         closure into atomic accesses. wrapped write accesses into special macros
571         to keep the atomic modification logic in a single place. comment cleanups.
572
573         * gclosure.h: made all atomicly accessed closure fields volatile.
574
575         * gobject.h: made ref_count field volatile.
576
577 Sun Jul 31 02:04:23 2005  Tim Janik  <timj@gtk.org>
578
579         * gobject.c: use g_datalist_set_flags() and g_datalist_unset_flags() to
580         allow proper locking around &qdata modifications.
581
582 Sat Jul 30 21:10:26 2005  Tim Janik  <timj@gtk.org>
583
584         * gobject.c: reverted notify_mutex introduction, since this prevents
585         parallelized setting of object properties on different objects, and
586         serves no apparent purpose (to me at least).
587         g_object_real_dispose(): removed non-atomic reference count 
588         modifications.
589         g_object_unref(): make sure the closures array is destroyed when
590         destroying signal handlers.
591
592         * gparam.c: cosmetic changes.
593
594         * gsignal.c: comment fixup. allow 16bit blocking count.
595
596         * gsignal.c: reverted GClosure related changes.
597
598         * gclosure.c: reverted premature commit of atomic reference
599         counting attempt.
600
601 2005-07-21  Matthias Clasen  <mclasen@redhat.com>
602
603         * === Released 2.7.4 ===
604
605 2005-07-15  Matthias Clasen  <mclasen@redhat.com>
606
607         * === Released 2.7.3 ===
608         
609 2005-07-15  Matthias Clasen  <mclasen@redhat.com>
610
611         Make refcounting threadsafe by using atomic 
612         operations.  (#166020, Wim Taymans)
613         
614         * gobject.c: Use a recursive lock to protect the 
615         notify queue.
616         (g_object_unref): Get rid of g_object_last_unref and
617         do the last unref handling in g_object_unref.
618         (g_object_ref, g_object_unref): Use atomic operations.
619
620         * gsignal.c (struct _HandlerMatch): Use a full integer
621         for the ref_count field.
622         (handler_ref, handler_unref_R): Use atomic operations.
623
624         * gparam.c (g_param_spec_ref, g_param_spec_unref): 
625         Use atomic operations instead of a lock to make the
626         refcounting threadsafe.
627
628         * gclosure.c (g_closure_ref, g_closure_unref): Use atomic
629         operations. This is more complicated here, since the
630         refcount is stored in a bitfield, so we also have
631         to access all other bitfield members atomically.
632
633         * gsignal.c (handlers_find): Read the meta_marshal flag
634         of the closure atomically.
635
636 2005-07-11  Matthias Clasen  <mclasen@redhat.com>
637
638         * gobject.h: 
639         * gobject.symbols: Remove G_GNUC_NULL_TERMINATED from
640         g_object_new again, since that makes gcc warn on calls of 
641         the form g_object_new (some_type, NULL)
642
643 2005-07-09  Tor Lillqvist  <tml@novell.com>
644
645         * Makefile.am: Don't use the scripts in build/win32 to compile
646         gobject.rc into a resource object file. (This means we lose the
647         build number increment magic, but I doubt it was that useful
648         anyway.) Instead use windres directly. To pass the normal .o file
649         produced by windres through libtool, which wants .lo files, pass
650         it directly to the linker using a -Wl option.
651
652         * gobject.rc.in: Thus replace BUILDNUMBER with 0.
653
654 2005-07-08  Matthias Clasen  <mclasen@redhat.com>
655         
656         * === Released 2.7.2 ===
657
658 2005-06-30  Matthias Clasen  <mclasen@redhat.com>
659
660         * === Released 2.7.1 ===
661
662 2005-06-26  Tor Lillqvist  <tml@novell.com>
663
664         * Makefile.am: libtool installs/uninstalls the import library, no
665         need to do it ourselves. Do still install/uninstall the .def file,
666         though.
667
668 2005-06-24  Tor Lillqvist  <tml@novell.com>
669
670         * Makefile.am (install-libtool-import-lib): Current GNU tools do
671         understand the PRIVATE keyword.
672
673 2005-06-19  Matthias Clasen  <mclasen@redhat.com>
674
675         * gparam.h (GParamFlags): Avoid a warning.  (#308295,
676         Murray Cumming).
677
678 2005-06-13  Matthias Clasen  <mclasen@redhat.com>
679
680         * gparam.h (GParamFlags): Re-add G_PARAM_PRIVATE as a 
681         deprecated name for bit 5, since some language bindings
682         have it bound.
683
684 2005-06-10  Matthias Clasen  <mclasen@redhat.com>
685
686         * === Released 2.7.0 ===
687
688 2005-05-20  Matthias Clasen  <mclasen@redhat.com>
689
690         * gvaluetypes.c (g_value_set_string): dup the new value
691         before freeing the old, just in case.  (#172142, Morten
692         Welinder)
693
694 2005-05-13  Matthias Clasen  <mclasen@redhat.com>
695
696         * glib-genmarshal.1: Mention 64bit integer types.
697
698 2005-05-05  Owen Taylor  <otaylor@redhat.com>
699
700         * gobject.[ch] gobject.symbols: Add
701         g_object_add/remove_toggle_ref() functions to get notification
702         when a reference count is the last remaining reference; this
703         enables better memory management for language bindings.
704         (http://mail.gnome.org/archives/gtk-devel-list/2005-April/msg00095.html)
705
706 2005-04-29  Matthias Clasen  <mclasen@redhat.com>
707
708         * gobject.symbols: 
709         * gboxed.h (G_TYPE_DATE): 
710         * gboxed.c: Add a boxed type for GDate. (#301787, Tim-Philipp 
711         Müller)
712
713 2005-03-25  Matthias Clasen  <mclasen@redhat.com>
714
715         * gparam.c (param_spec_ht_lookup): Don't do the second
716         lookup if the name was already canonical.  (#171502, Morten
717         Welinder)
718
719 Tue Mar 22 14:15:23 2005  Manish Singh <yosh@gimp.org>
720
721         * gparam.c (g_param_spec_internal): cast away any constness on
722         assignment.
723
724 2005-03-21  Matthias Clasen  <mclasen@redhat.com>
725
726         * glib-mkenums.in: Avoid forcing extra newlines when using
727         template files.  (#171005)
728
729 2005-03-20  Matthias Clasen  <mclasen@redhat.com>
730
731         * gparam.c (g_param_spec_internal): Don't copy strings
732         which are marked as static. Don't allow non-canonical static 
733         names.
734
735         * gparam.h (GParamFlags): Add G_PARAM_STATIC_{NAME,NICK,BLURB}
736         flags.  (#160655, Ben Maurer)
737         
738 2005-03-18  Hans Breuer  <hans@breuer.org>
739
740         * makefile.msc.in : handle gobjectaliasdef.c
741
742 2005-03-14  Matthias Clasen  <mclasen@redhat.com>
743
744         Make PLT-reduction work with gcc4, and don't include
745         everything in gobjectalias.h:
746         
747         * gobject.symbols: Group symbols by header and source 
748         file.
749         * makegobjectalias.pl: Protect definitions by the same 
750         preprocessor symbols used to guard the headers. Move
751         the alias declarations to a separate file which is 
752         produced when calling makegalias.pl -def
753         * Makefile.am (gobjectaliasdef.c): Add a rule to 
754         build this file.
755         * *.c: Include gobjectalias.h after the other i
756         GLib headers, include gobjectaliasdef.c at the bottom.
757
758 2005-03-08  Matthias Clasen  <mclasen@redhat.com>
759
760         * gobject.symbols: Add the new attributes here, too.
761
762         * gobject.h: Use G_GNUC_NULL_TERMINATED where
763         appropriate.  (#164706, Marc Meissner)
764
765         * gvaluearray.h: Small cleanup (use G_BEGIN/END_DECLS).
766         (#168474, Fabricio Barros Cabral)
767
768 2005-02-24  Tor Lillqvist  <tml@novell.com>
769
770         * Makefile.am (EXTRA_DIST): Don't distribute
771         gobject.def. (#167496, J. Ali Harlow)
772
773 Sun Feb  6 22:00:46 2005  Manish Singh  <yosh@gimp.org>
774
775         * abicheck.sh: feed the contents of config.h and glibconfig.h
776         into the preprocessor, since glib.symbols could need #defines
777         from them.
778
779 2005-01-12  Matthias Clasen  <mclasen@redhat.com>
780
781         Cosmetic fixes (#163792, Benoît Carpentier):
782         
783         * gobject-query.c (main): Remove duplicate lines.
784
785         * gvaluetransform.c: Remove duplicate definitions of
786         value_transform_[u]int64_[u]int64.
787
788 2005-01-07  Matthias Clasen  <mclasen@redhat.com>
789
790         * === Released 2.6.1 ===
791
792 2004-12-27  Matthias Clasen  <mclasen@redhat.com>
793
794         * Makefile.am: Only check the ABI on linux, since
795         the shell script is not portable.  (#161734, Adrian Bunk)
796
797 2004-12-16  Matthias Clasen  <mclasen@redhat.com>
798
799         * === Released 2.6.0 ===
800         
801 2004-12-02  Matthias Clasen  <mclasen@redhat.com>
802
803         * === Released 2.5.7 ===
804         
805 2004-11-30  Tor Lillqvist  <tml@iki.fi>
806
807         * Makefile.am (gobject.def): gcc -E complains "linker input file
808         unused because linking not done" if told to preprocess the
809         gobject.symbols file. Use '-' and redirection to pass it as
810         standard input instead.
811
812 Sun Nov 28 13:21:12 2004  Manish Singh  <yosh@gimp.org>
813
814         * abicheck.sh: filter G_GNUC before PRIVATE so $ is still true.
815
816 Sun Nov 28 01:37:54 2004    <timj@birnet.org>
817
818         * gsignal.c: applied patch by sven@gimp.org (#153727) to reduce
819         signal connection complexity from O(n_handlers) to O(1).
820
821 Thu Nov 25 14:09:41 2004  Manish Singh  <yosh@gimp.org>
822
823         * abicheck.sh: filter out G_GNUC stuff when doing the compare.
824
825 2004-11-23  Matthias Clasen  <mclasen@redhat.com>
826
827         * gobject.symbols: Typo fix.
828
829         Fix a problem with the PLT reduction changes which caused the
830         internal aliases to lose all attributes.
831         
832         * gobject.symbols: Add attribute annotations.
833         * makegobjectalias.pl: Keep attribute annotations, but strip PRIVATE.
834         * Makefile.am (gobject.def): Strip attribute annotations, but keep 
835         PRIVATE.
836
837         * gtypemodule.h (g_type_module_get_type): Mark as const,
838         like all other get_type() functions.
839
840 2004-11-12  Matthias Clasen  <mclasen@redhat.com>
841
842         * === Released 2.5.6 ===
843         
844 Mon Nov  8 10:47:41 2004  Manish Singh  <yosh@gimp.org>
845
846         * gobject/gsourceclosure.c: removed wrap_g_io_channel_ref() hack,
847         since g_io_channel_ref() has a compatible API now.
848
849 2004-11-02  Matthias Clasen  <mclasen@redhat.com>
850
851         * === Released 2.5.5 ===
852
853 2004-10-27 Matthias Clasen  <mclasen@redhat.com>
854
855         * === Released 2.5.4 ===
856
857 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
858
859         * abicheck.sh: Strip Win32 specific defs file syntax.
860
861         * Makefile.am (gobjectalias.h): Fix srcdir != builddir 
862         builds.  (#156447, Thomas Fitzsimmons)
863
864 2004-10-26  Matthias Clasen  <mclasen@redhat.com>
865
866         * abicheck.sh: Don't include symbols which are just in the 
867         symbols list for .defs file compatibility.
868
869 2004-10-23  Matthias Clasen  <mclasen@redhat.com>
870
871         * gtype.h (GTypeInterfaceCheckFunc): Rename first parameter to 
872         check_data, since apparently the system headers on AIX leak a
873         macro named func_data.  (#155178, Andrea Campi)
874
875 Wed Oct  6 02:12:44 2004    <timj@birnet.org>
876
877         * gtype.c (g_type_instance_get_private): applied patch from Jean-Yves 
878         Lefort <jylefort@brutele.be> to not access the instance_real_class_bsa
879         pointer without holding the instance_real_class lock.
880
881 2004-10-04  Matthias Clasen  <mclasen@redhat.com>
882
883         * gsignal.c (g_signal_add_emission_hook): Improve the warning 
884         if G_SIGNAL_NO_HOOKS is set.  (#154299, Nickolay V. Shmyrev)
885
886 2004-09-22  Tor Lillqvist  <tml@iki.fi>
887
888         * Makefile.am (install-libtool-import-lib): [Win32] Add code to
889         remove the bug-compatibility entries (see #134813, and related
890         comments below) from the import library. The PRIVATE keyword in
891         the .def file is supposed to mean that, but it isn't implemented
892         yet by GNU ld.
893
894         * makegobjectalias.pl: In case the symbol is followed by some
895         stuff ("PRIVATE") that's intended for the .def file, use just the
896         actual symbol.
897
898         * gobject.symbols: For binary bug compatibility on Win32, add the
899         g_slist_remove_all and g_unichar_validate symbols inside #ifdef
900         INCLUDE_INTERNAL_SYMBOLS. (See #134813 and log entries from March
901         below.)
902
903 2004-09-18 Matthias Clasen  <mclasen@redhat.com>
904
905         * === Released 2.5.3 ===
906
907 Thu Sep 16 18:42:46 2004  Manish Singh  <yosh@gimp.org>
908
909         * abicheck.sh: don't hardcode lengths for cut, instead split on
910         the third field.
911
912 2004-09-16  Matthias Clasen  <mclasen@redhat.com>
913
914         Implement the same PLT reduction technique used in GTK+:
915
916         * Makefile.am: Generate gobjectalias.h from gobject.symbols.
917         (BUILT_SOURCES): Add gobjectalias.h.
918
919         * makegobjectalias.pl: Script to generate gobjectalias.h.
920
921         * *.c: Include gobjectalias.h
922
923 2004-09-16  Matthias Clasen  <mclasen@redhat.com>
924
925         Add ABI control using the same technique that is used in GTK+.
926         
927         * gobject.symbols: Master list of symbols.
928
929         * gobject.def: Removed. It is now generated from gobject.symbols.
930
931         * Makefile.am: Generate gobject.def from gobject.symbols.
932         (TESTS): Add abicheck.sh
933         (EXTRA_DIST): Add abicheck.sh
934         (export_symbols): Don't export _-prefixed symbols.
935
936         * gtype.h: 
937         * gtype.c: Move the declarations of the various _init() functions
938         to the header, and mark them as G_GNUC_INTERNAL.
939
940 2004-08-25 Matthias Clasen  <mclasen@redhat.com>
941
942         * === Released 2.5.2 ===
943
944 2004-08-01 Matthias Clasen  <mclasen@redhat.com>
945
946         * === Released 2.5.1 ===
947
948 2004-07-28  Matthias Clasen  <mclasen@redhat.com>
949
950         * gtype.c (g_type_instance_get_private): Catch cases of 
951         forgotten g_type_add_private().  (#148368, Tommi Komulainen) 
952
953 2004-07-21  Matthias Clasen  <mclasen@redhat.com>
954
955         * glib-genmarshal.c (put_marshal_value_getters): Use the 
956         correct fields for enums and flags.  (#145015, Tommi Komulainen) 
957
958 Sun Jul 18 18:03:08 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
959
960         * === Released 2.5.0 ===
961
962 2004-07-12  Matthias Clasen  <mclasen@redhat.com>
963
964         * gsignal.c (g_signal_handler_is_connected): Don't
965         choke on a zero handler_id.
966
967 Tue Jul  6 00:46:43 2004  Matthias Clasen  <maclas@gmx.de>
968
969         * gtypemodule.h: 
970         * gtypemodule.c: Fix the declarations of the new 
971         functions to return GType, not void. 
972         Also add missing includes.  (#145508, Morten Welinder)
973
974 Tue Jul  6 00:46:43 2004  Matthias Clasen  <maclas@gmx.de>
975
976         * gtypemodule.h: 
977         * gtypemodule.c (g_type_module_register_flags): 
978         * gtypemodule.c (g_type_module_register_enum): New 
979         functions to register enum and flags types from a 
980         GTypeModule.  (#145396, Sven Neumann)
981
982 Wed Jun 23 12:55:34 2004  Matthias Clasen  <maclas@gmx.de>
983
984         * gtype.h (G_DEFINE_TYPE_EXTENDED): Add an initializer for
985         the g_define_type_info.value_table.  (#144678, Mariano 
986         Suárez-Alvarez) 
987
988 Tue Jun 22 21:50:47 2004  Matthias Clasen  <maclas@gmx.de>
989
990         * gsignal.c: Fix a couple of typos.
991
992 Fri Jun 18 22:53:13 2004  Matthias Clasen  <maclas@gmx.de>
993
994         * gsourceclosure.h (__G_SOURCECLOSURE_H__): Actually 
995         define the guard after checking for it.  (#108038, 
996         Morten Welinder)
997
998 2004-04-30  Matthias Clasen  <mclasen@redhat.com>
999
1000         * === Released 2.4.1 ===
1001
1002 2004-04-22  Matthias Clasen  <mclasen@redhat.com>
1003
1004         * glib-mkenums.in: Actually convert escape chars in 
1005         --vprod.   (#139058, Christophe Saout)
1006
1007 2004-04-15  Matthias Clasen  <mclasen@redhat.com>
1008
1009         * gparamspecs.c (param_float_init): Correct the initial 
1010         minimal value to be -G_MAXFLOAT. The initial values were 
1011         inconsistant before, with the initial default being smaller 
1012         than the inital minimum.        
1013         (param_double_init): Correct the initial minimal value 
1014         to be -G_MAXDOUBLE.
1015
1016 Tue Mar  9 09:16:11 2004  Owen Taylor  <otaylor@redhat.com>
1017
1018         * === Released 2.4.0 ===
1019
1020 2004-03-10  Tor Lillqvist  <tml@iki.fi>
1021
1022         * gobject.def: Mark the two entries that shouldn't be in the
1023         import library (see below) as PRIVATE.
1024
1025 Tue Mar  9 09:16:11 2004  Owen Taylor  <otaylor@redhat.com>
1026
1027         * === Released 2.3.6 ===
1028
1029 2004-03-04  Tor Lillqvist  <tml@iki.fi>
1030
1031         * gobject.def: Another of the glib DLL's functions was erronously
1032         present in the stable branch's gobject.def: g_unichar_validate,
1033         and nobody noticed until too late. Thus there are applications
1034         deployed that expect it to be found in the gobject DLL, and to
1035         keep ABI compatibility, we must keep it there forever. Argh.
1036
1037 Mon Mar  1 16:49:51 2004  Owen Taylor  <otaylor@redhat.com>
1038
1039         * === Released 2.3.5 ===
1040
1041 2004-03-01  Tor Lillqvist  <tml@iki.fi>
1042
1043         * gobject.def: Add g_slist_remove_all back for ABI
1044         compatibility. That entry point actually is in the glib DLL, but
1045         it was at some time many years ago by mistake added to
1046         gobject.def. Thus there presumably are executables out there that
1047         expect it to be exported from the gobject DLL. We don't want to
1048         break those. (#134813, J. Ali Harlow)
1049
1050 Fri Feb 27 01:49:22 2004  Matthias Clasen  <maclas@gmx.de>
1051
1052         * glib-mkenums.in: Support parsing of intializers containing
1053         macros with arguments.  (#129717)
1054
1055 2003-02-28  Hans Breuer  <hans@breuer.org>
1056
1057         * gobject.def : added g_strv_get_type
1058
1059 Tue Feb 24 14:09:21 2004  Owen Taylor  <otaylor@redhat.com>
1060
1061         * === Released 2.3.3 ===
1062
1063 Fri Feb 20 02:44:54 2004  Tim Janik  <timj@gtk.org>
1064
1065         * gtype.h (G_DEFINE_TYPE_EXTENDED): added (GTypeFlags) cast needed by C++.
1066
1067 Tue Feb  3 21:24:01 2004  Tim Janik  <timj@gtk.org>
1068
1069         * gtype.h (_G_TYPE_CVH): provide a short-cut version for
1070         this macro in case value->g_type==checked_type for gcc, similar
1071         to instance and class check short-cuts. this speeds up code that
1072         makes frequent use of G_VALUE_HOLDS_*() (e.g. setters/getters).
1073
1074         * gtype.c (type_data_last_unref_Wm): don't call class-cache functions
1075         for the uncached case, this rendered g_type_class_unref_uncached()
1076         useless. pointed out by Stefan Westerfeld.
1077
1078 Sat Jan 24 18:20:13 2004  Tim Janik  <timj@gtk.org>
1079
1080         * gtype.h: prefixed the parent_class variable defined by G_DEFINE_TYPE()
1081         with type_name. removed type_parent_class argument
1082         from G_DEFINE_TYPE_EXTENDED().
1083
1084 2004-01-24  Tor Lillqvist  <tml@iki.fi>
1085
1086         * gobject.def: Add a missing entry.
1087
1088 Sun Jan 11 15:34:35 2004  Manish Singh  <yosh@gimp.org>
1089
1090         * gsourceclosure.c: wrap g_io_channel_ref in a function that returns
1091         the passed in GIOChannel, so we aren't abusing GBoxedCopyFunc
1092         semantics. Fixes bug #131076.
1093
1094 Sat Jan 10 23:55:42 2004  Matthias Clasen  <maclas@gmx.de>
1095
1096         * glib-mkenums.1: Document the lowercase_name trigraph option.
1097
1098 Sat Jan 10 02:43:20 2004  Tim Janik  <timj@gtk.org>
1099
1100         * gtype.h: made G_DEFINE_TYPE_INTERNAL() public by renaming it to
1101         G_DEFINE_TYPE_EXTENDED() and moving it into the appropriate section.
1102
1103 Fri Jan  9 23:41:00 2004  Matthias Clasen  <maclas@gmx.de>
1104
1105         * gboxed.h:
1106         * gboxed.c (g_strv_get_type): Add a boxed type for nul-terminated
1107         string arrays.  (#110528)
1108
1109 Fri Jan  9 15:34:15 2004  Tim Janik  <timj@gtk.org>
1110
1111         * gtype.h: added convenience macros G_IMPLEMENT_INTERFACE() and
1112         G_DEFINE_TYPE() plus variants.
1113
1114 2003-12-30  Murray Cumming  <murrayc@usa.net>
1115   
1116         * gobject/glib-mkenums.in: Added a lowercase_name option, to be used
1117         next to the enum declaration, where the flag option is already used,
1118         when it is not possible to guess where to put the underscores in the
1119         _get_type() function name, for instance for GNOMEVFSURIHide.
1120
1121 Fri Dec 26 01:34:01 2003  Matthias Clasen  <maclas@gmx.de>
1122
1123         * gtype.c (g_type_class_peek_parent): Don't acquire a read lock 
1124         here.  (#106433, Owen Taylor)
1125
1126 Wed Dec 17 23:29:17 2003  Matthias Clasen  <maclas@gmx.de>
1127
1128         * gvalue.c (g_value_peek_pointer): Use g_assert() instead of
1129         g_return_val_if_fail(), suggested by Sheldon Simms.
1130
1131 2003-12-13  Hans Breuer  <hans@breuer.org>
1132
1133         gobject.def : update externals
1134
1135 Sat Nov 29 14:57:20 2003  Tim Janik  <timj@gtk.org>
1136
1137         * gobject.c: fix g_object_set() within _init() implementations
1138         not working for construct-only properties.
1139         (g_object_init): make the object enter a construct_objects list.
1140         (g_object_newv): remove object from construct_objects after creation.
1141         (g_object_set_valist):
1142         (g_object_set_property): allow construct-only properties for
1143         objects which are in construct_objects.
1144
1145 Thu Nov 27 17:53:52 2003  Tim Janik  <timj@gtk.org>
1146
1147         * gtype.[hc]:
1148         (g_type_class_peek_static): variant of class_peek() which works for
1149         static types only.
1150
1151         * gobject.c:
1152         (g_object_do_class_init): make ::notify a run-action signal.
1153         (g_object_newv): use g_type_class_peek_static() by default to
1154         speed up common code path (trades two write-locks for one read-lock).
1155         (g_object_disconnect):
1156         (g_object_connect): allow signal specification words to be
1157         seperated by '-'.
1158         (g_object_set_valist):
1159         (g_object_new_valist): don't leak values.
1160         (g_object_get_property): check property for readability.
1161         (g_object_set_property): check property for writability and to
1162         not be construct-only.
1163         (g_object_set_valist): check property to not be construct-only.
1164
1165 Sat Oct 25 01:09:17 2003  Matthias Clasen  <maclas@gmx.de>
1166
1167         * gparam.h (struct _GParamSpecClass): Add /*< private >*/ 
1168         marker for documentation purposes.
1169
1170 Tue Oct 21 23:17:06 2003  Matthias Clasen  <maclas@gmx.de>
1171
1172         * genums.h (struct _GEnumClass): 
1173         * genums.h (struct _GFlagsClass): 
1174         * gtypemodule.h (struct _GTypeModuleClass):
1175         * gtypemodule.h (struct _GTypeModule): Add /*< public >*/ 
1176         and /*< private >*/ markers for documentation purposes.
1177
1178 Tue Oct 14 17:40:19 2003  Owen Taylor  <otaylor@redhat.com>
1179
1180         * gparamspecs.[ch]: Add a new GParamSpecOverride type
1181         that is a pointer to a different paramspec in a parent
1182         class or interface.
1183
1184         * gparam.[ch]: Add g_paramspec_get_redirect_target()
1185         which follows GParamSpecOverride to the real property.
1186         Make g_param_spec_pool_list() hand redirections, 
1187         properties on interfaces.
1188
1189         * gobject.[ch] gobjectnotifyqueue.c: Add
1190         g_object_interface_install_property,
1191         g_object_interface_find_property,
1192         g_object_interface_list_properties(). Redirect virtually all
1193         publically exposed GParamSpec's to the redirect target if
1194         any. (->constructor is the exception.)
1195         (#105894)
1196
1197 Mon Oct 20 22:06:12 2003  Matthias Clasen  <maclas@gmx.de>
1198
1199         * gobject.h (struct  _GObjectClass): Add /*< public >*/
1200         and /*< private >*/ markers for documentation purposes.
1201
1202 Sat Oct 18 01:24:14 2003  Matthias Clasen  <maclas@gmx.de>
1203
1204         * gtypeplugin.h (struct _GTypePluginClass): Add /*< public >*/
1205         and /*< private >*/ markers for documentation purposes.
1206
1207 Thu Oct  2 07:37:12 2003  Tim Janik  <timj@gtk.org>
1208
1209         * gtype.c: fix post class_init interface initialization logic
1210         for child types.
1211
1212 Thu Oct  2 01:16:50 2003  Owen Taylor  <otaylor@redhat.com>
1213
1214         * gtype.[ch]: Add g_type_add/remove_interface_check(),
1215         which allows inserting a post-interface-initialization
1216         check.
1217
1218         * testgobject.c: Fix a deprecated usage.
1219
1220 Mon Sep 29 10:51:01 2003  Owen Taylor  <otaylor@redhat.com>
1221
1222         * gtype.[ch]: Add g_type_default_interface_ref/peek/unref
1223         for accessing the default vtable of an interface.
1224
1225 Fri Sep 26 17:24:53 2003  Owen Taylor  <otaylor@redhat.com>
1226
1227         * gtype.c (g_type_instance_get_private): You can
1228         have instance_real_class_bsa be non-NULL, but still 
1229         the class not be in the bsa. (Found by Kris Rietveld)
1230
1231 2003-09-15  Matthias Clasen  <maclas@gmx.de>
1232
1233         * glib-genmarshal.c (complete_out_arg): Don't generate code 
1234         using deprecated APIs.  (#122292, Christian Persch)
1235
1236 Fri Sep 12 16:31:40 2003  Owen Taylor  <otaylor@redhat.com>
1237
1238         * gsignal.[ch]: Add g_signal_accumulator_true_handled(), to
1239         do TRUE-stops-emit signals. (#80487, Ron Steinke)
1240
1241         * Makefile.am: Move testoverride.c and testifaceinit.c to
1242         tests/gobject.
1243
1244 2003-09-12  Matthias Clasen  <maclas@gmx.de>
1245
1246         Make the g_value_set_x_take_ownership() functions "official"
1247         part of the API (#100948):
1248         
1249         * gvaluetypes.[hc]: Add g_value_take_string() (synonym to the
1250         now deprecated g_value_set_string_take_ownership()).  
1251
1252         * gparam.[hc]: Add g_value_take_param() (synonym to the
1253         now deprecated g_value_set_param_take_ownership()).  
1254
1255         * gobject.[hc]: Add g_value_take_object() (synonym to the
1256         now deprecated g_value_set_object_take_ownership()).  
1257
1258         * gboxed.[hc]: Add g_value_take_boxed() (synonym to the
1259         now deprecated g_value_set_boxed_take_ownership()).  
1260
1261 Tue Sep  2 19:37:21 2003  Tim Janik  <timj@gtk.org>
1262
1263         * gtype.[hc]: added support for a "default vtable" per interface,
1264         that interface vtables are initialized from.
1265         the default vtable is initialized and finalized through class_init,
1266         class_finalize and class_data from the interfaces GTypeInfo struct.
1267         (type_data_last_unref_Wm): unload child plugin before unreffing
1268         parent type.
1269
1270         testifaceinit.c: minor fixups. fixed up base_init() assertions, since
1271         with a default vtable, base_init() may be called multiple times.
1272         added default initializer to iface1.
1273
1274 Tue Sep  2 14:53:41 2003  Tim Janik  <timj@gtk.org>
1275
1276         * gobject-query.c (main): fix iterating over fundamental types.
1277
1278         * gtype.c: applied patch from owen which keeps internal
1279         class initialization state to maintain class and interface
1280         initialization happen in the order of:
1281         1. class' base_init
1282         2. interface' base_init
1283         =  interfaces added after here are immediately base_init-ialized
1284         3. class_init
1285         4. Interface_init
1286         =  interfaces added here are immediately Interface_init-ialized
1287
1288 Wed Aug 27 19:53:26 2003  Manish Singh  <yosh@gimp.org>
1289
1290         * gobject.c: removed stray change from previous commit.
1291
1292 Wed Aug 27 01:25:40 2003  Owen Taylor  <otaylor@redhat.com>
1293
1294         * Makefile.am testifaceinit.c: Add a detailed test case
1295         for interface initialization, testing the ability to
1296         add interfaces during class initialization and the ordering
1297         of interface base_init, class init, and interface_init.
1298         (Expected to fail at the moment.)
1299
1300 Mon Aug 25 14:51:46 2003  Manish Singh  <yosh@gimp.org>
1301
1302         * gtypemodule.c (g_type_module_register_type): fix typo in last
1303         commit, cast to GTypeValueTable * to get rid of const warning.
1304
1305 Mon Aug 25 14:16:48 2003  Owen Taylor  <otaylor@redhat.com>
1306  
1307         * gtypemodule.c (g_type_module_register_type): Clarify
1308         docs on the return. Fix a memory leak if a type with a
1309         value table is reloaded. (#112439, Daniel Yacob)
1310  
1311 Tue Aug 19 05:21:04 2003  Tim Janik  <timj@gtk.org>
1312
1313         * testgobject.c (main): check private instance data after
1314         initialization.
1315
1316         * gtype.c: for instances with private data, store the real class
1317         pointer in a bsearch array during class initialization.
1318         (g_type_instance_get_private): fetch the real class of
1319         an instance from the bsearch array if necessary.
1320
1321 Tue Aug 19 04:08:14 2003  Tim Janik  <timj@gtk.org>
1322
1323         * gvalue.c: adapt to new gbsearcharray.h code.
1324         (g_value_register_transform_func): turn transform function
1325         replacement into a valid operation.
1326
1327         * gsignal.c: adapt to new gbsearcharray.h code.
1328         
1329         * gboxed.c: adapt to new gbsearcharray.h code.
1330
1331 Tue Aug 19 01:31:28 2003  Tim Janik  <timj@gtk.org>
1332
1333         * gsignal.c: added optimizations to skip NOP signal emissions.
1334
1335 2003-08-08  Matthias Clasen  <maclas@gmx.de>
1336
1337         * gobject.c (object_set_property): Improve the wording of the warning for invalid 
1338         values.  (#117246, Mariano Suarez-Alvarez)
1339         
1340 Wed Aug  6 09:57:14 2003  Owen Taylor  <otaylor@redhat.com>
1341
1342         * testgobject.c (test_signal_accumulator): Add check
1343         for instance private usage within in instance_init.
1344         (Currently will fail.)
1345
1346 2003-07-20  Hans Breuer  <hans@breuer.org>
1347
1348         * gobject.def : updated externals
1349
1350 Tue Jul  8 22:29:31 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1351
1352         * gtype.c (type_class_init_Wm): Only access node->data->instance
1353         when the node is instantiable.
1354
1355 Tue Jul  8 14:55:27 2003  Owen Taylor  <otaylor@redhat.com>
1356
1357         * gtype.c (type_class_init_Wm): Initialize
1358         node->data->instance.private_size here rather than
1359         in type_data_make_W() since the class init for the parent
1360         class may have changed pnode->data->instance.private_size.
1361         (#116921, reported by Soeren Sandmann)
1362
1363 2003-06-18  Matthias Clasen  <maclas@gmx.de>
1364
1365         * Makefile.am (man_MANS): Removed, these are now installed from
1366         docs/reference/gobject.
1367
1368 Fri May 30 14:42:24 2003  Owen Taylor  <otaylor@redhat.com>
1369  
1370         * gobject.c (g_value_set_object): Order refs/unrefs
1371         so setting the same object back is safe. (#112861,
1372         Morten Welinder)
1373  
1374 2003-03-24  Sven Neumann  <sven@gimp.org>
1375
1376         * gtype.c (type_data_finalize_class_ifaces_Wm): removed leftover
1377         debugging message (bug #109093).
1378
1379 Thu Feb 27 17:33:19 2003  Owen Taylor  <otaylor@redhat.com>
1380
1381         * gtype.[ch] testgobject.c: Add support for instance-private data. 
1382         g_type_class_add_private(), g_type_instance_get_private(),
1383         G_TYPE_INSTANCE_GET_PRIVATE(). (#101959, patch partly by
1384         Mark McLoughlin, extensive feedback from Tim Janik.)
1385
1386 2003-03-06  Matthias Clasen  <maclas@gmx.de>
1387
1388         * gsignal.c (g_signal_handlers_block_matched): 
1389         (g_signal_handlers_unblock_matched): 
1390         (g_signal_handlers_disconnect_matched): Fix 0/FALSE confusion.
1391         (#107662, Morten Welinder)
1392
1393 Mon Feb 17 20:59:47 2003  Tim Janik  <timj@gtk.org>
1394
1395         * gvalue.c (g_value_register_transform_func): don't assert the types
1396         passed in to have value tables. this prevents dynamic types from
1397         registering transform functions.
1398
1399 Sun Feb  9 13:44:01 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1400
1401         * gboxed.c (boxed_proxy_value_init): remove lookup of unused
1402         BoxedNode.
1403
1404 2003-02-07  Matthias Clasen  <maclas@gmx.de>
1405
1406         * gtypemodule.c: 
1407         * gtype.c: 
1408         * gsourceclosure.c: 
1409         * gparamspecs.c: 
1410         * gparam.c: 
1411         * gobject.c: 
1412         * gsignal.c: Remove all docs from gobject at Tims
1413         request. Documentation is only for weenies anyway...    
1414
1415 2003-01-12  Tor Lillqvist  <tml@iki.fi>
1416
1417         * gobject.def: Add g_type_interface_prerequisites. Thanks to
1418         Kenichi SUTO.
1419
1420 2002-12-18  Matthias Clasen  <maclas@gmx.de>
1421
1422         * gobject.c: Add docs.
1423
1424 2002-12-18  Michael Natterer  <mitch@gimp.org>
1425
1426         * gobject/gtype.c (type_data_finalize_class_ifaces_Wm): applied
1427         patch I got from Tim Janik for testing which fixes bug #101521.
1428         (restart iterating the interface enties each time we finalized one
1429         because they might have been modified).
1430
1431 2002-12-17  Matthias Clasen  <maclas@gmx.de>
1432
1433         * gparam.c (g_param_spec_internal): Remove markup from doc
1434         comment, as GObject doesn't use --sgml-mode yet.
1435
1436 2002-12-15  Matthias Clasen  <maclas@gmx.de>
1437
1438         * gsignal.c (g_signal_new): Typo fix.
1439
1440         * gparamspecs.c:  
1441         * gparam.c (g_param_spec_internal): 
1442         * gobject.c (g_object_class_install_property): Add docs.
1443
1444 2002-12-13  Matthias Clasen  <maclas@gmx.de>
1445
1446         * glib-genmarshal.c, gobject-query.c: Use g_printf() instead of 
1447         system printf.  (#99319)
1448
1449 Thu Dec 12 15:00:10 2002  Manish Singh  <yosh@gimp.org>
1450
1451         * gvaluetransform.c: use G_G[U]INT64_FORMAT unconditionally,
1452         since we'll always have it now.
1453
1454 2002-12-07  Matthias Clasen  <maclas@gmx.de>
1455
1456         * gparam.c (canonalize_key): Rename to canonicalize_key. Adjust
1457         all callers.
1458
1459 2002-12-05  Matthias Clasen  <maclas@gmx.de>
1460
1461         * gsignal.c (g_signal_new): Explain allowed signal names in more
1462         detail.
1463
1464 2002-12-04  Matthias Clasen  <maclas@gmx.de>
1465
1466         * gsignal.h (g_signal_add_emission_hook): 
1467         * gtype.h (g_type_interface_get_plugin): Sync parameter names with
1468         docs and implementation.
1469
1470         * gtype.c (g_type_add_interface_dynamic): 
1471         (g_type_interface_get_plugin): 
1472         (g_type_interface_peek_parent): 
1473         (g_type_query): Add docs.
1474
1475 2002-12-03  Matthias Clasen  <maclas@gmx.de>
1476
1477         * gtype.c (g_type_get_qdata): 
1478         (g_type_set_qdata): 
1479         (g_type_interface_add_prerequisite): Add docs.
1480
1481 2002-12-02  Matthias Clasen  <maclas@gmx.de>
1482
1483         * gobject.c (g_signal_connect_object): Add docs.
1484
1485 2002-11-30  Matthias Clasen  <maclas@gmx.de>
1486
1487         * gsignal.c: More docs.
1488
1489 2002-11-28  Matthias Clasen  <maclas@gmx.de>
1490
1491         * gtype.c (g_type_interface_prerequisites): Document as 2.2 
1492         API addition.
1493
1494 Thu Nov 21 16:05:50 2002  Owen Taylor  <otaylor@redhat.com>
1495
1496         * gtype.c (g_type_check_instance_cast): Allow
1497         NULL to be cast to any type. (Frequently requested,
1498         most recently #99023, Lars Clausen.)
1499
1500 Mon Nov  4 14:42:36 2002  Owen Taylor  <otaylor@redhat.com>
1501  
1502         * gtype.c gsignal.c gvaluearray.c: Include config.h
1503         so DISABLE_MEMPOOLS actually has an effect.
1504         (#96437, Morten Welinder)
1505  
1506         * gsignal.c: Conditionalize definition of g_handler_ts
1507         on DISABLE_MEM_POOLS (#96437)
1508         
1509 2002-10-20  Matthias Clasen  <maclas@gmx.de>
1510
1511         * gtype.c (g_type_interface_prerequisites): Report only the most
1512         specific instantiatable prerequisite, filter out all supertypes of
1513         this one (the supertypes are added to the prerequisites array for
1514         technical reasons).
1515
1516 2002-10-16  Matthias Clasen  <maclas@gmx.de>
1517
1518         * glib-mkenums.in: Support for template files.
1519         
1520         * glib-mkenums.1: Document --template.
1521
1522 2002-10-15  Matthias Clasen  <maclas@gmx.de>
1523
1524         * gtype.c (g_type_interface_prerequisites): New function to obtain
1525         the prerequisites of an interface type.
1526
1527 Sat Oct 12 22:02:32 2002  Tim Janik  <timj@gtk.org>
1528
1529         * merged up from 2.0:
1530
1531         * testgobject.c: test creation of new fundamental types.
1532
1533         * gtype.c (g_type_fundamental_next), (type_node_fundamental_new_W):
1534         account for static_fundamental_next storing non-shifted fundamental
1535         IDs. this fixes g_type_fundamental_next() not returning a new usable
1536         fundamental ID.
1537
1538 Wed Sep 11 16:50:20 2002  Dom Lachowicz <cinamod@hotmail.com>
1539
1540         * gtype.h: Fix problems with excessive C++ warnings: "ISO C++ forbids nested groups within expressions"
1541         
1542 Fri Jul 26 15:46:36 2002  Owen Taylor  <otaylor@redhat.com>
1543
1544         * gvaluetransform.c: Fix problems with excess ';'
1545         by addition of strategic 'extern void glib_dummy_decl (void)'
1546         (#83272, David L. Cooper II)
1547
1548 Thu Jul 25 20:34:39 2002  Owen Taylor  <otaylor@redhat.com>
1549
1550         * gtype.c (g_type_interface_add_prerequisite): When
1551         adding ancestral prerequisites, add the grandparents,
1552         not the siblings. (Problem found by Jon Trowbridge, patch from 
1553         Dave Camp, #86879)
1554
1555 2002-07-05  Anders Carlsson  <andersca@gnu.org>
1556
1557         * gobject.c (g_object_base_class_finalize): Remove debugging
1558         message, approved by Tim Janik.
1559
1560 2002-06-11  Anders Carlsson  <andersca@gnu.org>
1561
1562         * gtypemodule.c: (g_type_module_complete_interface_info):
1563         * gtypeplugin.h:
1564         Fix argument order. Fixes #82806.
1565         
1566 Mon May 20 15:57:47 2002  Owen Taylor  <otaylor@redhat.com>
1567
1568         * gsignal.c: When printing errors, handle NULL
1569         returns from g_type_debug(). (#73559, Laszlo Peter)
1570
1571         * gtype.c (type_descriptive_name_I): De-inline,
1572         since it's only used for debugging.
1573
1574 Tue May  7 15:03:02 2002  Owen Taylor  <otaylor@redhat.com>
1575
1576         * glib-genmarshal.c: Fix include order for config.h (#71704,
1577         Morten Welinder)
1578
1579 2002-05-07  Michael Natterer  <mitch@gimp.org>
1580
1581         * Makefile.am: use the glib-genmarshal found at configure time
1582         if CROSS_COMPILING is set, use the one which was just built
1583         otherwise.
1584
1585 Mon May  6 16:06:23 2002  Owen Taylor  <otaylor@redhat.com>
1586
1587         [ merged from stable ]
1588
1589         * gobject.c: Remove PROPERTIES_CHANGED enumeration
1590         value that wasn't used any more. (#78833, 
1591         Matthias Clasen)
1592
1593         * gboxed.c (g_boxed_copy): Remove check on data[2]
1594         that no longer exists. (#80814, Daniel Elstner)
1595
1596 Tue Mar 26 15:21:47 2002  Owen Taylor  <otaylor@redhat.com>
1597
1598         * gsignal.h (g_signal_handlers_*_by_func): Add explicit
1599         cast of G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA to
1600         GSignalMatchType so that these macros work for C++.
1601         (#76454, Damien Sandras)
1602
1603 Mon Mar 25 17:51:05 2002  Owen Taylor  <otaylor@redhat.com>
1604
1605         * glib-mkenums.in (parse_entries): Fix various bugs and
1606         excessive stack usage that crept in the conversion from
1607         gtk-mkenums. (#74431)
1608
1609 Mon Mar 25 17:25:57 2002  Owen Taylor  <otaylor@redhat.com>
1610
1611         * gtype.c (g_type_free_instance): Wrap setting freed instance
1612         memory to 0xaa in #ifdef G_ENABLE_DEBUG
1613
1614 Thu Mar 21 01:28:14 2002  Tim Janik  <timj@gtk.org>
1615
1616         * gsignal.[hc]:
1617         * gobject.[hc]: fix extraneous include.
1618
1619 Tue Mar 19 18:57:12 2002  Tim Janik  <timj@gtk.org>
1620
1621         * gtype.c (check_add_interface_L): applied patch from Matthias Clasen
1622         <maclas@gmx.de> to check for prerequisite of interfaces, fixes #74427.
1623         fixed mutex recursion in his patch (we can't call g_type_is_a() while
1624         holding a read lock).
1625
1626         * gparam.c (canonalize_key): cleanup.
1627
1628 2002-03-13  Alexander Larsson  <alla@lysator.liu.se>
1629
1630         * gparam.c (canonalize_key):
1631         Function to canonicalize parameter names. Faster than
1632         using g_strcanon().
1633         (g_param_spec_internal, param_spec_ht_lookup):
1634         Use canonalize_key.
1635
1636 2002-03-13  Erwann Chenede  <erwann.chenede@sun.com>
1637         * gobject/gclosure.c  
1638         * gobject/gobject.c 
1639         * gobject/gsignal.c: fixed cast problems with function pointer
1640         to avoid warnings (with forte compiler) (#73898)
1641         
1642 2002-03-05  Sven Neumann  <sven@gimp.org>
1643
1644         * gvaluetransform.c (g_value_transforms_init): don't try to 
1645         register undeclared value transform functions if G_GINT64_FORMAT
1646         or G_GUINT64_FORMAT are undefined (#73586).
1647
1648 2002-03-03  Tor Lillqvist  <tml@iki.fi>
1649
1650         * makefile.msc.in
1651         * makefile.mingw.in: Rename testgruntime to testgobject here, too.
1652
1653 Sun Mar  3 04:11:58 2002  Tim Janik  <timj@gtk.org>
1654
1655         * gobject.c: placed a comment about not changing CArray until we have
1656         g_object_list_watched_closures().
1657
1658         * gparam.h (struct _GParamSpecClass): added padding.
1659
1660         * gobjectnotifyqueue.c (struct _GObjectNotifyQueue): abuse
1661         g_list_alloc() to allocate GObjectNotifyQueue to et rid
1662         of locking issues.
1663
1664 Tue Feb 26 10:51:00 2002  Owen Taylor  <otaylor@redhat.com>
1665
1666         * Makefile.am (testgobject_LDADD): Rename testgruntime
1667         to testgobject.
1668
1669 Sun Feb 24 22:08:29 2002  Owen Taylor  <otaylor@redhat.com>
1670
1671         * gtypemodule.[ch] (g_type_module_add_interface): Make
1672         GInterfaceInfo paramter const to correspond to the
1673         conventions for the g_type_add_interface() functions.
1674         (#72461, Miroslaw Dobrzanski-Neumann)
1675
1676 Sat Feb 23 13:28:56 2002  Owen Taylor  <otaylor@redhat.com>
1677
1678         * gtypeplugin.h (struct _GTypePluginClass): Add some
1679         padding to the class.
1680
1681         * gclosure.h (struct _GClosure): Fix typo in comment.
1682
1683 2002-02-20  Tor Lillqvist  <tml@iki.fi>
1684
1685         * gobject.def: Add g_value_set_object_take_ownership and
1686         g_value_set_param_take_ownership.
1687
1688 Wed Feb 20 22:55:15 2002  Owen Taylor  <otaylor@redhat.com>
1689
1690         * gobject.c: Fix implicit conversions between void * and 
1691         function pointer (Miroslaw Dobrzanski-Neumann, #71963)
1692
1693 Sun Feb 16 22:08:48 2002  Tim Janik  <timj@gtk.org>
1694
1695         * gobject.[hc]:
1696         * gparam.[hc]: provide marshaller specific value_set_*_take_ownership()
1697         variants.
1698
1699         * gvalue.h: shrink GValue's data contents to 2 unions.
1700
1701         * glib-genmarshal.c: fix release and realeas_check hackage by always
1702         using _take_ownership() variants. directly access value contents if
1703         G_ENABLE_DEBUG is not defined.
1704
1705         * gobject.h: add padding pointers to the class struct.
1706
1707 Wed Feb 13 17:22:37 2002  Tim Janik  <timj@gtk.org>
1708
1709         * gtype.c (g_type_value_table_peek): fixed a check for node not being NULL.
1710
1711 Wed Feb 13 06:53:50 2002  Tim Janik  <timj@gtk.org>
1712
1713         * gparam.c: remove extraneous redefinition of G_PARAM_SPEC_CLASS().
1714
1715 Wed Feb 13 06:29:51 2002  Tim Janik  <timj@gtk.org>
1716
1717         * gvaluetransform.c: cosmetic cleanups, fixed [u]int64->string
1718         conversions.
1719
1720         * ChangeLog: added entry from owen which went into the wrong
1721         file.
1722
1723 Fri Feb  8 23:52:27 2002  Owen Taylor  <otaylor@redhat.com>
1724
1725         * gobject/gvaluetransform.c: Register transformations for
1726         gint64, guint64. (#70780, patch from Andy Wingo)
1727
1728 2002-02-10  Hans Breuer  <hans@breuer.org>
1729
1730         * gvaluetransform.c : msvc 5.0 can't cast from uint64 to
1731         double. Disable respective transform_func than.
1732
1733         * makefile.msc.in : build test programs
1734
1735 Thu Jan 24 07:39:56 2002  Tim Janik  <timj@gtk.org>
1736
1737         * gobject.c (g_signal_connect_object): return gulong instead
1738         of guint.
1739
1740 Fri Jan 11 12:26:36 2002  Tim Janik  <timj@gtk.org>
1741
1742         * gparamspecs.c: fixed param_value_array_values_cmp(),
1743         param_value_array_validate() and
1744         param_value_array_set_default() to deal with NULL value
1745         arrays.
1746
1747 Wed Jan  9 05:23:27 2002  Tim Janik  <timj@gtk.org>
1748
1749         * gobject.h (G_OBJECT_WARN_INVALID_PROPERTY_ID): cosmetic fix.
1750
1751 2002-01-05  Hans Breuer  <hans@breuer.org>
1752
1753         * makefile.msc.in : use -FImsvc_recommended_pragmas.h
1754
1755 Fri Jan  4 04:36:46 2002  Tim Janik  <timj@gtk.org>
1756
1757         * gtype.h (G_TYPE_FLAG_RESERVED_ID_BIT): turn this into a GType,
1758         so negating it works on 64bit platforms.
1759
1760 2001-12-21  Tor Lillqvist  <tml@iki.fi>
1761
1762         * gobject.def: Add g_signal_get_invocation_hint.
1763
1764 Tue Dec 18 21:39:57 2001  Tim Janik  <timj@gtk.org>
1765
1766         * testoverride.c: added some assertions to test
1767         g_signal_get_invocation_hint().
1768
1769         * gsignal.[hc]: remove signal_id argument from
1770         g_signal_chain_from_overridden(), the parameters are assumed to match
1771         the innermost signal currently in emission for this instance.
1772         added g_signal_get_invocation_hint() to figure the invocation hint
1773         of the innermost signal emission of an instance.
1774
1775         * gsignal.c (g_signal_list_ids): fix G_BSEARCH_ARRAY_NODES() to
1776         access a bsearch array and not a pointer to it (discovered by
1777         Sven Neumann).
1778
1779 2001-12-17  Anders Carlsson  <andersca@gnu.org>
1780
1781         * gtype.h (G_TYPE_FLAG_RESERVED_ID_BIT): Set the reserved bit
1782         to (1 << 0) instead of (1 << 30). 
1783
1784 2001-12-14  James Henstridge  <james@daa.com.au>
1785
1786         * Makefile.am: add rules to build it.
1787
1788         * testoverride.c: test program for closure override/chaining.
1789
1790 Thu Dec 13 08:03:17 2001  Tim Janik  <timj@gtk.org>
1791
1792         * gsignal.c: implemented closure chaining.
1793
1794 2001-12-08  Christopher Blizzard  <blizzard@redhat.com>
1795
1796         * gsignal.h (g_signal_connect): Explicitly add a cast to the last
1797         argument so that the macro will work from C++.
1798
1799 2001-12-06  Tor Lillqvist  <tml@iki.fi>
1800
1801         * makefile.mingw.in (gobject_OBJECTS): Add gsourceclosure.o.
1802
1803 Mon Nov 26 09:55:12 2001  Tim Janik  <timj@gtk.org>
1804
1805         * gtype.h: typedef GType to gulong instead of gsize, if possible.
1806
1807         * gtype.c: fixups for GType being sizeof(long) wide (changed
1808         UINT casts).
1809         * gsignal.c:
1810         * gclosure.c:
1811         * gparam.c: likewise.
1812
1813 Sun Nov 25 22:33:32 2001  Tim Janik  <timj@gtk.org>
1814
1815         * gtype.h: removed enum GTypeFundamentals. use macros
1816         to provide the constant fundamental type IDs, so they
1817         all return numbers of type GType, and not int.
1818         sizeof(GTypeFundamentals) < sizeof(GType) problem reported
1819         and fix sugegsted by Havoc.
1820
1821 2001-11-23  Hans Breuer  <hans@breuer.org>
1822
1823         * gobject.def : updated externals
1824
1825 Mon Nov 19 14:35:56 2001  Owen Taylor  <otaylor@redhat.com>
1826  
1827         * *.h: Improve the detection of invalid includes by moving
1828         the test outside the duplicate include guards.
1829  
1830         * gsourceclosure.c (g_source_set_closure): Doc fix.
1831
1832 Thu Nov 22 03:30:57 2001  Tim Janik  <timj@gtk.org>
1833
1834         * gvalue.h (G_TYPE_IS_VALUE): use g_type_check_is_value_type()
1835         instead of g_type_value_table_peek().
1836
1837         * gtype.[hc] (type_check_is_value_type_U): speed up check
1838         LOCK-less by caching lookups in node->mutatable_has_value_table.
1839
1840         * gtype.[hc]: removed locks where possible. partly based on
1841         patches from owen and alex.
1842
1843 Thu Nov 22 00:26:26 2001  Tim Janik  <timj@gtk.org>
1844
1845         * gtype.[hc]: provide G_TYPE_FUNDAMENTAL_SHIFT and
1846         g_type_fundamental_next() to return next usable fundamental
1847         type. use TypeNode pointers as type IDs.
1848         
1849 2001-11-22  Tor Lillqvist  <tml@iki.fi>
1850
1851         * makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in Makefile.am.
1852
1853         * gparamspecs.h (GOBJECT_VAR): Can't use GLIB_VAR here, as that
1854         makes sense only when building libglib. GOBJECT_VAR is similar for
1855         libgobject.
1856
1857         * gobject.def: Add g_param_spec_types, remove
1858         g_type_fundamental_branch_last.
1859
1860 Wed Nov 21 17:23:33 2001  Tim Janik  <timj@gtk.org>
1861
1862         * gparamspecs.[hc]: put newly created param spec types into a
1863         global array.
1864
1865         * gboxed.[hc]: moved boxed types with _get_type() function here,
1866         for: G_TYPE_CLOSURE, G_TYPE_VALUE, G_TYPE_VALUE_ARRAY,
1867         G_TYPE_GSTRING.
1868
1869         * gtype.h: removed fundamental branch APIs and derived enum
1870         values. define GType as gsize.
1871
1872 2001-11-19  jacob berkman  <jacob@ximian.com>
1873
1874         * gobjectnotifyqueue.c: include glib-object.h rather than
1875         gobject/gobject.h
1876
1877 2001-11-16  Mark McLoughlin  <mark@skynet.ie>
1878
1879         * glib-mkenums.in: allow the enums name to not be on the same
1880         line as the trailing '}'. (#64714)
1881
1882 2001-11-18  Hans Breuer  <hans@breuer.org>
1883
1884         * makefile.msc.in : remove g_log_domain_gruntime usage
1885
1886 Sat Nov 17 18:14:40 2001  Owen Taylor  <otaylor@redhat.com>
1887
1888         * glib-genmarshal.c: Exit with non-zero exit status if
1889         any errors were encountered.
1890
1891         * glib-genmarshal.c: Instead of generating gobject/gmarshal.h
1892         #include only for the header, generate glib-object.h 
1893         #include for both the header and body. (#63834)
1894
1895         * glib-genmarshal.c: Generate include guards around the 
1896         content unless --nostdinc is specified.
1897
1898 2001-11-17  Tor Lillqvist  <tml@iki.fi>
1899
1900         * gobject.def: Add g_pointer_type_register_static.
1901
1902 2001-11-15  Tor Lillqvist  <tml@iki.fi>
1903
1904         * gobject.def: Reflect recent changes.
1905
1906 Tue Nov 13 23:18:10 2001  Tim Janik  <timj@gtk.org>
1907
1908         * gsignal.[hc]: add API for chaining:
1909         g_signal_chain_from_overridden() and g_signal_override_class_closure(),
1910         implementation yet to come.
1911
1912         * gtype.[hc], Makefile.am: provide G_LOG_DOMAIN as compile flag.
1913         
1914         * gparam.[hc]: s/g_param_get/g_param_spec_get/ for get_nick,
1915         get_name and get_blurb, to be consistent with the rest of the
1916         g_param_spec_*() functions.
1917         
1918         * gparamspecs.[hc]: got rid of bogus GClosure paramspec.
1919         G_TYPE_CLOSURE is a boxed type already.
1920         
1921 Tue Nov 13 22:16:41 2001  Tim Janik  <timj@gtk.org>
1922
1923         * gtype.[hc]: API cleanups.
1924         remove g_type_check_flags(), provide g_type_test_flags() as
1925         a *private* function.
1926         s/g_type_check_is_a/g_type_check_class_is_a/, private function.
1927         s/g_type_instance_is_a/g_type_check_instance_is_a/, also private.
1928
1929 Tue Nov 13 20:02:47 2001  Tim Janik  <timj@gtk.org>
1930
1931         * gparam.h: fix standard type macros.
1932
1933 Wed Nov  7 00:56:00 2001  Tim Janik  <timj@gtk.org>
1934
1935         * gclosure.h: provide G_CLOSURE_N_NOTIFIERS() for people that need
1936         to walk the notifier list (puhh, black magic, stay-away-warning ;).
1937
1938 Mon Nov  5 18:59:08 2001  Tim Janik  <timj@gtk.org>
1939
1940         * gobject.h: 
1941         * gsignal.h: we need signal.h for G_BREAKPOINT().
1942
1943 Sun Nov  4 14:01:23 2001  Owen Taylor  <otaylor@redhat.com>
1944
1945         * gvaluetypes.[ch]: Add a function g_pointer_type_register_static()
1946         to register a type derived from G_TYPE_POINTER.
1947
1948 2001-11-03  Hans Breuer  <hans@breuer.org>
1949
1950         * makefile.msc.in : gobject-query needs gmarshal.[hc,stings]
1951         so build it after them. Add gsourceclosure.obj. 
1952
1953         * gobject.def : removed duplicates, added mising
1954
1955 Mon Oct 29 11:05:15 2001  Owen Taylor  <otaylor@redhat.com>
1956
1957         * glib-mkenums.in: Generate glib-mkenums from glib-mkenums.in, 
1958         substituting in path to perl.  (#63093, Dan Winship)
1959
1960         * Makefile.am (bin_SCRIPTS): Remove hack to copy glib-mkenums
1961         from srcdir.
1962
1963 2001-10-26  Tor Lillqvist  <tml@iki.fi>
1964
1965         * makefile.mingw.in: When running glib-genmarshal, set PATH to
1966         include ../glib.
1967
1968 2001-10-23  Tor Lillqvist  <tml@iki.fi>
1969
1970         * Makefile.am: (Win32): If we have built the MSVC import library,
1971         install it. Install the gcc import library. Also support
1972         uninstall.
1973
1974 2001-10-13  Matthias Clasen  <matthiasc@poet.de>
1975
1976         * glib-genmarshal.1, glib-mkenums.1: Typo fixes.
1977
1978 Fri Oct 12 18:40:18 2001  Tim Janik  <timj@gtk.org>
1979
1980         * cosmetic fixups.
1981
1982 Wed Oct 10 17:25:22 2001  Joshua N Pritikin  <vishnu@pobox.com>
1983
1984         * glib-genmarshal.c gparamspecs.[ch] gtype.[ch] gvalue.h
1985         gvaluecollector.h gvaluetypes.[ch]: Fill in missing support for
1986         gint64 & guint64 (#59254).
1987         
1988         * Unconditionalize same (compile with or without G_HAVE_INT64).
1989
1990 Wed Oct 10 15:38:58 2001  Joshua N Pritikin  <vishnu@pobox.com>
1991
1992         * gparamspecs.h (G_IS_PARAM_SPEC_FLAGS): Fix order of
1993         *_PARAM_SPEC_ULONG defines.
1994
1995 Thu Oct  4 01:10:52 2001  Owen Taylor  <otaylor@redhat.com>
1996
1997         * gparamspecs.h: Add missing G_HAVE_GINT64 conditionalization.
1998
1999 Wed Oct  3 16:02:24 2001  Owen Taylor  <otaylor@redhat.com>
2000
2001         * glib-genmarshal.c gparamspecs.[ch] gvalue.h 
2002         gobject/gvaluetypes.[ch]: Add support for G_TYPE_INT64
2003         and storing it in GValue (Patch from Mathieu Lacage, #59254.)
2004
2005 2001-10-03  jacob berkman  <jacob@ximian.com>
2006
2007         * gtype.c (type_iface_retrieve_holder_info_Wm): 
2008         (type_iface_vtable_init_Wm): 
2009         (type_iface_vtable_finalize_Wm): 
2010         (g_type_class_ref): 
2011
2012         * gobject.c (g_object_get_property): s/retrive/retrieve/
2013
2014 2001-09-25  Tor Lillqvist  <tml@iki.fi>
2015
2016         * Makefile.am: Use new macros for .def file, and check for
2017         MS_LIB_AVAILABLE, new rule to build MS import library.
2018
2019         * makefile.msc.in: Use same DLL and import library names as
2020         libtool.
2021         
2022 2001-09-21  Hans Breuer  <hans@breuer.org>
2023
2024         * gobject.def : updated externals
2025
2026 2001-09-19  Tor Lillqvist  <tml@iki.fi>
2027
2028         * gobject.rc.in: Correct InternalName and OriginalFilename to
2029         match what we actually produce.
2030
2031 Tue Sep 18 23:09:02 2001  Tim Janik  <timj@gtk.org>
2032
2033         * gparam.[hc]: rename *nick and *blurb fields to catch
2034         direct accesses in third party code.
2035         provide g_param_get_nick(), g_param_get_blurb() and
2036         g_param_get_name() accessors.
2037
2038 Mon Sep 10 20:31:37 2001  Tim Janik  <timj@gtk.org>
2039
2040         * gobject.[hc]: removed extraneous GObject* returns from a
2041         couple functions that are very unlikely to be used in nested.
2042         changed gpointer->GObject* for a couple return values/arguments.
2043         this fixes #50206.
2044
2045 Mon Sep 10 19:27:47 2001  Tim Janik  <timj@gtk.org>
2046
2047         * gtype.[hc]:
2048         g_type_add_interface*(): implement the ability to add an interface to
2049         a type whose parents already conform to this interface.
2050         such "overriding" interfaces, when initialized, are not just initialized
2051         with 0, but with a copy of the interface they override.
2052         g_type_interface_peek_parent(): new function, return the interface
2053         that this interface "overrides", if any.
2054
2055         * testgruntime.c: test new interface stuff.
2056
2057 2001-09-10  Alex Larsson  <alexl@redhat.com>
2058
2059         * gobject/gboxed.[ch]:
2060         * gobject/gsourceclosure.c:
2061         Removed is_refcounted and GBoxedInitFunc from
2062         g_boxed_type_register_static().
2063
2064 Sat Sep  8 14:13:57 2001  Owen Taylor  <otaylor@redhat.com>
2065
2066         * gobject/Makefile.am: Move gbsearcharray.[ch] to glib
2067         as a private ininstalled header.
2068
2069 Tue Sep  4 22:24:48 2001  Matthias Clasen  <matthiasc@poet.de>
2070
2071         * gobject.c (g_object_base_class_finalize): typo fix.
2072
2073 Tue Sep  4 01:49:18 2001  Tim Janik  <timj@gtk.org>
2074
2075         * gsourceclosure.c: make closure_callback_funcs static,
2076         added some g_return_if_fail() statements.
2077
2078 Mon Aug 27 14:55:27 2001  Owen Taylor  <otaylor@redhat.com>
2079
2080         * gsourceclosure.[ch] (g_source_set_closure): Implement.
2081
2082         * gsourceclosure.[ch]: Add GType's for GIOChannel, GIOCondition.
2083
2084 2001-08-17  James Henstridge  <james@daa.com.au>
2085
2086         * gobject.c (WeakRefStack): add an object member to the structure.
2087         (weak_refs_notify): pass wstack->object as extra argument to
2088         notify functions.
2089         (g_object_weak_ref): set wstack->object when initialising
2090         WeakRefStack.
2091
2092         * gobject.h (GWeakNotify): add second argument to prototype which
2093         gives the pointer to where the object that is being disposed of
2094         was.
2095
2096 Wed Jul 18 19:42:31 2001  Tim Janik  <timj@gtk.org>
2097
2098         * gtype.h: if __GNUC__ is defined, inline a test for an exact type
2099         match for instances and classes in G_TYPE_CHECK_INSTANCE_TYPE() and
2100         G_TYPE_CHECK_CLASS_TYPE() before calling g_type_instance_is_a().
2101
2102 Sun Aug 12 02:07:10 2001  Tim Janik  <timj@gtk.org>
2103
2104         * gvaluearray.[hc]: fix preallocation logic, support DISABLE_MEM_POOLS
2105         properly, group value allocations.
2106         (g_value_array_new): fix semantic of n_prealloced argument, so it's
2107         really just about preallocation space.
2108
2109 2001-07-23  Padraig O'Briain <Padraig.Obriain@Sun.COM>
2110         
2111         * gobject/gobjectnotifyqueue.c: fix unconditional check of
2112         first GParamSpec in g_object_notify_queue_thaw(); to prevent
2113         property notification being lost.
2114
2115 2001-08-06  Sven Neumann  <sven@gimp.org>
2116
2117         * gobject.[ch]: 
2118         added new functions g_object_[add|remove]_weak_pointer().
2119
2120 2001-08-01  Sven Neumann  <sven@gimp.org>
2121
2122         * gsignal.h: added convenience macro g_signal_connect_after().
2123
2124 2001-07-29  Hans Breuer  <hans@breuer.org>
2125
2126         * gobject.def : updated externals
2127
2128 2001-07-20  Hans Breuer  <hans@breuer.org>
2129
2130         * gobject.def : updated externals
2131
2132         * makefile.msc.in : reflect glib move
2133
2134 Tue Jul 10 18:50:16 2001  Tim Janik  <timj@gtk.org>
2135
2136         * gsignal.h (struct _GSignalQuery): fix misplaced comment.
2137
2138 Mon Jul  2 07:17:47 2001  Tim Janik  <timj@gtk.org>
2139
2140         * gobject.c (g_object_weak_ref): 
2141         (g_object_watch_closure): congrats tim, introducing of-by-one
2142         errors like on my very first day of C programming.
2143
2144 Sat Jun 30 11:07:00 2001  Tim Janik  <timj@gtk.org>
2145
2146         * gobject.[hc]: provide weak_ref/weak_unref functions,
2147         invoked from ->dispose. renamed ->shutdown() to ->dispose(),
2148         provide "public" API entry here: g_object_run_dispose(), this
2149         fucntion should _only_ be called from object system implementations
2150         (e.g. gtkobject.c) if at all.
2151
2152         * gtypemodule.c (g_type_module_dispose): s/shutdown/dispose/
2153
2154         * gsignal.h: removed compat aliases.
2155
2156         * gobject.c (g_object_connect): support data objects.
2157         
2158 Sat Jun 30 13:17:12 2001  Owen Taylor  <otaylor@redhat.com>
2159
2160         * testgruntime.c (test_object_class_init)
2161           gobject.c (g_object_do_class_init): 
2162           g_signal_newc() => g_signal_new().
2163
2164 Thu Jun 28 22:49:40 2001  Owen Taylor  <otaylor@redhat.com>
2165
2166         * gtype.[ch] gobject-query.c testgruntime.c: Remove
2167         debug flag argument to g_type_init() and add
2168         g_type_init_with_debug_flags().
2169
2170 Thu Jun 28 16:42:49 2001  Tim Janik  <timj@gtk.org>
2171
2172         * gsignal.c (g_signal_lookup): 
2173         (g_signal_list_ids): give elaborate warnings about invalid types,
2174         non-instantiatable types and unloaded types that we can't operate on.
2175
2176         * gparam.[hc]: g_param_spec_pool_belongings() ->
2177         g_param_spec_pool_list_owned().
2178
2179         * gsignal.[hc]: renamed:
2180         g_signal_newc -> g_signal_new
2181         g_signal_disconnect_by_func -> g_signal_handlers_disconnect_by_func
2182         g_signal_block_by_func -> g_signal_handlers_block_by_func
2183         g_signal_unblock_by_func -> g_signal_handlers_unblock_by_func
2184         added GConnectType to simplify (..gboolean swapped, gboolean after)
2185         args.
2186
2187         * gobject.[hc]: changed prototypes accordingly.
2188
2189 2001-06-22  Hans Breuer  <hans@breuer.org>
2190
2191         * gobject.def : updated externals
2192
2193         * gobjectnotifyqueue.c : include <string.h> for memset ()
2194
2195 Thu Jun 21 02:43:10 2001  Tim Janik  <timj@gtk.org>
2196
2197         * gparamspecs.h: s/long/int/ for default_value in enum and flags
2198         pspecs.
2199
2200 Wed Jun 20 03:59:42 2001  Tim Janik  <timj@gtk.org>
2201
2202         * gtype.[hc]: added debugging variants g_type_name_from_class(),
2203         g_type_name_from_instance().
2204
2205 Mon Jun 11 17:07:06 2001  Tim Janik  <timj@gtk.org>
2206
2207         * gboxed.[hc]: remove left-over usages of an anonymous GBoxed typedef.
2208
2209         * gobjectnotifyqueue.c: moved property notify queue implementation
2210         bits into this function.
2211
2212         * gparam.[hc]: added g_param_spec_pool_belongings(), completed
2213         g_param_spec_pool_list(). added GParameter for _setv() functions.
2214
2215         * gobject.[hc]: use gobjectnotifyqueue.h implementation now.
2216         got rid of properties_changed signal.
2217         new functions g_object_newv(), g_object_class_list_properties().
2218         removed "properties_changed" signal.
2219
2220         * gtype.[hc]: added g_type_depth() to figure number of parent
2221         types + 1 for a type.
2222
2223         * gsignal.h: add g_signal_connect() (as per owen's request) and
2224         g_signal_connect_swapped().
2225
2226 2001-06-13  Havoc Pennington  <hp@redhat.com>
2227
2228         * Makefile.am (progs_LDADD): link to ./libgobject-1.3.la
2229         since an installed libgobject was somehow being found; think 
2230         it's a libtool bug, but this workaround should do for now.
2231
2232 2001-06-12  Havoc Pennington  <hp@redhat.com>
2233
2234         * Makefile.am (glib-mkenums): don't put $(srcdir)/glib-mkenums in
2235         bin_SCRIPTS, that breaks make install. Instead put 'glib-mkenums'
2236         in bin_SCRIPTS and cp it into builddir
2237
2238 Thu May 31 17:56:47 2001  Owen Taylor  <otaylor@redhat.com>
2239
2240         * gobject-query.c: Fix mispelling in help output.
2241         (#53952, Skip Montanaro)
2242
2243 2001-05-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2244
2245         * Makefile.am (EXTRA_DIST): Really distribute glib-mkenums, now
2246         that bin_SCRIPTS doesn't seem to care about doing so anymore.
2247
2248 Mon May 28 06:51:24 2001  Tim Janik  <timj@gtk.org>
2249
2250         * gsignal.c (signal_emit_unlocked_R): fixed bad faux-pass, forgot
2251         to release signal lock when restarting emissions.
2252
2253 Sun May 27 04:52:28 2001  Tim Janik  <timj@gtk.org>
2254
2255         * gsignal.[hc] (g_signal_stop_emission_by_name): added variant
2256         to stop signal emissions through a detailed_signal string.
2257
2258         * gsignal.c (signal_emit_R) (g_signal_emit_valist): account for
2259         the fact that g_value_* functions may cause signal emissons by
2260         unlocking the global signal system lock around g_value_* functions.
2261         (signal_emit_unlocked_R): renamed this from signal_emit_R() to reflect
2262         that this functions acquires the lock on its own now.
2263
2264 2001-05-24  Hans Breuer  <hans@breuer.org>
2265
2266         * makefile.msc.in : changed depndencies to build glib-genmarshal
2267         first and statically linked with glib, which makes it independent
2268         from the installed glib version. Added new object files to build.
2269
2270         * gobject.def : updated
2271
2272 Thu May 24 08:52:02 2001  Owen Taylor  <otaylor@redhat.com>
2273
2274         * gobject.[ch] (g_value_set_object): gpointer, not
2275         gpointer *.
2276
2277 2001-05-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2278
2279         * Makefile.am (bin_SCRIPTS): made 'make distcheck' happy.
2280
2281         * gobject.def: Removed g_param_spec_stringc.
2282
2283 Tue May 22 02:46:13 2001  Tim Janik  <timj@gtk.org>
2284
2285         * gobject.c (g_value_set_object): make g_value_set_object()
2286         take a gpointer v_object so people don't need to G_OBJECT()
2287         cast NULL pointers (C code convenience).
2288
2289 Mon May 14 01:49:01 2001  Tim Janik  <timj@gtk.org>
2290
2291         * gsignal.[hc] (g_signal_handler_is_connected): new function
2292         to check whether a handler is still connected to an instance
2293         (by handler id).
2294
2295 Thu May 10 14:00:48 2001  Tim Janik  <timj@gtk.org>
2296
2297         * gparamspecs.[hc]: removed g_param_spec_stringc() in lack of
2298         evidence of public need.
2299
2300         * gsignal.h: added g_signal_disconnect_by_func(),
2301         g_signal_block_by_func() and g_signal_unblock_by_func() convenience
2302         macros as per owen's request.
2303
2304         * gtype.c (SIZEOF_FUNDAMENTAL_INFO): align sizeof (GTypeFundamentalInfo)
2305         to size of longs and pointers.
2306
2307 2001-05-05  James Henstridge  <james@daa.com.au>
2308
2309         * Makefile.am: glib-mkenums is not a compiled program, so shouldn't
2310         be in the bin_PROGRAMS primary.  Put it in bin_SCRIPTS instead, and
2311         removed the glib_mkenums_SOURCES var.
2312
2313 Thu May  3 06:10:23 2001  Owen Taylor  <otaylor@redhat.com>
2314
2315         * gobject.c (g_object_set_[q]data_full): Make types of ternary
2316         operator correspond. (Fixes compilation errors with Sun CC,
2317         #52230)
2318
2319 Mon Apr 30 20:03:56 2001  Tim Janik  <timj@gtk.org>
2320
2321         * glib-mkenums (usage): removed \v escaping, newer perl versions don't
2322         support this, and it'S probably useless anyways.
2323
2324 Sat Apr 28 23:39:42 2001  Tim Janik  <timj@gtk.org>
2325
2326         * gsignal.[hc]: made signal handler and emission hook ids gulongs.
2327         (signal_handlers_foreach_matched_R): only invoke callback for handlers
2328         that are not disconnected (id>0).
2329         (signal_emit_R): prevent invocation of signal handlers during the
2330         emission they were connected within.
2331         
2332         * glib-mkenums: publically installed perl-script to parse C code
2333         enums and generate descriptions thereof.
2334         * glib-mkenums.1: assorted man page.
2335         
2336 2001-04-19  Havoc Pennington  <hp@redhat.com>
2337
2338         * gobject.c (g_object_get_valist): We were returning junk memory
2339         here, because we didn't copy the value (G_VALUE_NOCOPY_CONTENTS
2340         passed to G_VALUE_LCOPY) and then we freed the GValue immediately
2341         after. Removed G_VALUE_NOCOPY_CONTENTS from here; need a
2342         G_VALUE_STEAL_CONTENTS or the like if we want this optimization.
2343
2344 Wed Apr 18 09:46:56 2001  Owen Taylor  <otaylor@redhat.com>
2345
2346         * gobject.c gsignal.c: Change C++ comments for FIXME's to
2347         C comments. (Patch from Andres Salomon)
2348
2349 2001-04-14  Hans Breuer  <hans@breuer.org>
2350
2351         * gobject.def : updated
2352
2353 Mon Apr  9 18:56:15 2001  Tim Janik  <timj@gtk.org>
2354
2355         * gclosure.c (g_closure_invoke): only require marshal/meta_marshal if
2356         we're valid (about to actually do marshalling).
2357
2358 Tue Apr  3 20:23:24 2001  Tim Janik  <timj@gtk.org>
2359
2360         * NEWS: updates.
2361
2362 Tue Apr  3 14:06:00 2001  Tim Janik  <timj@gtk.org>
2363
2364         * gparam.[hc]: added g_param_spec_pool_list() to list pspecs per
2365         owner_type. the pspecs are not referenced, so the caller is
2366         supposed to have some idea about owner_type not randomly
2367         nuking his pspec's. if this is going to provide problems in
2368         the future, we can either auto-ref the pspecs, or add a
2369         _foreach variant, though the latter would have to invoke
2370         the callback while pspec's mutex is acquired, so i just
2371         went for the _list variant for now.
2372
2373         * gclosure.h (G_CALLBACK): made GCallback a void (*) (void) fucntion.
2374
2375 Sat Mar 31 23:55:58 2001  Tim Janik  <timj@gtk.org>
2376
2377         * gtype.h:
2378         * gparamspecs.[hc]: applied patch from owen to implement
2379         GParamSpecUnichar.
2380
2381 Fri Mar 30 07:34:02 2001  Tim Janik  <timj@gtk.org>
2382
2383         * gtype.c (type_iface_retrive_holder_info_Wm): 
2384         * gtypeplugin.c (g_type_plugin_complete_interface_info): 
2385         * gtypemodule.c (g_type_module_complete_interface_info): 
2386         change order of instance_type and interface_type so they match
2387         the g_type_add_interface_*() API.
2388
2389         * gsignal.c (g_signal_emit_valist): always assign C return value
2390         location, people depending on unaltered return values after emissions
2391         that had no handlers to run need to use g_signal_emitv().
2392
2393         * gtype.[hc] (g_type_query): new function to allow querying of
2394         class and object size (semantics like g_signal_query()).
2395         currently the implementation is better held conservative so as to
2396         only support types that are classed and static.
2397
2398 2001-03-29  Tor Lillqvist  <tml@iki.fi>
2399
2400         * gobject.def: Updates.
2401
2402 Wed Mar 28 17:04:06 2001  Tim Janik  <timj@gtk.org>
2403
2404         * gobject.c (object_queue_property): only queue readable properties
2405         for notification changes.
2406
2407 Thu Mar 22 13:36:50 2001  Tim Janik  <timj@gtk.org>
2408
2409         * gsignal.c (g_signal_newv): catch G_SIGNAL_RUN_FIRST with a return value.
2410
2411 2001-03-21  Martin Baulig  <baulig@suse.de>
2412
2413         * gboxed.[ch] (g_value_dup_boxed): This takes a `const GValue *'
2414         argument.
2415
2416 2001-03-18  Tor Lillqvist  <tml@iki.fi>
2417
2418         * gobject.def: Correct some renamed functions.
2419
2420 Sat Mar 17 23:18:36 2001  Tim Janik  <timj@gtk.org>
2421
2422         * gobject.c (g_object_get_property): minor bug-fix.
2423
2424         * gbsearcharray.[hc]: provide a macro for static initialization and
2425         functions g_bsearch_array_new() and g_bsearch_array_destroy() for
2426         dynamic allocations.
2427         
2428         * gboxed.c: introduce G_TYPE_GSTRING, boxed type for GString.
2429         
2430         * gclosure.[hc]: naming corrections.
2431
2432 Fri Mar  9 16:42:08 2001  Tim Janik  <timj@gtk.org>
2433
2434         * gvaluetypes.[hc]: moved g_strdup_value_contents() into this file as
2435         a public function (was static in gobject.c before). it's a bit odd
2436         to have that function here, especially since it requires extra includes,
2437         but then it doesn't very well fit somewhere else either.
2438
2439         * gparamspecs.c: added default/max/min checks to param spec creation
2440         functions.
2441
2442 2001-03-10  Tor Lillqvist  <tml@iki.fi>
2443
2444         * gobject.def: Add a couple of missing entries.
2445
2446         * Makefile.am (libgobject_1_3_la_LIBADD): Use only on Win32.
2447
2448 Fri Mar  9 14:57:17 2001  Tim Janik  <timj@gtk.org>
2449
2450         * testgruntime.c: test program. covers run first/last/cleanup signal
2451         handlers, return value accumulator, signal string returns, and
2452         interface types in signal arguments.
2453
2454         * gtype.c (g_type_value_table_peek): for interface types without
2455         value table, try looking up a value table from an instantiatable
2456         prerequisite type (this is safe as an interface may only have
2457         one instantiatable prerequisiste).
2458         (type_check_is_value_type_U): same here.
2459
2460         * gsignal.c (g_signal_newv): assert that return types never have
2461         G_SIGNAL_TYPE_STATIC_SCOPE set.
2462         (g_signal_newc): only create class closure if the class_offset is not
2463         0.
2464
2465 Fri Mar  9 10:14:00 2001  Tim Janik  <timj@gtk.org>
2466
2467         * gparamspecs.c (g_param_spec_object): use g_type_is_a() to check
2468         for object_type being a G_TYPE_OBJECT, not G_TYPE_IS_OBJECT(), since
2469         that wouldn't allow interface types.
2470
2471         * gtype.c (g_type_interface_add_prerequisite): arg, fixed small cnp bug
2472         with bad implications and an off-by-one error.
2473
2474 Thu Mar  8 16:34:22 2001  Owen Taylor  <otaylor@redhat.com>
2475
2476         * gvaluetransform.c: Include <string.h> for memcpy.
2477
2478         * gvaluetransform.c (DEFINE_SPRINTF): Remove unnecessary
2479         and ANSI-illegal ## token pasting.
2480
2481 Thu Mar  8 18:11:52 2001  Tim Janik  <timj@gtk.org>
2482
2483         * gsignal.c: eek, fixed old hook detail storage code.
2484
2485 Thu Mar  8 16:35:48 2001  Tim Janik  <timj@gtk.org>
2486
2487         * gparamspecs.[hc]: s/g_param_spec_string_c/g_param_spec_stringc/.
2488
2489         * gsignal.[hc]: fixed accumulator invocation, implemented emission
2490         hooks. and no, neither of these callbacks are called via a closure,
2491         language bindings can wrap the accumulator and emission hook
2492         interface, they already get parameters marshalled into a GValue array.
2493         (g_signal_connect): removed this function as its C specific, doesn't
2494         cover the swapped argument, is too close to its broken original
2495         gtk_signal_connect() and creates demand for _swapped, _after and
2496         _swapped_after variants <brrr>.
2497         (g_signal_connectc): convenience macro to connect a C handler
2498         func with data, like the old g_signal_connect() plus swapped
2499         argument.
2500
2501         * gtype.h:
2502         * gboxed.c: added G_TYPE_VALUE boxed type.
2503
2504 Wed Mar  7 19:02:51 2001  Tim Janik  <timj@gtk.org>
2505
2506         * gtype.c (type_node_add_iface_entry_W): catch when adding an interface
2507         to an ancestor of a child that already conforms to this interface.
2508         currently we spew a warning here, should we be silent?
2509         (g_type_interface_add_prerequisite): new function to add a prerequisite
2510         type to an interface, that must succeed an instance is_a prerequisite
2511         type check before the interface can be added to an instance. the
2512         prerequisite types are also suuported in is_a checks of the interface.
2513         (g_type_instance_is_a):
2514         (g_type_check_instance_cast):
2515         (g_type_check_instance): cleanups and optimizations.
2516         (g_type_class_is_a):
2517         (g_type_check_class_cast): same, also prevented these from accepting
2518         interface types, as class structures don't nest interfaces.
2519
2520 2001-03-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2521
2522         * Makefile.am: Avoid rebuilding everything everytime.
2523
2524 Wed Mar  7 09:36:33 2001  Tim Janik  <timj@gtk.org>
2525
2526         * gboxed.[hc]: changed prototype of g_boxed_type_register_static()
2527         to contain an optional init function and a hint at whether the
2528         boxed structure uses ref counting internally.
2529         added g_value_set_boxed_take_ownership().
2530         made G_TYPE_BOXED an abstract value type.
2531
2532         * genums.[hc]: made G_TYPE_ENUM and G_TYPE_FLAGS abstract value
2533         types.
2534
2535         * glib-genmarshal.c: argument type changes, preparation for third-party
2536         arg specification.
2537
2538         * gobject.[hc]: cleaned up get/set property code.
2539         added g_strdup_value_contents() to improve warnings.
2540
2541         * gparam.[hc]: added g_param_value_convert(), taking over responsibility
2542         of the old g_value_convert(). added G_PARAM_LAX_VALIDATION flag so
2543         validation alterations may be valid a part of the property setting
2544         process.
2545
2546         * gparamspecs.[hc]: made value comparisons stable (for sort applications).
2547         added GParamSpecValueArray, a param spec for value arrays and
2548         GParamSpecClosure. nuked the value exchange functions and
2549         GParamSpecCCallback.
2550
2551         * gtype.[hc]: catch unintialized usages of the type system with
2552         g_return_val_if_uninitialized(). introduced G_TYPE_FLAG_VALUE_ABSTRACT
2553         to flag types that introduce a value table, but can't be used for
2554         g_value_init(). cleaned up reserved type ids.
2555
2556         * gvalue.[hc]: code cleanups and saner checking.
2557         nuked the value exchange API. implemented value transformations, we
2558         can't really "convert" values, rather transforms are an anylogy to
2559         C casts, real conversions need a param spec for validation, which is
2560         why g_param_value_convert() does real conversions now.
2561
2562         * gvaluearray.[hc]: new files that implement a GValueArray, a struct
2563         that can hold inhomogeneous arrays of value (to that extend that it
2564         also allowes undefined values, i.e. G_VALUE_TYPE(value)==0).
2565         this is exposed to the type system as a boxed type.
2566
2567         * gvaluetransform.c: new file implementing most of the former value
2568         exchange functions as single-sided transformations.
2569
2570         * gvaluetypes.[hc]: nuked G_TYPE_CCALLBACK, added
2571         g_value_set_string_take_ownership().
2572
2573         * *.h: s/G_IS_VALUE_/G_VALUE_HOLDS_/.
2574
2575         * *.[hc]: many fixes and cleanups.
2576
2577         * many warning improvements.
2578
2579 Tue Feb 27 18:35:15 2001  Tim Janik  <timj@gtk.org>
2580
2581         * gobject.c (g_object_get_valist): urg, pass G_VALUE_NOCOPY_CONTENTS
2582         into G_VALUE_LCOPY(), this needs proper documenting.
2583
2584         * gparam.c: fixed G_PARAM_USER_MASK.
2585
2586         * gtype.c (type_data_make_W): 
2587         (type_data_last_unref_Wm): fixed invalid memory freeing.
2588
2589         * gobject.c (g_object_last_unref): destroy signal handlers associated
2590         with object, right before finalization.
2591
2592         * gsignal.c (g_signal_parse_name): catch destroyed nodes or signals
2593         that don't actually support details.
2594
2595         * gobject.[hc]: got rid of property trailers. nuked GObject
2596         properties "data" and the "signal" variants.
2597         (g_object_connect): new convenience function to do multiple
2598         signal connections at once.
2599         (g_object_disconnect): likewise, for disconnections.
2600
2601         * gparam.[hc] (g_param_spec_pool_lookup): took out trailer support.
2602
2603         * gvalue.[hc]: marked g_value_fits_pointer() and g_value_peek_pointer()
2604         as private (the latter got renamed from g_value_get_as_pointer()).
2605
2606 2001-02-21  Tor Lillqvist  <tml@iki.fi>
2607
2608         * *.h: Use G_BEGIN_DECLS and G_END_DECLS.
2609
2610         * Makefile.am: Use libglib-1.3.la from top_builddir. Invoke
2611         libtool with -no-undefined for Win32 and Cygwin.
2612
2613 Wed Feb 21 18:31:46 2001  Jonathan Blandford  <jrb@redhat.com>
2614
2615         * gsignal.h (g_signal_connect): Add g_signal_connect define to
2616         make porting from gtk_signal_connect easy.
2617
2618         * gsignal.c (g_signal_emit_valist): Use G_TYPE_FROM_INSTANCE
2619         (instance) instead of node->itype when initting the value.
2620
2621 2001-02-17  Havoc Pennington  <hp@pobox.com>
2622
2623         Applied patch from Soeren Sandmann:
2624         
2625         * gvaluetypes.c (g_value_get_string): G_CONST_RETURN
2626
2627         * gtype.c (g_type_name): G_CONST_RETURN
2628
2629         * gsignal.c (g_signal_name): G_CONST_RETURN
2630
2631         * gobject-query.c (main): const fix
2632
2633 Sat Feb 17 07:58:46 2001  Tim Janik  <timj@gtk.org>
2634
2635         * genums.h (G_TYPE_IS_FLAGS): patch from sven to fixup
2636         G_ENUM_CLASS_TYPE() macro.
2637
2638 Sat Feb 17 04:55:35 2001  Tim Janik  <timj@gtk.org>
2639
2640         * gtype.[hc]: changed collect_format, collect_value() and lcopy_format,
2641         lcopy_value() in the GTypeValueTable. the collect functions are now
2642         called only once per value, collect_format/lcopy_format are strings
2643         that enlist all necessary GTypeCValues to be varargs-collected.
2644
2645         * gvalue.h: ranamed STATIC_TAG to G_VALUE_NOCOPY_CONTENTS to indicate that
2646         a value shouldn't copy its contents.
2647
2648         * gvaluecollector.h: changed G_VALUE_COLLECT() and G_VALUE_LCOPY()
2649         macros to carry an additional argument (flags) that can be used
2650         to pass G_VALUE_NOCOPY_CONTENTS along to the collection functions.
2651
2652         * *.c: adapted collect_value() and lcopy_value() functions to the new
2653         prototypes, support G_VALUE_NOCOPY_CONTENTS where apropriate.
2654
2655         * gsignal.[hc]: introduced a G_SIGNAL_TYPE_STATIC_SCOPE flag that can
2656         be passed along (ORed) with the parameter types, indicating that the
2657         emission arguments are to be considered static for the scope of the
2658         emission. should be used with care and only if the caller knows that
2659         a parameter cannot be destroyed/freed from signal handlers connected
2660         to an emission.
2661
2662 Fri Feb 16 07:10:44 2001  Tim Janik  <timj@gtk.org>
2663
2664         * gclosure.c:
2665         (g_closure_ref):
2666         (g_closure_sink): make closure sinking explicit.
2667
2668         * gsignal.c:
2669         (g_signal_connect_data): 
2670         (g_signal_connect_closure): 
2671         (g_signal_connect_closure_by_id): 
2672         (g_signal_newv): perform explicit closure sinking.
2673
2674 Thu Feb  8 00:31:45 2001  Tim Janik  <timj@gtk.org>
2675
2676         * gtype.h: added G_TYPE_DEBUG_NONE for/from Eric Lemings ;)
2677
2678 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2679
2680         * gobject.def: Remove glib_debug_objects.
2681
2682 Sun Feb  4 07:30:53 2001  Tim Janik  <timj@gtk.org>
2683
2684         * gtype.[hc]: changed g_type_init() to take debugging flags
2685         initially, a combination of G_TYPE_DEBUG_OBJECTS and
2686         G_TYPE_DEBUG_SIGNALS. using the G_TYPE_ prefix is a bit odd
2687         here, but basically g_type_int() serves as initialization
2688         fucntion for all of GType, GObject, GSignal, so what the heck.
2689
2690         * gobject.c: special case debugging code properly.
2691         changed glib_trap_object_ref to g_trap_object_ref.
2692
2693         * gsignal.c: add signal emission debugging abilities, along with
2694         a new trap object g_trap_instance_signals.
2695
2696 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2697
2698         * Makefile.am (progs_LDADD): Change order of libs to libgobject
2699         first, then libglib. Needed for cygwin, says jbdoll@kepri.re.kr.
2700
2701 Wed Jan 31 06:19:49 2001  Tim Janik  <timj@gtk.org>
2702
2703         * gparam.h: gtk-doc sucks for not dealing with #define inside enums.
2704
2705         * gtype.[hc]: added G_TYPE_FLAG_RESERVED_ID_BIT, a bit in the type
2706         number that's supposed to be left untouched (preserved mainly
2707         for the signal code).
2708
2709         * *.c: added thread safety code, based on an old patch from sebastian.
2710         the remaining thread safety issues are now datalists on pspecs (to be
2711         solved im gdataset.c) and gvalue.c where locking concerns value exchange
2712         functionality only, and that's soon to be revised.
2713
2714 2001-01-27  Tor Lillqvist  <tml@iki.fi>
2715
2716         * makefile.msc.in: Don't try to compile gmarshal.c on its own.
2717
2718 2001-01-24    <alexl@redhat.com>
2719
2720         * gclosure.c (g_closure_unref):
2721         Don't leak closure->notifiers.
2722
2723 2001-01-05  Havoc Pennington  <hp@redhat.com>
2724
2725         * gparamspecs.c (g_param_spec_enum): set the value_type in the
2726         param spec; closes bug 40210
2727         (g_param_spec_flags): ditto for flags
2728
2729 2001-01-03  Alexander Larsson  <alexl@redhat.com>
2730
2731         * gobject.c:
2732         Move glib_debug_objects out of the G_ENABLE_DEBUG #ifdef.
2733
2734 Thu Dec 28 11:36:44 2000  Tim Janik  <timj@gtk.org>
2735
2736         * gbsearcharray.c (upper_power2): disable G_BSEARCH_ALIGN_POWER2
2737         fucntionality if DISABLE_MEM_POOLS is defined.
2738
2739         * gtype.c: honour DISABLE_MEM_POOLS.
2740
2741         * gsignal.c (g_signal_init): flag signal key bsearch array with
2742         G_BSEARCH_ALIGN_POWER2 to avoid excessive growth time. honour
2743         DISABLE_MEM_POOLS.
2744
2745         * gparam.h: added G_PARAM_READWRITE alias for (G_PARAM_READABLE |
2746                                                        G_PARAM_WRITABLE).
2747
2748 2000-12-15  Tor Lillqvist  <tml@iki.fi>
2749
2750         * gobject.def: Update.
2751
2752 2000-12-15  Havoc Pennington  <hp@pobox.com>
2753
2754         * gobject.c (g_object_do_class_init): use g_signal_newc
2755
2756         * gsignal.c (g_signal_newc): convenience function for signals
2757         created from C
2758         (g_signal_new_valist): added
2759         (g_signal_new): removed
2760
2761 Fri Dec 15 04:40:23 2000  Tim Janik  <timj@gtk.org>
2762
2763         * gparam.[hc]: add an instance member value_type so the default
2764         value of the pspec class can be overridden.
2765
2766 2000-12-14  Tor Lillqvist  <tml@iki.fi>
2767
2768         * makefile.mingw.in: Update, include parts from Makefile.am to
2769         build gmarshal.[ch]. Some day, we won't need these separate
2770         makefiles for Win32 compilation. I hope.
2771
2772         * makefile.msc.in: Update. No use trying to build gmarshal.[ch]
2773         here, it would require Unixish tools. MSVC users building from CVS
2774         sources are out of luck.
2775         
2776         * gobject.def: Update.
2777
2778 Wed Dec 13 09:31:26 2000  Tim Janik  <timj@gtk.org>
2779
2780         * gparamspecs.[hc]: add G_TYPE_PARAM_BOXED implementation.
2781
2782         * gobject.[hc]: minor fixes.
2783
2784 Tue Dec 12 23:38:02 2000  Tim Janik  <timj@gtk.org>
2785
2786         * Makefile.am: _never_ touch oldest-source-stamp.
2787         
2788         * gobject.[hc]: construct property handling fixes/improvements.
2789         fixed trailer handling in get/set property.
2790         
2791         * gparam.[hc]: implement param spec pool, got rid of param spec
2792         hashtable. the most prominent change is that e deal with type
2793         prefixes here.
2794         
2795 2000-12-12  Elliot Lee  <sopwith@redhat.com>
2796
2797         * Makefile.am:
2798           . You have to 'touch oldest-source-stamp' if you want to avoid having
2799           the Makefile constantly rebuild itself.
2800           . Fix marshaller generation rules to work with srcdir != builddir
2801             (there were issues with trying to run "./glib-genmarshal", etc.)
2802
2803 Mon Dec 11 04:44:11 2000  Tim Janik  <timj@gtk.org>
2804
2805         * gboxed.c: fixed dealing with collection/lcopy of NULL values.
2806         
2807         * gclosure.h: removed insane ramblings, added G_CALLBACK() a casting
2808         convenience macro.
2809         
2810         * Makefile.am: cleanups, marshaller generation rules.
2811         
2812         * gmarshal.[hc]: new files with GRuntime standard marshallers.
2813         
2814         * glib-genmarshal.c: fix log domain, support gruntime standard 
2815         marshallers, suport G_TYPE_PARAM, come with extern "C" and
2816         #include gmarshal.h.
2817         
2818         * glib-genmarshal.1: reflect glib-genmarshal.c updates.
2819         
2820         * gobject.[hc]: implement object constructor. rework parameter
2821         changed notification queueing, we support queue freezes now and
2822         don't dispatch from an idle handler anymore.
2823         parameter->property rename hassle.
2824         implemented ::properties_changed and ::notify::* signals for
2825         property change notification (the later supports property names
2826         as details). added signal connection and named data properties.
2827         (g_signal_connect_object): new function to setup while_alive
2828         connections.
2829         (g_object_class_install_property): sink properties now, since they
2830         are initially floating.
2831         (g_object_steal_data):
2832         (g_object_set_data_full):
2833         (g_object_set_data):
2834         (g_object_get_data): set/get data by using g_datalist_*() functions
2835         directly.
2836         (g_object_queue_param_changed): nuked.
2837         (g_object_freeze_notify): start queueing of property changes (freeze/
2838         thaw calls stack).
2839         (g_object_notify): announce changes of a certain property directly.
2840         (g_object_thaw_notify): process queue of property changes, therefore
2841         emitting GObject::notify::detail with detail being the changed
2842         properties names.
2843         (G_OBJECT_WARN_INVALID_PROPERTY_ID): saner macro variant of former
2844         G_WARN_INVALID_PARAM_ID().
2845         
2846         * gparam.[hc]: param specs are now initially floating and need to be
2847         sunken with g_param_spec_sink(), support G_TYPE_PARAM values.
2848         added G_PARAM_CONSTRUCT and G_PARAM_CONSTRUCT_ONLY parameter flags,
2849         required by GObjectClass.constructor().
2850         
2851         * gparamspecs.[hc]: added GParamSpecParam, GParamSpecPointer and
2852         GParamSpecCCallback, param specs for G_TYPE_PARAM, G_TYPE_POINTER
2853         and G_TYPE_CCALLBACK respectively.
2854         
2855         * gsignal.[hc]: cleanups.
2856         (signal_id_lookup): after walking the anchestry, try interfaces as well.
2857         (g_signal_new): new function to create signals from varargs type list.
2858         (g_signal_connect_closure): closure connection variant that works from
2859         signal name+detail.
2860         (g_signal_connect_data): c handler connection variant that works from
2861         signal name+detail.
2862         (g_signal_emit_valist): emit signal for an instance with paraneters
2863         collected from a va_list.
2864         (g_signal_emit): emit signal, taking parameters from varargs list.
2865         (g_signal_emit_by_name): same as g_signal_emit, working from
2866         signal name+detail.
2867         (signal_emit_R): return whether return_value needs to be altered.
2868         
2869         * gtype.[hc]: set log-domain to GRuntime, i'm slowly getting to all
2870         the points that need to reflect the upcoming rename.
2871         melt g_type_conforms_to() functionality into g_type_is_a(), as that
2872         is what we really want (liskov substitution principle).
2873         assorted changes to other files due to conforms_to->is_a.
2874
2875         * gvalue.[hc]: implemented g_value_set_instance() that sets a value
2876         from an instantiatable type via the value_table's collect_value()
2877         function (based on an idea from James Henstridge <james@daa.com.au>).
2878         cleanups/fixes.
2879         
2880         * gvaluetypes.[hc]: implement G_TYPE_CCALLBACK and G_TYPE_PARAM.
2881
2882 Wed Nov 29 13:30:05 2000  Tim Janik  <timj@gtk.org>
2883
2884         * gsignal.c (handlers_find): fix elliots "logic fix" that dereferences
2885         NULL nodes if C handlers are searched for specific signals.
2886
2887 2000-11-28  Elliot Lee  <sopwith@redhat.com>
2888
2889         * gsignal.c: Fix warnings about possible use of uninitialized
2890         variables, and fix logic that would leave 'node' unset in cases
2891         that it might be used in.
2892
2893         * glib-genmarshal.c: Fix warning about printf format.
2894
2895 2000-11-28  Tor Lillqvist  <tml@iki.fi>
2896
2897         * gboxed.c: Include <string.h> for memset ().
2898
2899 2000-11-22  Tor Lillqvist  <tml@iki.fi>
2900
2901         * gobject.def: Update.
2902
2903 2000-11-20  Havoc Pennington  <hp@redhat.com>
2904
2905         * gobject.c (g_object_get_data)
2906         (g_object_set_data)
2907         (g_object_set_data_full)
2908         (g_object_steal_data): More convenient data-setting functions
2909
2910 Wed Nov 15 20:58:05 2000  Owen Taylor  <otaylor@redhat.com>
2911
2912         * gtypemodule.c (g_type_module_use): If loading the
2913         module fails, don't increment the use count.
2914
2915 Thu Nov  9 01:49:43 2000  Tim Janik  <timj@gtk.org>
2916
2917         * gobject.h (G_WARN_INVALID_PARAM_ID): doh,
2918         s/BSE_OBJECT_TYPE_NAME/G_OBJECT_TYPE_NAME/; reported by Maas-Maarten
2919         Zeeman <maas@wanadoo.nl>.
2920
2921 Mon Nov 13 00:48:39 2000  Owen Taylor  <otaylor@redhat.com>
2922
2923         * Makefile.am (EXTRA_DIST): Add glib-genmarshal.1
2924
2925 2000-11-11  Tor Lillqvist  <tml@iki.fi>
2926
2927         * gtypemodule.c: Include stdlib.h for exit().
2928
2929         * makefile.{mingw,msc}.in (gobject_OBJECTS): Add gtypemodule.
2930
2931         * gobject.def: Add missing functions.
2932
2933 Sun Nov  5 13:21:28 2000  Owen Taylor  <otaylor@redhat.com>
2934
2935         * Makefile.am gtypemodule.[ch]: New basic implementation of
2936         GTypePlugin interface as a GObject. Dynamically loaded modules can
2937         register any number of types and interface on the module.
2938
2939 Sun Nov  5 10:25:40 2000  Owen Taylor  <otaylor@redhat.com>
2940
2941         * gsignal.c (handlers_find): When appending handlers and
2942         not matching on signal_id, use hlist->signal_id instead of 
2943         signal_id. Having the correct signal_id when unreffing
2944         the handlers makes things work a lot better.
2945
2946 2000-11-05  Tor Lillqvist  <tml@iki.fi>
2947
2948         * makefile.{mingw,msc}.in (gobject_OBJECTS): Add gtypeplugin.
2949
2950         * gobject.def: Update.
2951
2952 Sun Nov  5 05:22:55 2000  Tim Janik  <timj@gtk.org>
2953
2954         * gsignal.c:
2955         fixed a bag full of subtle bugs of immensive screw-up potential in
2956         handlers_find(), luckily no one found out about them yet ;)
2957         fixed signal_handlers_foreach_matched_R() so it operates on an
2958         initial handler list snapshot provided by handlers_find() to work
2959         around general reentrancy problems and to avoid multiple callback()
2960         invocations on the same handlers.
2961         this code is now officially 80% bug free (10% remaining for interface
2962         types, and 10% remaining for destroyed signals ;)
2963         
2964 Sat Nov  4 02:01:33 2000  Tim Janik  <timj@gtk.org>
2965
2966         * gsignal.c (_g_signals_destroy): valid signal nodes start out at 1.
2967
2968         * gtypeplugin.[hc]: new files holding a GTypePlugin interface
2969         implementation that provides the API required by GType to deal with
2970         dynamically loadable types.
2971
2972         * gtype.[hc]: displace any GTypePlugin business to gtypeplugin.h.
2973
2974 Fri Nov  3 07:35:00 2000  Tim Janik  <timj@gtk.org>
2975
2976         * gsignal.[hc]: prefix internal functions with '_'. renamed
2977         g_signal_connect_closure() to g_signal_connect_closure_by_id().
2978         added g_signal_parse_name() to retrive signal_id and detail quark
2979         from a signal name (internal).
2980
2981 Wed Nov  1 03:36:54 2000  Tim Janik  <timj@gtk.org>
2982
2983         * gobject.c (g_object_base_class_finalize): destroy all signals that
2984         the finalized obejct type introduced.
2985
2986         * gsignal.c (g_signals_destroy): don't require itype to have
2987         signals.
2988
2989         * gobject.c (g_object_do_finalize): make sure all signal handlers
2990         are destroyed.
2991
2992         * gsignal.[hc]:
2993         (g_signal_handler_find): only match on non-0 masks.
2994         (g_signal_handlers_block_matched):
2995         (g_signal_handlers_unblock_matched):
2996         (g_signal_handlers_disconnect_matched): new functions to block/unblock
2997         or disconnect handlers in groups.
2998
2999 2000-10-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3000
3001         * gvalue.c (exchange_entries_equal), gparam.c (param_spec_equals):
3002         made both functions return gboolean just for the little extra
3003         standard conformance now that GEqualFunc is introduced.
3004
3005 Mon Oct 30 05:52:45 2000  Tim Janik  <timj@gtk.org>
3006
3007         * gsignal.c (g_signal_list_ids): get rid of inline documentation owen
3008         added, the doc system would ignore it anyways (for some reason not
3009         aparent to me).
3010
3011 Mon Oct 30 03:00:07 2000  Tim Janik  <timj@gtk.org>
3012
3013         * gsignal.[hc] (g_signal_list_ids): renamed owen's g_type_signals(),
3014         added required mutex locks.
3015
3016 Sun Oct 29 02:31:03 2000  Owen Taylor  <otaylor@redhat.com>
3017
3018         * gsignal.c (g_type_signals): Fix problem where signals
3019         with "_" in them appeared twice in the result array.
3020
3021 Sun Oct 29 01:58:44 2000  Owen Taylor  <otaylor@redhat.com>
3022
3023         * gsignal.h: Add g_type_signals() - a function to list
3024         all signals for a given type.
3025
3026 Sat Oct 28 00:28:09 2000  Tim Janik  <timj@gtk.org>
3027
3028         * gclosure.c (g_closure_add_marshal_guards): fixed notifier position
3029         for post_marshal guard which was off at 0.
3030
3031 Fri Oct 27 21:49:31 2000  Tim Janik  <timj@gtk.org>
3032
3033         * gobject.[hc]: doh, fix argument order in for
3034         g_cclosure_new_object_swap and g_cclosure_new_object.
3035
3036 2000-10-28  Tor Lillqvist  <tml@iki.fi>
3037
3038         * makefile.{mingw,msc}.in: Make glib-genmarshal.exe.
3039
3040         * glib-genmarshal.c: Conditionalise include of unistd.h.
3041         Include <io.h> on Win32.
3042
3043         * gobject.def: Add some missing entry points.
3044
3045 Fri Oct 27 16:33:41 2000  Tim Janik  <timj@gtk.org>
3046
3047         * gsignal.[hc]: publically define GSignalInvocationHint structure
3048         that gets passed in to closure invocations. added signal details.
3049         renamed GSignalType to GSignalFlags to comply with conventions.
3050         quite some cleanups and minor fixes. avoid uneccessary handler list
3051         walks upon invocation of after handlers. relookup handler list for
3052         restarted emissions. preliminary abort normal handler invocation if
3053         after handler is encountered.
3054
3055         * glib-genmarshal.c:
3056         * gclosure.[hc]: moved invocation_hint to the end of the
3057         g_closure_invoke() arguments as sugegsted by kenelson.
3058         also made it a gpointer to be more generic. the invocation_hint
3059         is a caller specific thing that can be used to pass additional
3060         data in to closure invocations as documented with the caller
3061         invoking the closure.
3062
3063 Fri Oct 27 05:35:14 2000  Tim Janik  <timj@gtk.org>
3064
3065         * gobject.c (g_object_watch_closure): fixed realloc bug, reported
3066         by havoc.
3067
3068         * gsignal.c (g_signal_newv): fixed deadlock scenarion where
3069         g_signal_lookup() would be called with the signal lock being
3070         held. reported by james henstridge.
3071
3072         * gclosure.c (g_closure_set_meta_marshal): fixed memcpy/overwrite bug
3073         reported by owen.
3074
3075 2000-10-26  Tor Lillqvist  <tml@iki.fi>
3076
3077         * gbsearcharray.c (bsearch_array_insert): Fix gccisms (pointer
3078         arithmetic on void pointer, label without statement following.
3079
3080         * gtype.c (type_node_fundamental_info): Don't apply unary minus to
3081         result of sizeof operator, it can be unsigned. Cast first to
3082         gssize.
3083
3084         * gobject.def: Add new functions.
3085
3086         * makefile.{mingw,msc}.in: Add new objects.
3087
3088 2000-10-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3089
3090         * Makefile.am: Remove empty SUBDIRS line _again_, as that _still_
3091         prevents 'make dist' from working.
3092
3093 Wed Oct 25 19:11:03 2000  Owen Taylor  <otaylor@redhat.com>
3094
3095         * gbsearcharray.h (g_bsearch_array_get_nth): Don't use implicit
3096         casts from void * since this will get included from C++ too
3097         at times.
3098         
3099 Thu Oct 26 00:30:27 2000  Tim Janik  <timj@gtk.org>
3100
3101         * gvaluetypes.[hc]: added g_value_set_static_string().
3102
3103         * gboxed.[hc]: const corrections. added g_value_set_static_boxed().
3104
3105 Wed Oct 25 20:27:02 2000  Tim Janik  <timj@gtk.org>
3106
3107         * gtype.c (g_type_free_instance): for the moment, freeing object
3108         structures will fill their memory portion with 0xAA. there's a
3109         FIXME there, remove this line at a later point.
3110
3111 Tue Oct 24 23:10:26 2000  Tim Janik  <timj@gtk.org>
3112
3113         * glib-genmarshal.1:
3114         * glib-genmarshal.c: added publically installed marshaller generator.
3115
3116         * gtype.h: added G_TYPE_INSTANCE_GET_INTERFACE() to retrive a certain
3117         interface VTable from instances.
3118
3119 Mon Oct 23 08:28:15 2000  Tim Janik  <timj@gtk.org>
3120
3121         * gobject.[hc]: new functions for closure maintenance:
3122         (g_object_watch_closure): maintain validity of the object and
3123         the closure for objects that are used as data part of a closure.
3124         (g_cclosure_new_object): convenience function to create C closures
3125         that have an object as data argument.
3126         (g_closure_new_object): convenience function to create closures
3127         that have an object as data argument.
3128
3129         * gclosure.[hc]: implementation of GClosure mechanism.
3130         a closure is basically an encapsulation of a callback function
3131         and its environment. ideally, most places supporting callback
3132         functions will simply take a GClosure* pointer and thus unify
3133         callback environments wrg destroy notification etc.
3134         GClosure provides destroy notifiers for arbitrary data pointers,
3135         reference counting, invalidation notification (it can be invalidated
3136         which is merely a deactivate state) and a marshallinbg abstraction.
3137         GCClosure is also provided in these files, they present a specialized
3138         GClosure implementation for C language callbacks.
3139
3140         * genum.c: macro cleanups.
3141         
3142         * gboxed.[hc]: new files, for boxed type abstraction.
3143         (g_boxed_copy): copy a boxed structure
3144         (g_boxed_free): free a boxed structure
3145         (g_value_set_boxed):
3146         (g_value_get_boxed): standard GValue functions for boxed types
3147         (g_boxed_type_register_static): convenience function for easy
3148         introduction of new G_TYPE_BOXED derivatives.
3149
3150         * gparam.[hc]: introduced g_param_type_register_static(), a short hand
3151         for creation of new GParamSpec derived types.
3152
3153         * gtype.[hc]: many fixes, introduced ability to flag individual
3154         type nodes as ABSTRACT upon registration, added value_peek_pointer()
3155         to the value table to peek at GValue contents as a pointer for types
3156         that support this. fixed up GValue checks.
3157
3158         * gvalue.[hc]: added g_value_fits_pointer() and g_value_get_as_pointer()
3159         to peek at the value contents as pointer.
3160
3161         * *.[hc]: adaptions to type macro fixes and changes in the type
3162         registration API.
3163
3164         * many const corrections over the place.
3165
3166 Sat Oct 21 02:49:56 2000  Tim Janik  <timj@gtk.org>
3167
3168         * gtype.c (g_type_conforms_to): this function basically behaves like
3169         and is_a check, except that it _additionally_ features interfaces
3170         for instantiatable types. enforce this in the second branch as well
3171         (`type' conforms_to `type') even if `type' is not an interface type.
3172
3173 Fri Oct 20 15:31:04 2000  Tim Janik  <timj@gtk.org>
3174
3175         * gvaluetypes.[hc]: added G_TYPE_POINTER implementation from jrb.
3176
3177         * gtype.[hc]:
3178         * gobject.c:
3179         * gvaluetypes.c: added GTypeValueTable.value_peek_pointer and
3180         suitable implementations of this for G_TYPE_STRING, G_TYPE_OBJECT
3181         and G_TYPE_POINTER.
3182
3183 Mon Aug 21 04:13:37 2000  Tim Janik  <timj@gtk.org>
3184
3185         * gbsearcharray.[hc]: long standing needed generic implementation
3186         of a binary searchable, sorted and dynamically sized array.
3187
3188 2000-10-15  Raja R Harinath  <harinath@cs.umn.edu>
3189
3190         * Makefile.am (BUILT_EXTRA_DIST): New variable.
3191         (dist-hook): Handle $(BUILT_EXTRA_DIST).
3192         (*): Remove traces of @STRIP_{BEGIN,END}@.
3193         
3194 2000-09-29  Martin Baulig  <baulig@suse.de>
3195         
3196         Several minor ANSI C fixes.
3197
3198         Added missing casts:
3199         * gtype.c (type_class_init): 
3200         `(gpointer) bnode->data->class.class_init_base'
3201         in call to g_slist_prepend() and
3202         'GBaseInitFunc class_init_base = (GBaseInitFunc) slist->data'.
3203
3204         * gobject.c: Put text following #endif into comments.
3205
3206 2000-09-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3207
3208         * Makefile.am: Remove empty SUBDIRS line, as that prevents make
3209         dist from working.
3210
3211 Sat Sep  9 20:04:13 2000  Owen Taylor  <otaylor@redhat.com>
3212
3213         * gobject.c (g_object_last_unref): Move call to
3214         g_type_free_instance() here from g_object_do_finalize,
3215         since g_type_free_instance() can unload the object's
3216         implementation.
3217
3218 2000-07-27  Tor Lillqvist  <tml@iki.fi>
3219
3220         * gobject.c: No, don't mark glib_debug_objects for export here,
3221         it's handled specially in gtktypeutils.c.
3222
3223         * gobject.def: Export g_type_fundamental_last (the function).
3224
3225 2000-07-26  Tor Lillqvist  <tml@iki.fi>
3226
3227         * gobject.def
3228         * gobject.c: Mark glib_debug_objects for export/import as it is
3229         used by GTK+.
3230
3231 Sun Jul 23 17:23:35 2000  Tim Janik  <timj@gtk.org>
3232
3233         * gtype.[hc]: make g_type_fundamental_last() a function, avoiding all
3234         that extern variable clutter and avoiding further problems with thread
3235         safety.
3236
3237 2000-07-19  Tor Lillqvist  <tml@iki.fi>
3238
3239         * gparam.h
3240         * gvalue.h
3241         * gparam.c
3242         * gtype.c: Shut up Sun's picky compiler.
3243
3244 2000-07-14  Tor Lillqvist  <tml@iki.fi>
3245
3246         * gobject.def: Add g_type_get_plugin.
3247
3248 Thu Jul 13 02:07:54 2000  Tim Janik  <timj@gtk.org>
3249
3250         * gparam.c (g_param_value_defaults): default initialize the temporary
3251         default value, instead of nuking the caller's value contents.
3252
3253 2000-07-11  Raja R Harinath  <harinath@cs.umn.edu>
3254
3255         * gtype.c (g_type_get_plugin): Don't return just 0 or 1.
3256
3257 Tue Jul 11 02:48:13 2000  Tim Janik  <timj@gtk.org>
3258
3259         * gtype.[hc]: removed g_type_is_dynamic() and added g_type_get_plugin().
3260
3261 2000-07-10  Tor Lillqvist  <tml@iki.fi>
3262
3263         * gobject-query.c: Include ../config.h for HAVE_UNISTD_H. Use it
3264         to guard inclusion of <unistd.h>.
3265
3266         * gtype.h: Fix copy-paste errors in the ifdefs on how to declare a
3267         variable for export. Call the macro GOBJECT_VAR.
3268
3269         * gtype.c: Declare _g_type_fundamental_last for export here, too.
3270         (type_node_any_new): Use only constant expressions for sizeof
3271         operator (for instance MSVC requires this).
3272
3273         * makefile.mingw.in: Define GOBJECT_COMPILATION.
3274
3275 Sun Jul  9 21:21:46 2000  Owen Taylor  <otaylor@redhat.com>
3276
3277         * genums.c: Move string.h include into the .c file
3278         instead of where it was in the .h file by mistake.
3279
3280 Thu Jul  6 15:30:27 2000  Owen Taylor  <otaylor@redhat.com>
3281
3282         * Makefile.am (EXTRA_DIST): dist fixes.
3283
3284         * gobject.c: Add a global variable glib_debug_objects
3285         (not in header file) to control object tracing.
3286
3287 2000-07-01  Tor Lillqvist  <tml@iki.fi>
3288
3289         * gobject.def: Update added and renamed entry points.
3290
3291         * makefile.mingw.in: Add gvaluetypes.o.
3292
3293 Thu Jun 29 16:02:07 2000  Owen Taylor  <otaylor@redhat.com>
3294
3295         * gobject.c:include string.h for memset
3296         * genums.h: include string.h for strcpy
3297         * gvalue.c: include string.h for memset, memcpy.
3298
3299 Sat Jun 24 23:03:04 2000  Tim Janik  <timj@gtk.org>
3300
3301         * gtype.[hc]: provide G_TYPE_CHAR, G_TYPE_UCHAR, G_TYPE_BOOLEAN,
3302         G_TYPE_INT, G_TYPE_UINT, G_TYPE_LONG, G_TYPE_ULONG, G_TYPE_FLOAT,
3303         G_TYPE_DOUBLE and G_TYPE_STRING fundamental types.
3304         added a GTypeValueTable* pointer to GTypeInfo structure for types
3305         to implement GValue handling functions.
3306         GTypeValueTable contains the following members:
3307           value_init(): initialize a GValue structure.
3308           value_free(): free GValue structure contents (optional).
3309           value_copy(): copy one GValue contents to another GValue structure of
3310           collect_type: varargs collection type for the first variable argument
3311           to be collected by collect_value().
3312           collect_value(): variable arguments collection function (optional).
3313           lcopy_type: varargs collection type for the first variable argument
3314           to be location copyied by lcopy_value().
3315           lcopy_value(): variable arguments location copy function (optional).
3316         g_type_value_table_peek(): new function to retrive the GTypeValueTable*
3317         for a type node. ValueTables get inherited from parent types, unless
3318         overridden through the GTypeInfo structure. internally, GTypeValueTable
3319         support means an added overhead of one pointer per static or used
3320         dynamic type node.
3321         g_type_add_class_cache_func(): provide a cache_func/data pair to be
3322         called  prior to a type nodes last_unref() function, this can be used
3323         to prevent premature class destruction. multiple installed cache_func()
3324         will be chained upon last_unref() untill one of them returns TRUE.
3325         the cache_func()s have to check the class id passed in to figure whether
3326         they actually want to cache the class of this type (since all classes
3327         are routed through the cache_func() chain).
3328         g_type_remove_class_cache_func(): remove a previously installed
3329         cache_func/data pair. the cache maintained by this function has to be
3330         clear when calling g_type_remove_class_cache_func() to avoid leaks.
3331         g_type_class_unref_uncached(): class unref function for cache_func()
3332         implementations, unreferences a class omitting the cache chain (and
3333         therefore unref->cache->unref->... loops).
3334
3335         * gvaluetypes.[hc]: provide the value setters/getters for the primitive
3336         fundamental types boolean, char, uchar, int, uint, long, ulong, float,
3337         double and string.
3338
3339         * gvalue.[hc]: provide G_TYPE_IS_VALUE() in terms of whether a
3340         GTypeValueTable is provided for this type.
3341         removed g_value_init_default(), g_value_validate(), g_value_defaults(),
3342         g_value_set_default() and g_values_cmp() as these are supplied by the
3343         GParamSpec API now.
3344         moved g_values_exchange() into the "implementation details" section,
3345         since it just provides the underlying functionality for
3346         g_value_convert().
3347
3348         * gvaluecollector.h: renamed the varargs value container from
3349         GParamCValue to GTypeCValue as the value collection methods are
3350         supplied by the type system now.
3351         G_PARAM_COLLECT_VALUE() and G_PARAM_LCOPY_VALUE() got renamed to
3352         G_VALUE_COLLECT() and G_VALUE_LCOPY() and operate without a
3353         GParamSpec structure now.
3354
3355         * genums.h: macros cleanups/fixes.
3356
3357         * genum.c: provide G_TYPE_ENUM and G_TYPE_FLAGS type
3358         and assorted g_value_{s|g}et_{enum|flags}() implementations.
3359
3360         * gobject.[hc]:
3361         provide G_IS_VALUE_OBJECT(), G_TYPE_OBJECT ValueTable methods
3362         and g_value_{s|g}et_object().
3363
3364         * gparam.[hc]: reduced class to value_set_default(),
3365         value_validate() and values_cmp(). also parameters now need to fill
3366         in a GType value_type; field to indicate the GValue type they
3367         are handling. provide g_param_value_set_default(),
3368         g_param_value_defaults(), g_param_value_validate() and
3369         g_param_values_cmp().
3370
3371         * gparamspecs.[hc]: got rid of the g_value_* functions and
3372         the G_IS_VALUE_* macros. adapted param spec implementations
3373         according to the GParamSpecClass changes.
3374
3375 Sat Jun 10 08:38:27 2000  Tim Janik  <timj@gtk.org>
3376
3377         * gtype.c (type_class_init): fetch the nth iface entry of the
3378         type node in the nth loop iteration, not alwys the first.
3379         bug discovered by Walt Pohl <cher@suitware.com>.
3380         (type_data_finalize_class_ifaces): same here, cut and paste
3381         rulez.
3382
3383 Wed Jun  7 09:21:05 2000  Owen Taylor  <otaylor@redhat.com>
3384
3385         * Makefile.am (INCLUDES): Add top_builddir so glibconfig.h
3386         is found properly when build srcdir != builddir. (Patch from
3387         Eric Lemings)
3388
3389 2000-05-13  Tor Lillqvist  <tml@iki.fi>
3390
3391         * makefile.mingw.in
3392         * gobject.def
3393         * gobject.rc.in: New files, for Win32 (mingw) build.
3394
3395         * Makefile.am: Add to EXTRA_DIST. Add rules to produce the
3396         corresponding non-*.in files.
3397
3398         * gtype.h: (Win32:) Mark _g_type_fundamental_last for
3399         export/import from DLL.
3400
3401 Fri May  5 01:15:48 2000  Tim Janik  <timj@gtk.org>
3402
3403         * gtype.h: add reserved fundamental ids for gtk types (for transition
3404         time). added G_TYPE_FUNDAMENTAL_MAX for gtk.
3405
3406 Mon Apr 17 20:45:50 2000  Tim Janik  <timj@gtk.org>
3407
3408         * glib-gobject.c (g_object_base_class_finalize): oops, don't unset
3409         n_params prior to destructing them.
3410
3411 Tue Apr 11 04:28:10 2000  Tim Janik  <timj@gtk.org>
3412
3413         * fixed a couple of bugs in the initial parameter/object
3414         implementations, after getting beast running on GObject and GValue.
3415
3416 Fri Apr  7 04:27:49 2000  Tim Janik  <timj@gtk.org>
3417
3418         * glib-gobject.[hc]: completed parameter set/get implementations,
3419         along with asyncronous parameter changed notification queue.
3420
3421 Sun Apr  2 04:54:36 2000  Tim Janik  <timj@gtk.org>
3422
3423         * glib-gobject.[hc]: GObject implementation, that is facilities
3424         for setting/getting quarked data and reference counting.
3425
3426         * glib-gparamspecs.[hc]: first actuall parameter implementations
3427         for GLib, so far we have: char, uchar, bool, int, uint, long,
3428         ulong, enum, flags, float, double, string and object. each of these
3429         GParamSpecs is a new instantiatable type in its own respect,
3430         so the .c file derives 13 new types from G_TYPE_PARAM and
3431         defines over 50 (*2) conversion facilities.
3432
3433         * glib-gvaluecollector.h: generic varargs handling stubs for
3434         GParamSpecs, private header file (does get installed for
3435         inclusion into user code though).
3436
3437         * glib-gvalue.[hc]: GValue functionality implementation.
3438
3439         * glib-gparam.[hc]: basis GParamSpec implementation for
3440         the virtual base type G_TYPE_PARAM.
3441
3442         * glib-genums.[hc]: enum/flags type implementation, based on
3443         bseenum.[hc].
3444
3445         * glib-gtype.[hc]: GLib Type System implementation, heavily
3446         based on BSE's dynamic type system.