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