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