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