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