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