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