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