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