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