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