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