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