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