]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-0
new function to get the *real* geometry position of a window, taken
[~andy/gtk] / ChangeLog.pre-2-0
1 Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>
2
3         * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
4         the *real* geometry position of a window, taken possible window
5         manager offsets into account.
6         this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
7         olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
8         it does fail though for amiwm which adds windows to a pseudo root
9         window, and for icewm by a small offset because it defines the
10         geometry position whithin its border.
11
12         * gtk/testgtk.c: added "saved position" test to figure how
13         gdk_window_get_root_origin() interacts with window managers (repopup
14         this window to figure ;).
15
16 Wed Sep 23 06:09:19 1998  Tim Janik  <timj@gtk.org>
17
18         * configure.in: update to Gtk+ version 1.1.3, binary age 1,
19         interface age 1.
20
21         * gtk/gtkobject.c
22         (gtk_object_ref): 
23         (gtk_object_unref): check for ->ref_count to be greater than 0 (the
24         existing code was buggy in letting ->ref_count==0 pass through and
25         then failing the living_objs_ht assertion).
26
27         * gtk/gtkclist.c (draw_row): fix chopping bug for right justified
28         pixtext fields (Roman Pozlevich <roma@botik.ru>).
29
30 Mon Sep 21 23:53:18 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
31
32         * Released GTK+ 1.1.2
33
34 Mon Sep 21 01:12:44 1998  Jay Cox  (jaycox@earthlink.net)
35
36         * gtk/Makefile.am: use $(PERL) instead of perl
37         * gtk/gtkcolorsel.c: render properly in non-square aspect ratios.
38         also much faster to render.
39
40 Mon Sep 21 07:44:30 1998  Tim Janik  <timj@gtk.org>
41
42         * gtk/gtkobject.c (gtk_object_class_add_signals): reallocate
43         the required memory block, rather than allocating it newly from
44         scratch and doing a full-blown block copy on it.
45
46 Mon Sep 21 02:30:06 1998  Tim Janik  <timj@gtk.org>
47
48         * NEWS file update for upcoming release of Gtk+ version 1.1.2,
49         binary age 0, interface age 0.
50
51         * gtk/gtkmain.c (gtk_init): enforce gtk-modules to always be resident.
52
53 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
54
55         * ltconfig.sh: Patch to libtool-1.2b to make --disable-static
56         work.
57
58 Sun Sep 20 09:52:39 1998  Owen Taylor  <otaylor@gtk.org>
59
60         * HACKING: indent other than GNU indent should be OK
61           now.
62
63         * gtk/genmarshal.pl gtk/Makefile.am: Call indent on file
64           instead of piping through indent. If indent wasn't
65           found in ./configure don't bother indenting at 
66           all.
67
68 Fri Sep 18 19:11:10 1998  Owen Taylor  <otaylor@redhat.com>
69
70         * gdk/gdk.h: Add names to prototype for gdk_image_new_bitmap.
71
72 Fri Sep 18 18:54:59 1998  Jay Cox  (jaycox@earthlink.net)
73
74         * gtk/Makefile.am: use $(AWK) instead of awk
75
76 1998-09-18  Raja R Harinath  <harinath@cs.umn.edu>
77
78         * gtk/Makefile.am (gdk_headers): 
79         Remove references to $(top_srcdir). 
80         (gtk.defs, gtktypebuiltins{.h,_vars.c,_ids.c,_evals.c}): Simplify.
81         * gtk/makeenums.pl (parse_entries): Don't look for $srcdir.
82
83 Fri Sep 18 19:58:24 1998  Tim Janik  <timj@gtk.org>
84
85         * gtk/gtkobject.h (struct _GtkObject): changed gpointer object_data; to
86         GData*object_data to cure compiler warnings.
87
88 Thu Sep 17 19:06:47 PDT 1998 Manish Singh <yosh@gimp.org>
89
90         * install-sh
91         * missing
92         * mkinstalldirs: updated to latest automake version
93
94 1998-09-17  Raja R Harinath  <harinath@cs.umn.edu>
95
96         * gtk/Makefile.am (source_headers): Move `gtkfeature.h' ...
97         (gtkinclude_HEADERS): ... here.
98         (gtk.defs): Pass `g' flag to sed, to replace all occurances.
99
100 Thu Sep 17 10:49:51 1998  Raph Levien  <raph@gimp.org>
101
102         * HACKING: added GNU indent, as it is now required to successfully
103         build gtk+. Should this be detected in autoconf, possibly?
104
105 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
106
107         * Makefile.am gtk-config.in l*: Update to libtool-1.2b,
108         change library versioning scheme to drop LT_RELEASE
109         from the -l line, while keeping it in the soname.
110
111 Tue Sep 15 14:10:33 1998  Owen Taylor  <otaylor@redhat.com>
112
113         * configure.in Makefile.in: define a MAINT-like variable REBUILD
114         which is set if Perl and awk are found, and autogenerated sources
115         can be rebuilt. Remove the auto-generated sources from
116         CVS. 
117
118         Add dependencies so that the autogenerated sources are 
119         rebuilt if the files they depend on change. 
120         (This unfortunately currently results in the entire
121         gtk/ directory being rebuilt when any header changes.
122         Moving all enums to gtkenums.h would fix this.)
123
124 Thu Sep 17 05:12:48 1998  Tim Janik  <timj@gtk.org>
125
126         * gtk/gtkobject.h: added gtk_object_set_data_destroy and
127         gtk_object_set_data_destroy_by_id functions to set the destroy
128         function pointer for an existing data portion.
129
130         * gtk/gtkobject.c: removed the GtkObjectData implementation and
131         made all gtk_object_*data* functions use the GLib equivalents.
132
133 1998-09-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
134
135         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Test whether type
136         is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before checking that
137         (widget != NULL), otherwise radio button insertion will not work
138         -- the widget argument is NULL for the first radio button in the
139         group.
140
141 Tue Sep 15 13:09:24 1998  Owen Taylor  <otaylor@redhat.com>
142
143         * gdk/gdkimage.c (gdk_image_new): Reverted global changes
144         of g_new to malloc(), added back in the one place where
145         it actually mattered. #include <stdlib.h>.
146
147         * gdk/gdkrgb.c: g_malloc() to malloc() as above.
148
149 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
150
151         * gtk/gtkfilesel.c: Keep a list of directories in which we never
152         want to stat the entries (like /afs), and assume everything in
153         those directories is a subdirectory.
154
155         - When following a path, try to open components even when
156         we don't find them in their parent's directory to
157         support automounters.
158
159 Tue Sep 15 11:06:13 1998  Owen Taylor  <otaylor@redhat.com>
160
161         * gtk/gtkwindow.c (gtk_window_move_resize): Don't request
162         a new size from the WM if we asked for the same size
163         before and our request was rejected.
164
165         * gtk/gtkwindow.c (gtk_window_configure_event): If
166         in response to a request, we get a configure event
167         with unchanged dimensions, send a synthetic expose
168         since ForgetGravity won't expose our window.
169
170 Mon Sep 14 14:28:24 1998  Owen Taylor  <otaylor@redhat.com>
171
172         * gtk/gtktext.c (adjust_adj): Change the way we
173         set the adjustments on resize so that it tries to
174         keep the beginning of the text in approximately
175         the same place. 
176
177         Removed assertion that the above change made invalid.
178
179 Thu Sep 10 22:19:35 1998  Owen Taylor  <otaylor@redhat.com>
180
181         * gtk/gtktext.c: - Save first_cut_pixels when switching
182         sizes, so that if we switch to the _same_ size,
183         we don't move lines around.
184
185         - Make sure that the text area always has a size of at
186         least 1x1, then do all computations when realized.
187
188         - When fetching lines in recompute_geometry, make
189         sure we fetch enough lines to cover the screen.
190         
191 Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
192
193         * gdk/gdkimage.c: changed g_new()s to malloc()s and 
194           g_free()s to free()s to avoid mixing g_new()s with 
195           free()s.  X itself uses free() on some of the 
196           malloced memory.
197
198 Sat Sep 12 10:44:06 1998  Owen Taylor  <otaylor@redhat.com>
199
200         * gtkfilesel.c: Maintain a list of directories like
201         /afs we know contain only directories, and avoid
202         stat'ing files in those directories. (Because
203         stat'ing all files in /afs is extremely expensive)
204
205         To support automounters, try to open directories,
206         even if we couldn't find them when reading their
207         parent directory.
208
209 Thu Sep  3 10:29:03 1998  Owen Taylor  <otaylor@redhat.com>
210
211         * gtk.m4: Conditionalize check for GTK_MAJOR_VERSION,
212         to allow the same gtk.m4 to work for 1.0.x and
213         1.1.x.
214
215 Fri Sep 11 15:25:10 1998  Lars Hamann  <lars@gtk.org>
216
217         * gtk/gtkclist.c (gtk_clist_set_selectable): new function
218         to set/unset the selectable flag of a single row.
219         (gtk_clist_get_selectable): new function 
220         to get the state of the selectable flag
221
222         * gtk/gtkctree.c (gtk_ctree_node_set_selectable)
223         (gtk_ctree_node_get_selectable): clist analogons
224         
225 Thu Sep 10 17:04:03 1998  Raph Levien  <raph@gimp.org>
226
227         * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test
228         pattern.
229
230         * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment
231         bugs in the 4bit gray cases.
232
233 Wed Sep  9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org>
234
235         * configure.in: added -posix check for NeXTStep
236
237         * gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
238         a unique buffer for each thread.
239
240         * docs/gtk-config.1: clarified copyright
241
242 Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>
243
244         * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.
245
246         * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.
247
248         * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
249         ATEXIT.
250         
251         * ltconfig: use GLib's ltconfig which honours lcc.
252
253 Mon Sep  7 20:09:23 PDT 1998 Manish Singh <yosh@gimp.org>
254
255         * configure.in: comment the -std1 check and save LIBS properly
256
257 Sun Sep  6 12:36:23 PDT 1998 Manish Singh <yosh@gimp.org>
258
259         * gtk/testrgb.c: #include <stdlib.h>
260
261 Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>
262
263         * gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
264         When the pointer is grabbed on an input window,
265         either explicitely, or through press-grab, and
266         then grabbed on a non-input window, ungrab the
267         devices.
268
269 Sat Sep  5 07:13:19 1998  Tim Janik  <timj@gtk.org>
270
271         * gtk/gtktypeutils.h: don't include any gdk headers.
272         added structure definitions for GtkTypeObject and GtkTypeClass,
273         which cover the very basic fields of GtkObject and GtkObjectClass,
274         which are actually used by the type system.
275         
276         * gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
277         we only refer to our own structures. improved class inheritance
278         sanity checking a bit.
279
280         * gtk/gtkobject.h: placed appropriate comments at the beginnings
281         of the GtkObject and GtkObjectClass structures, which explain
282         their relationship to GtkTypeObject and GtkTypeClass.
283
284         * gtk/gtktypeutils.h:
285         * gtk/gtkobject.h:
286         moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
287         GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
288         gtkobject.h to gtktypeutils.h.
289
290         * gtk/gtkobject.h:
291         * gtk/gtkobject.c:
292         removed gtk_object_check_cast() and gtk_object_check_class_cast()
293         functions. to keep source compatibility, we can provide macro aliases
294         for the corresponding gtk_type_* functions. but then again, people
295         shouldn't have been using these functions anyways since they were part
296         of Gtk's internal API.
297
298         * gtk/gtktypeutils.h:
299         * gtk/gtktypeutils.c:
300         implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
301         functions to check GtkTypeObject and GtkTypeClass types.
302
303 Thu Sep  3 07:16:54 1998  Tim Janik  <timj@gtk.org>
304
305         * gtk/gtkctree.h:
306         * gtk/gtkctree.c: `const' fixups.
307
308         * gtk/gtkclist.h:
309         * gtk/gtkclist.c: `const' fixups and some coding style adaptions.
310
311         * gtk/gtkctree.c (gtk_ctree_insert_node): don't dereference *text
312         if it is passed as NULL.
313
314 Wed Sep  2 22:41:40 1998  Raph Levien  <raph@gimp.org>
315
316         * gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
317         big-endian cases. Added a 4bpp packed gray mode (somewhat
318         incorrectly hardwired to MSB), which should take care of
319         Stric's hardware.
320
321 Thu Sep  3 04:45:57 1998  Tim Janik  <timj@gtk.org>
322
323         * gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
324         GtkSIgnalQuery leak.
325
326 Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>
327
328         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
329         GTK_MENU_DIR_CHILD: check for the existance of
330         menu_shell->active_menu_item before accessing its child.
331         GTK_MENU_DIR_PREV:
332         GTK_MENU_DIR_NEXT: if we haven't had an active item and still
333         don't, make a default selection.
334
335 Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>
336
337         * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
338         the children with _forall for sensitivity changes and with
339         _foreach on pure state changes. this fixes a lot of the
340         old inclusions of internal widgets into _foreach calls.
341
342         * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
343         do the work. don't walk the subtrees of first level children.
344
345         * gtk/gtktreeitem.c: provide a _forall implementation,
346         which walks the subtrees as well for include_internals.
347
348         * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
349         the submenus as well for include_internals.
350
351         * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
352         implemented gtk_scrolled_window_forall, which will iterate over
353         the viewport and the scrollbars for gtk_container_forall or
354         iterate over the viewports children for gtk_container_foreach.
355
356         * gtk/gtktoolbar.c: 
357         * gtk/gtktable.c: 
358         * gtk/gtkpaned.c:
359         * gtk/gtkpacker.c:
360         * gtk/gtkmenushell.c: 
361         * gtk/gtklist.c: 
362         * gtk/gtkfixed.c:
363         * gtk/gtkclist.c:
364         * gtk/gtkbox.c: 
365         * gtk/gtkbin.c: 
366         * gtk/gtknotebook.c:
367         removed the old gtk_*_foreach functions and provided gtk_*_forall.
368
369         * gtk/gtknotebook.c:
370         (gtk_notebook_real_switch_page): expose tabs.
371         (gtk_notebook_page_num): new function to return the page number
372         of a distinct child.
373         (gtk_notebook_focus): minor fixups. foxus handling is still screwed
374         under some circumstances.
375
376         * gtk/gtktreeitem.c:
377         (gtk_real_tree_item_select):
378         (gtk_real_tree_item_deselect): major fixes.
379         some general fixups wrt queue_redraw, and tree items not being
380         NO_WINDOW widgets.
381
382         * gtk/gtklistitem.c:
383         (gtk_real_list_item_select): 
384         (gtk_real_list_item_deselect): 
385         (gtk_real_list_item_toggle): 
386         removed unneccessary queue_redraw calls.
387
388 Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>
389
390         * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
391         automatically popup the menu on space bar.
392
393 Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>
394
395         * gtk/gtkcontainer.h:
396         * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
397         method), which acts similar to gtk_container_foreach(), but iterates
398         over internal children. the GtkContainer::foreach signal vanished in
399         favour of a new class method ->forall() that optionally includes
400         internal widgets.
401
402         * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
403         but a _forall implementation, since all child widgets we have are
404         internal ones.
405         (column_button_create): set the parent window prior
406         to gtk_widget_set_parent().
407
408         * gtk/gtkwidget.c:
409         exchanged all calls to gtk_container_foreach() with
410         gtk_container_forall().
411
412         * gtk/gtkwidget.h: 
413         * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
414         the GtkWidget::composite_child argument. to have a widget created
415         with the flag initially, two new functions got added to wrap a widgets
416         creation:
417         gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
418
419 Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>
420
421         * gtk/gtktooltips.h:
422         * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
423         gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
424         prior to the first tip being set.
425         don't put an extra reference on the window, since it is a toplevel,
426         it wont get destroyed from anywhere else.
427
428         * overall macro and GtkType fixups.
429
430 1998-09-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
431
432         * gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
433         constructs by more forgiving ones.  (Does anyone else feel like
434         the color selector need rewriting?).
435
436 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
437
438         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
439         the adjustment.
440
441         * gtk/gtkmenu.c: Modified reference counting so
442         that the reference count from the toplevel that
443         the menu creates to the menu is invisible to the
444         application.
445
446 Mon Aug 31 21:36:31 1998  Raph Levien  <raph@gimp.org>
447
448         * gdk/gdkrgb.c (gdk_rgb_select_conv): Improved the 24bpp
449         conversion selection logic, so Suns and other big-endian
450         machines should get faster conv routines. This is also the
451         point where 4bpp gray and 1bpp are checked in, although I
452         wouldn't be surprised if 1bpp is a little buggy. This is
453         synchronized with the 0.0.7 release of GdkRgb.
454
455         * gtk/Makefile.am: 
456         * gtk/testrgb.c: Checked in testrgb.c to CVS, and made the
457         appropriate change to the Makefile.am
458
459 Mon Aug 31 15:18:19 1998  Raph Levien  <raph@gimp.org>
460
461         * gdk/gdkrgb.[ch]: Added a gdk_draw_rgb_image_dithalign function,
462         which is good for images that scroll (makes the dither patterns
463         align correctly)
464
465 Sat Aug 29 14:50:56 PDT 1998 Manish Singh <yosh@gimp.org>
466
467         * gdk/gdkcolor.c:
468         (gdk_colormap_new) (gdk_colormap_get_system):
469         quell some warnings with g_hash_table_new
470
471         * gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery
472         when we're done with it
473
474         * gtk/itemfactory.c:
475         (gtk_item_factory_from_path):
476         (gtk_item_factory_create_item): free some strings
477
478         * gtk/gtklabel.c:
479         (gtk_label_finalize): free label->pattern when done
480         (gtk_label_parse_uline): null terminate pattern string, delete
481         some duplicated code
482
483         * gtk/testthreads.c: add #include <unistd.h> for sleep()
484
485 Tue Aug 25 16:52:47 1998  Owen Taylor  <otaylor@redhat.com>
486
487         * gtk/gtktext.c (recompute_geometry): Make sure the
488         mark we pass to line start is the beginning of a 
489         real line, not a wrapped one.
490
491 Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>
492
493         * gtk/gtktext.c: Reference count the fonts used in
494         the text widget.
495
496         * gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
497         freeing functions to be more consistent, and more 
498         convenient; leave the old names in for backwards compatibility.
499
500         * gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
501         allocations in pseudo-color colormaps to greatly reduce
502         calls to XAllocColor. Keep a per-colormap hashtable to
503         speed up finding if there is an already-allocated matching
504         color.
505
506         * gdk/gdkcolor.c: Don't just match read the system colormap
507         when the colormap is created, but synchronize our copy
508         with the system colormap periodically.
509         
510         * gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c: 
511         Change XIM constants names to match GDK conventions
512
513         * gtk/testinput.c: Allow the drawing area to get the focus.
514
515         * gtk/testgtk.c: Change around the Text test to demonstrates
516         multiple fonts, use more colors.
517
518         * gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
519         so they work after a widget is unrealized.
520
521         * gtk/gtktext.[ch]: Remove the requirement that the text
522         widget be realized before adding text (!) Allocate colors
523         ourself, instead of requiring the caller allocate them.
524         Allow changing styles to work properly by keeping track
525         of the values for a certain property are default or
526         set explicitely.
527
528         * gtk/gtkmenu.h: Added some comments.
529
530         * gtk/gtkentry.c: Changes to match XIM constants.
531
532         * gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
533         for adding keyed data to drawables. (Uses g_dataset
534         internally)
535
536         * gdk/gdkpixmap.c: Keep track of the colors we allocate,
537         when creating an XPM - store them as user data for the GdkPixmap,
538         so we don't leak colors when we create pixmaps from XPM's.
539
540         Allocate memory for color information in large blocks instead of 
541         as many little pieces.
542         
543 Mon Aug 24 11:09:32 PDT 1998 Manish Singh <yosh@gimp.org>
544
545         * gdk/gdkrgb.c: removed some unused variables
546
547         * gtk/gtkclist.c
548         * gtk/gtkmain.c: #if 0'd out some unused code
549
550         * gtk/gtkobject.c: check for NULL object hash table in gtk_object_debug
551
552 Mon Aug 24 02:36:53 1998  Tim Janik  <timj@gtk.org>
553
554         * gtk/gtkarg.h:
555         * gtk/gtkarg.c:
556         * gtk/gtkwidget.h: 
557         * gtk/gtkwidget.c: 
558         * gtk/gtkobject.h:
559         * gtk/gtkobject.c:
560         * gtk/gtkcontainer.h: 
561         * gtk/gtkcontainer.c: 
562         (gtk_object_new):
563         (gtk_object_set):
564         (gtk_widget_new):
565         (gtk_widget_set): 
566         (gtk_container_add_with_args):
567         (gtk_container_child_set):
568         begin the parameter elipsis (...) after the first argument name. this
569         change is source compatible, since it was always required, even as NULL.
570         (gtk_args_collect): 
571         (gtk_object_args_collect): 
572         (gtk_container_child_args_collect):
573         changed prototypes to pass first_arg_name, also, pass va_list variable
574         by value (portability concerns). callers changed.
575
576         * gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
577         a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
578         can't pass va_list variables by reference for portability reasons.
579
580 Fri Aug 21 22:40:00  Raph Levien  <raph@gtk.org>
581
582         * gdk/gdkrgb.c: added calls to gdk_rgb_init in the get_cmap and
583         get_visual calls, so that it gets implicitly initialized.
584
585 Fri Aug 21 13:06:04 1998  Stuart Parmenter  <pavlov@gimp.org>
586         * gtk/gtkfeatures.h.in:  added GTK_HAVE_FEATURES_1_1_2 for changes
587         such as GtkCTree function name changes
588         
589 Fri Aug 21 02:31:26 1998  Tim Janik  <timj@gtk.org>
590
591         * gtk/gtkmain.h:
592         * gtk/gtkmain.c (gtk_check_version): added a function to perform a
593         binary version check, returning a static string for error descriptions,
594         or NULL on success.
595
596 Thu Aug 20 20:08:15 1998  Owen Taylor  <otaylor@redhat.com>
597
598         * gtk/gtktext.c ([un]draw_cursor): Check to see if we've
599         computed our geometry yet, and if not, ignore the request.
600
601         * gtk/gtktext.c (correct_cache_insert): Fiddled around
602         some more. All the bug-test codes seem to work at once
603         now. (fingers crossed...)
604
605 Thu Aug 20 13:04:08 PDT 1998 Manish Singh <yosh@gimp.org>
606
607         * gdk/gdkrgb.c: silly visual fixes
608
609         * gtk/testgtk.c: call gdk_rgb_init so color preview test actually
610         works
611
612 1998-08-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
613
614         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
615         anything if the event's window is not the bin window.
616         (gtk_handle_box_motion): Likewise.
617
618 1998-08-19  Raph Levien  <raph@gimp.org>
619
620         * gtk/testgtk.c (create_color_preview): pushed the colormap and
621         visual so it would work better with GdkRgb.
622
623 1998-08-19  Raph Levien  <raph@gimp.org>
624
625         * gdk/gdkrgb.c: fixed some bugs in the 565_d mode, and added a
626         4bpp static_color mode (for vga displays). Also fixed a '64' value
627         in the dither matrix, which was causing one pixel out of 16k to be
628         dithered wrong.
629
630         * gtk/gtkpreview.{c,h}: Changed it to work with GdkRgb, gutting
631         most of the contents. This is an API change - any apps that relied
632         on the internal structure of GtkPreview will need some change -
633         most notably in the use of reserved colors. The Gimp needed
634         changes in this regard.
635
636 Wed Aug 19 00:11:14 1998  Tim Janik  <timj@gtk.org>
637
638         * gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
639         G_ENABLE_DEBUG being defined (specifically --gtk-module= and
640         --g-fatal-warnings), noticed by miguel.
641
642 Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>
643
644         * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
645         getcwd().
646
647         * gdk/gdkprivate.h:
648         * gdk/gdkglobals.c:
649         * gdk/gdkwindow.c:
650         * gdk/gdk.c:
651         * gtk/gtkwindow.c: 
652         * gtk/gtkitemfactory.c: 
653         dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.
654
655         * gtk/gtkselection.c:
656         * gtk/gtkpreview.c:
657         * gtk/gtkobject.c: 
658         * gtk/gtkmain.c: 
659         * gtk/gtktypeutils.c: indentation fixes due to g_message() use.
660
661         * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
662
663 Tue Aug 18 17:22:22 1998  Lars Hamann  <lars@gtk.org>
664
665         * gtk/gtknotebook.c (gtk_notebook_switch_focus_tab): 
666         * gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
667         in case of show_tabs == NULL
668
669 Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>
670
671         * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
672         to --g-fatal-warnings again. this option now causes log levels of
673         WARNING and CRITICAL to abort().
674
675         * gdk/gdk.c: 
676         * gdk/gdkdnd.c: 
677         * gdk/gdkcc.c: 
678         * gdk/gdkfont.c: 
679         * gdk/gdkwindow.c:
680         * gdk/gdkvisual.c:
681         * gtk/gtkwidget.c:
682         * gtk/gtktypeutils.c:
683         * gtk/gtktree.c:
684         * gtk/gtkfontsel.c:
685         * gtk/gtkmain.c:
686         * gtk/gtkobject.c:
687         * gtk/gtkpreview.c:
688         * gtk/gtkselection.c:
689         * gtk/gtktext.c:
690         * gtk/gtktree.c:
691         * gtk/gtktreeitem.c:
692         did a global search&replace to substitute g_print() calls with
693         g_message(). libraries shouldn't use printf(), g_print() or
694         g_printerr() at all.
695         a bunch of the replacements should probably be wrapped into the
696         G{D|T}K_NOTE() macros, so they are special cased for debugging
697         purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
698         things.
699
700         * gdk/gdkdnd.c: added copyright notice.
701
702 Mon Aug 17 17:28:00  Raph Levien  <raph@gtk.org>
703
704         * gdk/gdkrgb.c: Further speedups of the 565_d case. It's
705         impressively fast now - about 4.65 Mpix/s on an IBM TP 600
706         running a PII 233. It's synced with the 0.0.5 release of
707         GdkRgb.
708
709 Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>
710
711         * gtk/gtkclist.h:
712         (struct _GtkCListClass): new class methods:
713         (sort_list) (insert_row) (remove_row) (set_cell_contents)
714
715         * gtk/gtkclist.c :
716         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
717         removed and replaced by (set_cell_contents)
718         (set_cell_contents): function for class method set_cell_contents
719         (real_insert_row): function for class method insert_row
720         (real_remoce_row): function for class method remove_row
721         (real_sort_list): function for class method sort_list
722         (default_compare): fix to avoid problems with cell types != CELL_TEXT
723
724         * gtk/gtkctree.h :
725         (gtk_ctree_export_to_gnode): new function to export a ctree as gnode 
726         (gtk_ctree_node_is_visible): new function to return visibility state
727         of a node
728         (gtk_ctree_show_stub): new function to set visibility of root stub
729
730         renamed functions :
731         (gtk_ctree_insert) -> (gtk_ctree_insert_node)
732         (gtk_ctree_remove) -> (gtk_ctree_remove_node)
733         (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
734         (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
735         (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
736         (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
737         (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
738         (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
739         (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
740         (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
741         (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
742         (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
743         (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
744         (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
745         (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
746         (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
747         (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
748         (gtk_ctree_sort) -> (gtk_ctree_sort_node)
749         (gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
750
751         * gtk/gtkctree.c :
752         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
753         removed and replaced by (set_cell_contents)
754         (set_cell_contents): function for class method set_cell_contents
755         (real_insert_row): function for class method insert_row
756         (real_remoce_row): function for class method remove_row
757         (real_sort_list): function for class method sort_list
758         (default_compare): removed. CTree now also compares two GtkCTreeRows
759         instead of two GtkCTreeNodes.
760         (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
761         unlinking the node
762         (real_tree_expand) (real_tree_collapse): fix for refcounting of
763         node pixmaps
764         (set_node_info): call gtk_ctree_node_set_pixtext instead of
765         manipulating the row itself
766         
767         * gtk/testgtk.c: use renamed functions of GtkCTree.
768         new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
769         at work.
770
771 Mon Aug 17 15:31:38 1998  Tim Janik  <timj@gtk.org>
772
773         * gtk/gtkmain.c: removed gtk_input_add_interp.
774
775         * gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
776         keyword.
777         (gtk_editable_get_event_time): fix default: case.
778
779         * gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.
780
781         * gdk/gdkpixmap.c: made a bunch of unexported functions static.
782
783         * gdk/gdkcolor.c:
784         * gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
785         of our functions.
786
787         * various minor compilation cleanups, such as bogus commas in
788         enums and similar things.
789
790 Mon Aug 17 07:47:43 1998  Tim Janik  <timj@gtk.org>
791
792         * gtk/gtkmain.c (gtk_init): NULL terminate the arg list to g_strconcat()
793         (thanx raph).
794
795 Sun Aug 16 23:14:20 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
796
797         * NEWS: updated for 1.1.2
798         * gtk+.spec: version = 1.1.2
799
800 Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
801
802         * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
803         times. changed --gtk-with-module to --gtk-module at owen's request.
804
805 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
806
807         * gtk/gtkmain.c (gtk_init): feature a new commandline option
808         --gtk-with-module=<module> that allows additional loading and
809         initialization of modules (e.g. GLE).
810
811 Mon Aug 17 01:40:00 1998  Tim Janik  <timj@gtk.org>
812
813         * configure.in: version bump to 1.1.2, binary age 0, interface age 0.
814         pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.
815
816         * gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
817         with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
818         "--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
819         different *-fatal-* arguments now. this needs to be revised and
820         compressed to a reasonable amount of arguments.
821
822 Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>
823
824         * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
825         "--g-fatal-warnings" causes fatal warnings in GLib,
826         "--gdk-fatal-warnings" causes fatal warnings in Gdk,
827         "--gtk-fatal-warnings" causes fatal warnings in Gtk.
828
829         * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
830         * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.
831
832         * gtk/testgtk.c: 
833         * gdk/gxid.c:
834         we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
835         since automake doesn't support per target _CFLAGS yet.
836
837         * configure.in: require GLib 1.1.3.
838
839 Sat Aug 15 03:19:30 1998  John Ellis  <johne@bellatlantic.net>
840
841         * gtk/gtkctree.[ch] (gtk_ctree_set_drag_compare_func): New function
842         to set a callback to test if a node in drag can be dropped onto
843         it's currrent location.
844         * gtk/gtkctree.c (set_mouse_cursor),(check_cursor): New functions
845         to change the pointer when a drag destination is not allowed.
846
847 Thu Aug 13 21:06:00 1998  Raph Levien  <raph@gtk.org>
848
849         * gdk/gdkrgb.c: committing a patch by Ray Lehtiniemi that
850         speeds up the 565_d case by about 25% total. Thanks Ray!
851
852 Thu Aug 13 16:47:44 1998  Owen Taylor  <otaylor@redhat.com>
853
854         * Changed GtkSignalFunc back to () from (void). (again!)
855
856         * Added file README.cvs-commits
857         
858 Thu Aug 13 09:11:11 BST 1998  Tony Gale  <gale@gtk.org>
859
860         * docs/gtk_tut.sgml:
861           - Tidy up of the menufactory example from
862             Andy Kahn <kahn@zk3.dec.com>
863           - New section on Range Widgets from
864             David Huggins-Daines <bn711@freenet.carleton.ca>
865           - Started a new section on 'Advanced Event and Signal
866             Handling' - used an email from Owen.
867           - New appendix on Gdk Event Types
868           - Added the tictactoe full example code to the
869             'Code Examples' appendix
870
871 Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>
872
873         * gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() - 
874           to calculate all the metrics at once of a string, including
875           things which weren't calculated before.
876
877         * gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
878           MenuItem type, that when put as the first thing in a
879           menu, makes the menu tearoff. Currently drawn as a
880           dashed line.
881
882         * gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
883           "hide_on_activate" to the MenuItem class structure to allow
884           check and radio buttons to be changed with <Space> without
885           hiding the menu.
886
887         * gtk/gtkitemfactory.c: 
888           - Create a AccelGroup for each MenuShell we create.
889           - If an '_' appears before a  character 'c' in the path,
890             then make 'c' an accelerator in the menu's accel group,
891             and if the menuitem is menubar <alt>C an accelerator 
892             in the itemfactory's accel group. Double '__' inserts
893             a literal '_'
894
895         * gtk/gtklabel.[ch]: Add support for a pattern arg - 
896           which is a string. If an '_' appears in this string,
897           the corresponding position in the label is underlined.
898
899           Add gtk_label_parse_uline() convenience function which
900           takes a string with embedded underlines, sets the
901           pattern and label, and returns the accelerator keyval.
902
903         * gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
904           Instead, they create a GtkWindow and add themselves
905           to that. (When torn off, another new feature, they
906           create another GtkWindow to hold the torn off menu)
907
908           New function gtk_menu_set_tearoff_state()
909         
910         * gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h: 
911           Added action signals  for keyboard navigation of menus.
912
913         * gtk/gtkmenushell.c: Key press handler which activates
914           bindings for navigation, and accelerators, for handling
915           underline accelerators. Exported functions to select 
916           and activate menu items in a menushell.
917
918         * gtk/testgtk.c: Added a new "Item Factory" test which
919           tests GtkItemFactory and the new keyboard navigation
920           of menus.
921
922 Tue Aug 11 20:52:58 1998  Tim Janik  <timj@gtk.org>
923
924         * gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
925         external functions have been called. also relookup nodes after
926         this function has been invoked.
927
928 Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>
929
930         * gtk/gtktext.[ch]: Removed has_cursor, set the cursor
931           beginning of Text when creating the Text widget.
932
933         * gtk/testgtk.c: Grab the focus on the text widget so
934           as to test out the above.
935
936 Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>
937
938         * gtk/gtkeditable.c: Reverted part of timj's change of Jul 16. 
939           ::changed is a notification signal and should have no default
940           handler. A complete redraw of the Text widget does _not_ need to
941           be done on every text insertion.
942
943 Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
944         (gtk-abilleira-072198-patch)
945
946         * gtk/gtkwindow.[ch]: 
947           Add gtk_window_set_modal() which sets a flag; when
948           set the window does a gtk_grab_add() when the window
949           is shown, and a gtk_grab_remove() when the window
950           is hidden. 
951
952         * gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
953           that case will run "Create Dir","Delete File" and "Rename File" 
954           dialogs as modal too.
955
956         * gtk/testgtk.c: Added a button with an example of creating modal 
957           dialog boxes. Including file selection and color selection standard
958           dialogs.
959         
960 Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>
961
962         * gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
963           Removed CAN_FOCUS by default from scrollbars, button
964           children of toolbar. (But not GTK_TOOLBAR_CHILD_WIDGET children)
965           (Scrollbar definitely good change, toolbar bit more questionable)
966
967 Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>
968
969         * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
970         Pettersen).
971
972 Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
973
974         * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
975           added all logical operations to gc->function.
976
977 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
978
979         * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
980         gtk_widget_size_allocate instead of gtk_widget_queue_resize
981         if the visibility state of a scrollbar changes.
982
983 Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>
984
985         * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
986
987 Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>
988
989         * gtk/gtkclist.c: Renamed my_merge and my_mergesort to
990         gtk_clist_merge and gtk_clist_mergesort. :)
991
992 1998-08-06  Martin Baulig  <martin@home-of-linux.org>
993
994         * gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
995         `mergesort' -> `my_mergesort'.
996
997 Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>
998
999         * gtk/gtkenums.h: new enum GtkSortType.
1000         
1001         * gtk/gtkclist.h:
1002         * gtk/gtkclist.c:
1003         Added sorting capabilities to GtkCList. New APIs :
1004         gtk_clist_set_compare_func, gtk_clist_set_sort_column,
1005         gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort. 
1006         New internal functions : default_compare, merge, mergesort.
1007
1008         (gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
1009         
1010         (gtk_clist_insert): Modified to handle gtk_clist_append and the
1011         auto sort flag. Changed the return value from void to gint to
1012         return the row number where the element was actually inserted.
1013
1014         (gtk_clist_swap_rows): Return immediately if auto sort flag is set.
1015         
1016         * gtk/gtkctree.h:
1017         * gtk/gtkctree.c:
1018         Removed the auto_sort flag, replaced ctree->node_compare with
1019         clist->compare all over the place, modified default_compare to
1020         match clist's needs. Removed API´s : gtk_ctree_set_auto_sort,
1021         gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
1022
1023         * gtk/testgtk.c: Modified clist/ctree samples to demonstrate
1024         sorting. The lists can be sorted by a column by clicking the 
1025         corresponding title button.
1026         
1027 Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
1028
1029         * Released GTK+ 1.1.1
1030
1031 Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>
1032
1033         * gtk/gtkctree.h:
1034         * gtk/gtkctree.c:
1035         (gtk_ctree_find): changed to return a gboolean
1036         (gtk_ctree_insert_gnode): new function for recursive insertion of a
1037         GNode tree.
1038         (gtk_ctree_real_select_recursive): fix for extended selection
1039         (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
1040         (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
1041
1042 Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>
1043
1044         * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
1045         GLib version 1.1.1 is now required at minimum.
1046
1047         * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
1048         of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
1049
1050 Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>
1051  
1052         * gtk/gtktext.c (gtk_text_forward_delete): Undraw the
1053           cursor before (possibly) deleting the cursor's text
1054           property.
1055  
1056         * gtk/gtktext.c (correct_cache_delete): More attempts
1057           to clean the line-start cache up after inserting
1058           a property. Among other things, make sure to
1059           fix up text->current_line, since it is used to 
1060           refetch the changed lines.
1061  
1062 Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>
1063
1064         * gtk/gtktable.[ch]: Empty rows/columns of the table
1065         should not have been marked as being able to shrink.
1066         (Fixes problem with shrinking scrollbarless GIMP canvases)
1067
1068 1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1069
1070         * gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
1071         function to find a row by its data pointer using a custom
1072         comparison function.
1073
1074 Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>
1075
1076         * gtk/gtkclist.c: draw the buttons during a "draw" as well,
1077           this fixes a bug when the whole widget is made non-sesitive
1078           the buttons weren't redrawn
1079
1080 Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>
1081
1082         * gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
1083         * gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
1084         * gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
1085
1086 Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>
1087
1088         * gdk/gdkwindow.c (gdk_window_reparent): Change 
1089           window_private->parent pointer when reparenting.
1090
1091 Sat Aug  1 22:17:00 1998  Raph Levien  <raph@acm.org>
1092
1093         * gdk/gdkrgb.c: made some minor config changes to unify GdkRgb
1094         with the standalone release.
1095
1096 Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
1097
1098         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
1099         (gtk_clist_button_release) (new_column_width): Few fixes for
1100         column resize. Store resize column in clist->drag_pos.
1101
1102 Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
1103
1104         * gtk/gtkctree.h 
1105         * gtk/gtkctree.c 
1106         * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
1107         to GtkCTreeNode *node.
1108
1109         * gtk/gtklist.h : added extended selection mode and auto scrolling.
1110         (struct _GtkList): removed unneeded variables timer, button,
1111         selection_start_pos, selection_end_pos, scroll_direction, have_grab.
1112         Added new variables undo_selection, undo_unselection, last_focus_child,
1113         undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
1114         drag_selection, add_mode.
1115  
1116         New functions :
1117         (gtk_list_extend_selection), (gtk_list_start_selection),
1118         (gtk_list_end_selection), (gtk_list_select_all),
1119         (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
1120         (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
1121         (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
1122         (gtk_list_undo_selection), (gtk_list_end_drag_selection)
1123         
1124         * gtk/gtklist.c : 
1125         (gtk_list_enter_notify): removed, because auto scrolling now works
1126         with gtk_list_motion_notify
1127  
1128         New functions, needed for auto scrolling :
1129         (gtk_list_motion_notify) (gtk_list_move_focus_child)
1130  
1131         New functions for extended selection support :
1132         (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
1133         (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
1134         (gtk_list_focus_lost)
1135         
1136         (gtk_list_set_focus_child): modified gtk_container_set_focus_child
1137         function to support auto scrolling, and avoid out-of-sync errors in
1138         case auf GTK_SELECTION_BROWSE
1139         (gtk_list_focus): modified gtk_container_focus function to avoid out
1140         off sync errors in case auf GTK_SELECTION_EXTENDED
1141
1142         * gtk/gtklistitem.h 
1143         * gtk/gtklistitem.c :
1144         New signal functions for key binding support :
1145         (toggle_focus_row), (select_all), (list_item), (unselect_all)
1146         (list_item), (undo_selection), (start_selection), (end_selection)
1147         (extend_selection), (scroll_horizontal), (scroll_vertical),
1148         (toggle_add_mode)
1149         (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
1150         GDK_KEY_RELEASE_MASK
1151         (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
1152  
1153         * gtk/gtkcombo.c :
1154         (gtk_combo_popup_button_press):  grab pointer for combo->list
1155         (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
1156         (gtk_combo_list_key_press): take care of which child HAS_GRAB
1157         (gtk_comb_init): don't connect combo->button with button_release_event
1158
1159 Thu Jul 30 12:39:36 1998  Lars Hamann  <lars@gtk.org>
1160
1161         * gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
1162
1163 Wed Jul 29 23:31:50 1998  Lars Hamann  <lars@gtk.org>
1164
1165         * gtk/gtkclist.c (gtk_clist_motion): column resize now works with
1166         horizontal autoscrolling, GtkCTree's 'reorder ability' now works
1167         with horizontal and vertical autoscrolling.
1168
1169 Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1170
1171         * gtk/docs/man: new directory
1172         * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
1173
1174 Tue Jul 28 00:03:20 1998  Lars Hamann  <lars@gtk.org>
1175
1176         * gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
1177         bug
1178
1179 Mon Jul 27 09:18:13 BST 1998  Tony Gale  <gale@gtk.org>
1180
1181         * docs/gtk_tut.sgml: GtkTree section from
1182           David Huggins-Daines <bn711@freenet.carleton.ca>,
1183           add a GtkText widget example
1184         * examples/text/* example/tree/* : new examples for the
1185           GtkTree and GtkText widgets
1186         * docs/gtk_tut.sgml: added an appendix to hold complete code
1187           examples that aren't in a full form elsewhere in the
1188           tutorial (e.g. scribble)
1189
1190 Mon Jul 27 00:46:21 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1191
1192         * Released GTK+ 1.1.0
1193
1194 Mon Jul 27 04:18:26 1998  Tim Janik  <timj@gtk.org>
1195
1196         * gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
1197         the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
1198
1199 Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
1200
1201         * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
1202         values are looked up.
1203
1204         * gtk/gtktypeutils.h:
1205         * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
1206         gtk_type_enums_find_value to lookup enum values.
1207
1208         * gtk/gtkctree.h: 
1209         * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
1210         GtkCTreeExpansionType. fixed signal creations to pass the enum
1211         types not just the base type GTK_TYPE_ENUM.
1212
1213         * gtk/gtkclist.h: 
1214         * gtk/gtkclist.c: fixed signal creations to pass the real enum
1215         types not just the base type GTK_TYPE_ENUM.
1216
1217 Sun Jul 26 14:50:07 1998  Stefan Jeske  <stefan@gtk.org>
1218
1219         * gtk/testgtk.c : 
1220         Began cleanup, e.g. use gtk_widget_show_all instead of many 
1221         gtk_widget_show's. Completely rewrote the button box sample
1222         (only one window now). Removed "miscellaneous" button.
1223
1224 Sun Jul 26 14:48:14 1998  Stefan Jeske  <stefan@gtk.org>
1225
1226         * gtk/gtkvbbox.c (gtk_vbutton_box_size_allocate): 
1227         Fixed wrong allocation for GTK_BUTTONBOX_END.
1228         (allocation->x  =>  allocation->y)
1229
1230 Sun Jul 26 14:06:37 1998  Lars Hamann  <lars@gtk.org>
1231
1232         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release)
1233         (abort_column_resize) (gtk_clist_key_press): fix for pointer grab
1234         
1235         * gtk/gtkctree.c (real_tree_select): added check to avoid double
1236         selected rows
1237         (gtk_ctree_button_press)
1238         (gtk_ctree_button_release): fix for pointer grab
1239
1240 Sat Jul 25 13:16:00 1998 Damon Chaplin  <DAChaplin@msn.com>
1241
1242         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): 
1243         Fixed initialization problem - dirty memory could cause problems.
1244         Also checked that bitmapped fonts can be scaled when showing the
1245         available sizes.
1246
1247 Sat Jul 25 02:25:03 1998  Lars Hamann  <lars@gtk.org>
1248
1249         * gtk/gtkctree.c (gtk_ctree_sort_recursive)
1250         (gtk_ctree_sort_recursive): test for node != NULL
1251         (gtk_ctree_is_visible) (gtk_ctree_realize) (gtk_ctree_unrealize)
1252         (gtk_ctree_last) : added sanity checks
1253         * gtk/gtkclist.c (gtk_clist_button_press): removed "no_focus_row"
1254
1255 Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
1256
1257         * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
1258
1259 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
1260
1261         * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
1262
1263 Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>
1264
1265         * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
1266         to check out binding priorities. someone should really write
1267         gtkrc-mode for emacs.
1268
1269         * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
1270         * gtk/testgtk.c (main): and move it here ;). this test says something
1271         on release of C-9. (this works only if the mouse pointer is on a
1272         spinbutton and there is no focus widget).
1273
1274         * gtk/gtkrc.h:
1275         * gtk/gtkrc.c:
1276         export gtk_rc_parse_color, gtk_rc_parse_state and a new function
1277         gtk_rc_parse_priority to parse path priority types.
1278         export rc tokens.
1279         feature binding parsing.
1280
1281 Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>
1282
1283         * gtk/gtkbindings.h: 
1284         * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
1285         feature binding parsing in rc files.
1286         * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
1287         * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
1288         order the bindings with lowest priority first.
1289
1290 Wed Jul 22 15:21:08 PDT 1998 Manish Singh <yosh@gimp.org>
1291
1292         * gdk/gdkrgb.c: actually builds and runs properly on big
1293         endian machines now, because we #include config.h. Also
1294         fixed up a compile error in the WORDS_BIGENDIAN case in
1295         gdk_rgb_convert_565_gray. I made the fix by looking at
1296         patterns in the other code; Raph can you verify this?
1297
1298         * gdk/gdkthreads.c: #include <unistd.h> to quell compiler
1299         warnings
1300
1301 Wed Jul 22 23:00:44 1998  Lars Hamann  <lars@gtk.org>
1302
1303         * gtk/gtkctree.c (tree_select/unselect) (tree_expand/collapse) 
1304         (tree_toggle_expansion) (real_select/unselect_row)
1305         (gtk_ctree_select/unselect) : few fixes for gtk_signal_emits
1306
1307 Wed Jul 15 17:44:47 1998  Owen Taylor  <otaylor@redhat.com>
1308
1309         * gtk/gtktext.c (new_text_property): We free things from
1310         the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
1311
1312         * Fix up line start cache when splitting a property
1313         during an insert.
1314
1315 Wed Jul 15 21:15:52 1998  Owen Taylor  <otaylor@redhat.com>
1316
1317         * gtk/gtkwidget.c: restauration => restoration
1318
1319 Thu Jul 16 20:11:36 1998  Owen Taylor  <otaylor@redhat.com>
1320
1321         * gdk/gdkxid.c (gdk_xid_table_lookup): If xid_ht
1322         hasn't been created yet, don't do the lookup.
1323
1324 1998-07-20  Raph Levien  <raph@acm.org>
1325
1326         * gdk/gdkrgb.c: More cleanups in the config process.
1327
1328 1998-07-20  Raph Levien  <raph@acm.org>
1329
1330         * gdkrgb.c: Fixed minor config bug preventing big-endian
1331         architectures from working.
1332
1333 Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>
1334
1335         * gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
1336         activity indicator. It is settable now as a fraction of the
1337         total width/height using gtk_progress_bar_set_activity_blocks.
1338         Renamed gtk_progress_bar_set_number_of_blocks to
1339         gtk_progress_bar_set_discrete_blocks.
1340
1341 Mon Jul 20 21:28:18 1998  Lars Hamann  <lars@gtk.org>
1342
1343         * gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
1344         (gtk_ctree_pre_recursive_to_depth): new functions, recursive process
1345         tree to specified depth
1346         (gtk_ctree_expand_to_depth): expand tree to specified depth
1347         (gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
1348
1349 Sun Jul 19 23:51:05 1998  Lars Hamann  <lars@gtk.org>
1350
1351         * gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
1352         of GTK_CLIST_ADD_MOD
1353         * gtk/testgtk.c (add1000_clist): changed pixmap
1354
1355 Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>
1356
1357         * gtk/gtkmain.h: 
1358         * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
1359
1360         * gtk/gtktypeutils.h:
1361         * gtk/gtkitemfactory.h: remove "void" from prototypes again.
1362
1363 Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>
1364
1365         * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
1366         CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
1367         (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
1368         CHILD_ARG_POSITION
1369         (gtk_notebook_reorder_child): new funktion to change position of a
1370         notebook page
1371         (gtk_notebook_draw_arrow): draw left/right arrow with
1372         GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
1373
1374         * gtk/gtkstyle.c (gtk_default_draw_arrow):
1375         added GTK_SHADOW_ETCHED_IN/OUT
1376
1377 Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>
1378
1379         * gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
1380           gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
1381         Introduced generic GtkProgress widget. Derived GtkProgressBar from
1382         GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
1383
1384 Fri Jul 17 23:49:28 PDT 1998 Manish Singh <yosh@gimp.org>
1385
1386         * gtk/gtktypeutils.h
1387         * gtk/gtkitemfactory.h: explicitly specify void in prototype
1388
1389 Fri Jul 17 17:54:02 1998  Lars Hamann  <lars@gtk.org>
1390
1391         * gtk/gtkclist.c (scroll_vertical): fix to avoid flicker at begin/end
1392         of list
1393
1394 Fri Jul 17 05:30:47 1998  Tim Janik  <timj@gtk.org>
1395
1396         * gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
1397         sropped the approach of copying all signal specific data into a
1398         GtkHandlerInfo structure. we rather keep the signal data on the stack
1399         in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
1400         avoids multiple lookups of the signal pointer and works savely together
1401         with destroy notifiers of handlers.
1402
1403         * gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
1404         someone destroys the entry on the ::activate signal.
1405
1406 Fri Jul 17 01:21:32 1998  Tim Janik  <timj@gtk.org>
1407
1408         * gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
1409         instead of ypad (typo).
1410         (gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
1411         border around the allocation).
1412         (gtk_arrow_init): the static requisition needs to be setup in this
1413         function rather than gtk_widget_new(), so arrow creation works without
1414         the gtk_arrow_new() constructing.
1415         (gtk_arrow_expose): return TRUE, since we actually handled the expose.
1416
1417         * gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
1418         implementation for GtkWidget::size_request, so size requisition for
1419         simple statically sized widgets like GtkArrow works.
1420
1421 Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
1422
1423         * gtk-config.in: minor changes to gtk-config: --cflags doesn't
1424         prepend -I@libdir@/glib/include anymore, since glib-config handles
1425         it; --libs strips out redundant -L<path>'s properly (there was
1426         code in there to do it before, but it didn't work)
1427
1428 Thu Jul 16 18:24:41 1998  Tim Janik  <timj@gtk.org>
1429
1430         * gtk/gtknotebook.h: 
1431         * gtk/gtknotebook.c: signdness corrections all ove the place.
1432         implementation of object arguments: GtkNotebook::enable_popup,
1433         GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
1434         GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
1435         begun implementation of child args, we have GtkNotebook::tab_label, but
1436         GtkNotebook::menu_label and GtkNotebook::position still lack the
1437         implementation.
1438         (gtk_notebook_remove_page):
1439         (gtk_notebook_current_page): allow negative indices (-1) as alias for
1440         the last page.
1441
1442         * gtk/gtkentry.h:
1443         * gtk/gtkentry.c: GtkType and macro fixups. implementation of object
1444         arguments GtkEntry::max_length and GtkEntry::visibility.
1445         (gtk_entry_adjust_scroll): queue a redraw.
1446
1447         * gtk/gtkeditable.h:
1448         * gtk/gtkeditable.c: GtkType und macro fixups. implementation of
1449         object arguments GtkEditable::text_position and GtkEditable::editable.
1450         new (action) signal GtkEditable::set_editable.
1451         provide a default handler for GtkEditable::changed that queues a redraw.
1452
1453         * gtk/gtktext.h: 
1454         * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
1455         set_editable.
1456
1457 Thu Jul 16 14:42:11 1998  Lars Hamann  <lars@gtk.org>
1458
1459         * gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
1460         case of drag_target == NULL
1461         * gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
1462         Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
1463         * gtk/gtkfilesel.c (gtk_file_selection_file_button,
1464         gtk_dir_selection_file_button): fix due to changes in clist's
1465         select_row signal.
1466
1467 Thu Jul 16 01:27:15 1998  Tim Janik  <timj@gtk.org>
1468
1469         * gtk/gtkwidget.h:
1470         * gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
1471         similar to gtk_widget_set_uposition(). that is: -1=unspecified,
1472         -2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
1473         to be gint16s rather than guint16s, since that's what the code expected
1474         (for a long time actually).
1475
1476         * gtk/gtkviewport.c:
1477         added support for object arguments: GtkViewport::shadow_type,
1478         GtkViewport::vadjustment and GtkViewport::hadjustment.
1479         (gtk_viewport_add): chain gtk_bin_add.
1480
1481         * gtk/gtkscrolledwindow.c: 
1482         added support for object argument: GtkScrolledWindow::hscrollbar_policy,
1483         GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
1484
1485         * gtk/gtkadjustment.h: 
1486         * gtk/gtkadjustment.c: 
1487         * gtk/gtkctree.h: 
1488         * gtk/gtkclist.h: 
1489         * gtk/gtkctree.c: 
1490         * gtk/gtkclist.c:
1491         * gtk/gtkscrolledwindow.h:
1492         * gtk/gtkscrolledwindow.c:
1493         * gtk/gtkviewport.h:
1494         * gtk/gtkviewport.c:
1495         GtkType and macro fixups.
1496
1497 Thu Jul 16 01:10:02 1998  Lars Hamann  <lars@gtk.org>
1498
1499         * gtk/gtkctree.h :
1500         * gtk/gtkctree.c :
1501         Added focus handling, horizontal and vertical autoscrolling,
1502         extended Selection Mode, key bindings
1503         Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
1504         Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
1505         Removed gtk_ctree_clear.
1506         
1507         * gtk/gtkclist.h :
1508         * gtk/gtkclist.c : 
1509         Added focus handling, horizontal and vertical autoscrolling,
1510         extended Selection Mode, key bindings
1511
1512 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
1513
1514         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
1515         source tree. For more information on GdkRgb, please see:
1516         http://www.levien.com/gdkrgb/
1517
1518         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
1519         bothers me slightly that the feature is in gdk, and this file is
1520         in gtk, but it's probably ok.
1521
1522         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
1523
1524         * gdk/gdkrgb.c:
1525         * gdk/gdkrgb.h: Added this module.
1526
1527         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
1528
1529         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
1530
1531 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
1532
1533         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
1534         to this function. it needs to relookup the signal multiple times.
1535         this fixes spurious segfaults that could show up with signal intensive
1536         code, when classes are created during a pending emission (which is
1537         normal case).
1538
1539 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
1540
1541         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
1542         child if it isn't a label.
1543
1544 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
1545
1546         * gtk/gtkdialog.h: 
1547         * gtk/gtkseparator.h: 
1548         * gtk/gtkhseparator.h: 
1549         * gtk/gtkvseparator.h: macro and GtkType fixups.
1550
1551 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
1552
1553         * gtk/testgtk.c (create_cursors): display the current cursor name.
1554
1555         * gtk/gtktypeutils.h: 
1556         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
1557         the fundamental type definition. the GtkArg union now only covers
1558         the required storage types for argument values. adapted the GTK_VALUE_*
1559         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
1560
1561         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
1562         code, fixed int/float collection. fixed a bug in the sanity checking
1563         code for GtkObjects.
1564
1565         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
1566         argument collection code.
1567
1568         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
1569         macros when distinguishing the return type.
1570
1571 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
1572
1573         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
1574           is not NULL before trying to g_list_remove the child. A patch
1575           from Michael Lausch.
1576
1577 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
1578
1579         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
1580         collection (always casted to doubles upon argument passing).
1581
1582 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
1583
1584         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
1585         object_init_func for derived objects with the object's ->klass field
1586         still pointing to the corresponding base class, otherwise overridden
1587         class functions could get called with partly-initialized objects.
1588         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
1589
1590 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
1591
1592         * gtk/gtkobject.h:
1593         * gtk/gtkobject.c:
1594         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
1595
1596         * gtk/gtkcontainer.h:
1597         * gtk/gtkcontainer.c:
1598         (gtk_container_child_arg_get_info): new function which wraps
1599         gtk_arg_get_info().
1600
1601 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
1602
1603         * gtk/gtkcontainer.c:
1604         (gtk_container_arg_get): 
1605         (gtk_container_arg_set): 
1606         * gtk/gtkobject.c:
1607         (gtk_object_arg_set): 
1608         (gtk_object_arg_get):
1609         strictly check for the associated get/set arg functions. if an
1610         arg is readable or writable, the associated class functions *must*
1611         be provided.
1612
1613 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
1614
1615         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
1616         padding into account if there is an accelerator.
1617
1618 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
1619
1620         * gtk/gtkcontainer.c:
1621         (gtk_container_add_with_args): collect the arguments with
1622         gtk_container_child_args_collect, not through gtk_object_args_collect.
1623         (gtk_container_child_set): likewise.
1624
1625 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
1626
1627         * gtk/gtktypeutils.h: 
1628         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
1629         which is derived from GTK_TYPE_STRING.
1630
1631         * gtk/gtkbindings.c: reworked the argument type handling.
1632
1633 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1634
1635         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
1636           so that it seems to allow normal operation in those modes,
1637           although you will only see black  (GIMP toolbar now pops up,
1638           just don't create a new image and GIMP now works in 4 bit.)
1639
1640 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1641
1642         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
1643           array, which was too low (?)
1644
1645 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
1646
1647         * gtk/gtkcontainer.h: 
1648         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
1649         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
1650         we now export a new function gtk_container_child_args_collect().
1651         for consistency with the object arguments, a few functions got renamed:
1652         gtk_container_child_arg_get -> gtk_container_child_get,
1653         gtk_container_child_arg_set -> gtk_container_child_set,
1654         gtk_container_child_arg_getv -> gtk_container_child_getv,
1655         gtk_container_child_arg_setv -> gtk_container_child_setv,
1656         gtk_container_add_with_argv -> gtk_container_addv.
1657         note, gtk_container_add_with_args() remained, because its equivalent
1658         would be gtk_container_add(,, ...) which would break all existing code.
1659         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
1660         we expect the `arg_name' argument to be a const static string now.
1661         (gtk_container_get_child_arg_type): function removed.
1662
1663 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
1664
1665         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
1666         this is a static inline function that collects command line arguments
1667         from a va_list. this file can just be included in all places that
1668         need this functionality.
1669
1670         * gtk/gtkarg.h: 
1671         * gtk/gtkarg.c: new files which implement most of the argument
1672         handling stuff from gtkobject.c. also collected a few more
1673         gtk_arg_* utility functions from else places.
1674
1675         * gtk/gtkobject.h: 
1676         * gtk/gtkobject.c: moved most of the argument handling code into
1677         gtkarg.c. we now export gtk_object_args_collect() as a non-public
1678         method with a blind va_list pointer.
1679         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
1680         const static string now.
1681         (gtk_object_get_arg_type): function got removed.
1682
1683         * gtk/gtkwidget.c: 
1684         (gtk_widget_set): 
1685         (gtk_widget_new): adaptions for gtk_object_args_collect().
1686
1687         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
1688         fundamental type name so as to have a valid prefix, e.g. "bool"->
1689         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
1690         though that should probably be something like GtkNone since the
1691         type itself is called GTK_TYPE_NONE.
1692         even the internal type names need to avoid name clashes and must live
1693         in their own namespace, several code portions rely on that.
1694         we should relly have typedefs such as typedef gchar* GtkString; so the
1695         fundamental type names can be used for code dumpers just like with all
1696         the Gtk/Gdk types.
1697
1698 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
1699
1700         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
1701         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
1702         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
1703         (GTK_RELIEF_HALF).
1704         (gtk_button_paint): set the background for prelighted buttons with
1705         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
1706         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
1707         the shadow type (otherwise we get strange shadows for coloured buttons).
1708         (gtk_button_set_relief): queue a redraw after changing
1709         the relief.
1710         (gtk_button_class_init): 
1711         (gtk_button_set_arg): 
1712         (gtk_button_get_arg): added object argument "GtkButton::relief".
1713
1714         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
1715
1716 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
1717
1718         * gtk/gtkbutton.h:
1719         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
1720         GTK_BIN (button)->child to button->child to keep source compatibility.
1721
1722         * gtk/gtkoptionmenu.c:
1723         * gtk/gtkclist.c:
1724         * gtkcheckbutton.c: don't refer to button->child, but
1725         GTK_BIN (button)->child instead.
1726
1727 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
1728
1729         * docs/gtkfaq.sgml: update anon CVS info
1730
1731 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
1732
1733         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
1734         functions.
1735
1736         * gdk/gdkwindow.c:
1737         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
1738         to XFree() calls.
1739
1740 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1741
1742         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
1743         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
1744
1745 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
1746
1747         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
1748
1749 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
1750
1751         * gtk/gtkwidget.h:
1752         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
1753
1754         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
1755         error that prevented signal to entry addition for signals with
1756         parameters.
1757
1758 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
1759
1760         * ltconfig: fix for properly detecting shared lib support on
1761         SunPro cc (taken from libtool 1.2.a)
1762
1763 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
1764
1765         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
1766
1767 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
1768
1769         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
1770         rc set pattern is favoured, this is needed for overriding of style
1771         patterns with subsequently parsed rc files.
1772
1773 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
1774
1775         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
1776         error messages.
1777
1778 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
1779
1780         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
1781         modifier as well.
1782         (gtk_accelerator_name): add "<Release>" to the accelerator name if
1783         neccessary.
1784
1785         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
1786         account.
1787
1788         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
1789         default handler for key-release events, which checks for activation
1790         of GDK_RELEASE_MASK key bindings.
1791
1792         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
1793
1794 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
1795
1796         * gtk/gtkarrow.h: GtkType and macro fixups.
1797         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
1798         "GtkArrow::shadow_type".
1799
1800 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
1801
1802         * gtk/gtkalignment.h:
1803         * gtk/gtkbin.h: GtkType and macro fixups.
1804         
1805         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
1806         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
1807         GtkAlignment::xscale, GtkAlignment::yscale.
1808
1809 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
1810
1811         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
1812         fucntions from all parent types upon class initialization.
1813
1814         * gtk/gtkcontainer.c:
1815         (gtk_container_get_type): announce gtk_container_base_class_init to
1816         the type system.
1817         (gtk_container_base_class_init): new function to feature base class
1818         initialization.
1819         (gtk_container_get_child_arg): 
1820         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
1821         and set_child_arg methods of the class indicated through the argument
1822         name.
1823
1824         * gtk/gtkobject.c:
1825         (gtk_object_base_class_init): new function to feature base class
1826         initialization.
1827         (gtk_object_init_type): announce gtk_object_base_class_init to the type
1828         system.
1829         (gtk_object_class_init): setup the get_arg and set_arg pointers for
1830         GtkObjectClass.
1831         (gtk_object_setv): 
1832         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
1833         instead of bothering the type system with this.
1834
1835         * gtk/gtkaccellabel.c: 
1836         * gtk/gtkbutton.c: 
1837         * gtk/gtkradiobutton.c: 
1838         * gtk/gtktable.c:
1839         * gtk/gtktogglebutton.c: 
1840         * gtk/gtktipsquery.c: 
1841         * gtk/gtkbox.c: 
1842         * gtk/gtkpacker.c: 
1843         * gtk/gtkwidget.c: 
1844         * gtk/gtkwindow.c: 
1845         * gtk/gtkframe.c: 
1846         * gtk/gtkmisc.c:
1847         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
1848         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
1849         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
1850         arg functions to take a GtkObject argument.
1851
1852         gtk/gtkadjustment.c:
1853         gtk/gtkalignment.c:
1854         gtk/gtkarrow.c:
1855         gtk/gtkaspectframe.c:
1856         gtk/gtkbbox.c:
1857         gtk/gtkbin.c:
1858         gtk/gtkcheckbutton.c:
1859         gtk/gtkcheckmenuitem.c:
1860         gtk/gtkclist.c:
1861         gtk/gtkcolorsel.c:
1862         gtk/gtkcombo.c:
1863         gtk/gtkctree.c:
1864         gtk/gtkcurve.c:
1865         gtk/gtkdata.c:
1866         gtk/gtkdialog.c:
1867         gtk/gtkdrawingarea.c:
1868         gtk/gtkeditable.c:
1869         gtk/gtkentry.c:
1870         gtk/gtkeventbox.c:
1871         gtk/gtkfilesel.c:
1872         gtk/gtkfixed.c:
1873         gtk/gtkfontsel.c:
1874         gtk/gtkgamma.c:
1875         gtk/gtkhandlebox.c:
1876         gtk/gtkhbbox.c:
1877         gtk/gtkhbox.c:
1878         gtk/gtkhpaned.c:
1879         gtk/gtkhruler.c:
1880         gtk/gtkhscale.c:
1881         gtk/gtkhscrollbar.c:
1882         gtk/gtkhseparator.c:
1883         gtk/gtkimage.c:
1884         gtk/gtkinputdialog.c:
1885         gtk/gtkitem.c:
1886         gtk/gtkitemfactory.c:
1887         gtk/gtklist.c:
1888         gtk/gtklistitem.c:
1889         gtk/gtkmenu.c:
1890         gtk/gtkmenubar.c:
1891         gtk/gtkmenuitem.c:
1892         gtk/gtkmenushell.c:
1893         gtk/gtknotebook.c:
1894         gtk/gtkoptionmenu.c:
1895         gtk/gtkpaned.c:
1896         gtk/gtkpixmap.c:
1897         gtk/gtkpreview.c:
1898         gtk/gtkprogressbar.c:
1899         gtk/gtkradiomenuitem.c:
1900         gtk/gtkrange.c:
1901         gtk/gtkruler.c:
1902         gtk/gtkscale.c:
1903         gtk/gtkscrollbar.c:
1904         gtk/gtkscrolledwindow.c:
1905         gtk/gtkseparator.c:
1906         gtk/gtkspinbutton.c:
1907         gtk/gtkstatusbar.c:
1908         gtk/gtktext.c:
1909         gtk/gtktoolbar.c:
1910         gtk/gtktooltips.c:
1911         gtk/gtktree.c:
1912         gtk/gtktreeitem.c:
1913         gtk/gtkvbbox.c:
1914         gtk/gtkvbox.c:
1915         gtk/gtkviewport.c:
1916         gtk/gtkvpaned.c:
1917         gtk/gtkvruler.c:
1918         gtk/gtkvscale.c:
1919         gtk/gtkvscrollbar.c:
1920         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
1921         match the modified GtkTypeInfo structure.
1922
1923 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
1924
1925         * gtk/testgtk.c: use rand() instead of random() for portability
1926
1927 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
1928
1929         * configure.in
1930         * acconfig.h
1931         * gdk/gdk.c: use native Xlib XConvertCase if it's available
1932
1933 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
1934
1935         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
1936         XConvertCase() functionality from X11R6 on X11R5 systems.
1937
1938 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
1939
1940         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
1941         gdk_string_height, gdk_char_height to retrieve the exact
1942         height of a text.
1943
1944 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
1945
1946         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
1947           by Stefan Mars <mars@lysator.liu.se>
1948         * examples/clist/clist.c examples/clist/Makefile: example code
1949           for GtkCList widget from the Tutorial
1950
1951 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
1952
1953         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
1954         if the container is not visible, we might be a toplevel! this holds
1955         for all other base container implementations as well, that are
1956         candidates to derive toplevels from. in general the resizing code will
1957         care about visibility itself.
1958         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
1959         * gtk/gtkbox.c (gtk_box_remove): likewise.
1960
1961         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
1962         gtk_window_set_hints(), since we haven't calculated the new position
1963         yet.
1964
1965         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
1966         *mask are alway initialized in a sane way, regardless of the return
1967         value.
1968
1969 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
1970
1971         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
1972         to gtk_container_child_arg_setv, but takes a variable argument list.
1973         new function gtk_container_get_child_arg_type, which is needed by
1974         gtk_object_collect_args.
1975
1976         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
1977         take a function pointer to figure the argument type.
1978         adapted callers to pass gtk_object_get_arg_type.
1979         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
1980         gtk_object_get_arg_type..
1981
1982         * gtk/gtkpacker.h: 
1983         * gtk/gtkpacker.c:
1984         (gtk_packer_reorder_child): new function to change the packing order
1985         of a child.
1986         (gtk_packer_size_request): 
1987         (gtk_packer_size_allocate): take container->border_width into acount.
1988
1989         * gtk/gtkpacker.c: implemented widget arguments:
1990         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
1991         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
1992         implemented child arguments:
1993         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
1994         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
1995         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
1996         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
1997
1998         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
1999         not the alignment.
2000
2001         * gtk/gtkeventbox.h:
2002         * gtk/gtkeventbox.c: GtkType and macro fixups.
2003
2004         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
2005         sensitivity of an entry.
2006
2007         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
2008         for insensitive base and text.
2009
2010         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
2011         widget state dependent.
2012         (gtk_entry_style_set): likewise.
2013         (gtk_entry_state_changed): set background color on state changes.
2014         (gtk_entry_draw_text): for non selected text, use state dependent
2015         colors.
2016
2017         * gtk/gtktogglebutton.c: support for widget arguments
2018         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
2019
2020 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
2021
2022         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
2023         code for 1.0.x-like parameters. Changed internal interface of
2024         gtk_spin_button_real_spin. Several fixes to avoid emission of
2025         "value_changed" where possible.
2026
2027 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
2028
2029         * gtk-boxed.defs: s/GkWidget/GtkWidget/
2030
2031 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
2032
2033         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
2034         to select the resize_mode for the idle-labels container.
2035
2036         * gtk/gtkframe.h: 
2037         * gtk/gtkframe.c: GtkType and macro corrections.
2038
2039         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
2040         support widget argument "GtkRadioButton::group".
2041
2042 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
2043
2044         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
2045         unconditionally if resize_mode has changed.
2046
2047         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
2048         GTK_RESIZE_QUEUE on the scrolled window.
2049         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
2050
2051 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
2052
2053         * gtk/gtkcontainer.h:
2054         * gtk/gtkcontainer.c:
2055         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
2056         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
2057         (gtk_container_queue_resize): new function to queue a container for
2058         a *size* reallocation (doesn't affect its position, and thus its
2059         parent is left untouched usually).
2060         (gtk_container_get_resize_container): new function to retrive the next
2061         most resize container which is not itself queued for a resize.
2062         (gtk_container_idle_sizer): new function to carefully process the
2063         container_resize_queue since it can change during invokation of
2064         gtk_container_check_resize().
2065         (gtk_container_resize_children): total rework of this function to
2066         properly handle resize containers. makes a lot of assumptions whitch
2067         are stated in the comments.
2068
2069         * gtk/gtkcontainer.c:
2070         (gtk_container_real_check_resize): only requeue ourselves if we are not
2071         a resize container.
2072         (gtk_container_clear_resize_widgets): care for automatic deletion of our
2073         resize_widgets list on size_allocate through a handler connection.
2074
2075         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
2076         focus and default widget of a window, so to take the burden from
2077         gtk_widget_unparent.
2078
2079         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
2080         to be clever, but actually messed up the resize_children logic and
2081         caused unneccessary allocations on its whole branch. besides this,
2082         it messed up the display by not invoking a redraw after the allocation.
2083
2084         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
2085         that it is the child again that is queued for a resize.
2086         (gtk_table_attach): likewise.
2087         (gtk_table_remove): likewise.
2088
2089 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2090
2091         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
2092         gtk_entry_adjust_scroll.  Required if you change the cursor
2093         position and want to sync it up with your code (Midnight Commander
2094         gtk front end needs this).
2095
2096         * gtk/gtktable.c: Deal with tables that have size 0, 0.
2097
2098 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
2099
2100         * examples/README.1ST: new file to explain how the
2101           code examples should be extracted from the tutorial.
2102
2103 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
2104
2105         * gtk/gtkctree.c (draw_row): added new "line style"
2106         GTK_CTREE_LINES_TABBED 
2107         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
2108         search the glist pointer of an GtkCTreeRow
2109
2110 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
2111  
2112         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
2113         from, and clean up, the dependencies.  Generate to intermediate
2114         files to prevent problems with Ctrl-C.
2115
2116         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
2117
2118 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
2119
2120         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
2121         - Bug fix for precision problem causing occasional double emission 
2122           of "value_changed" signal (hopefully works now).
2123         - API change (should be binary compatible) : 
2124           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
2125           Modified cursor example appropriately.
2126           To spin by something other than step_/page_increment, use
2127           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
2128         - Made GTK_SHADOW_NONE the default. ;)
2129         - Fixed casting of GtkAdjustment* to GtkWidget* in
2130           gtk_spin_button_value_changed.
2131
2132 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
2133
2134         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
2135         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
2136         resize widget list before queuing the container for a new reize.
2137         (gtk_container_need_resize): changed return value to FALSE, since this
2138         used to indicate that no further resizes are needed.
2139         (gtk_container_set_arg): 
2140         (gtk_container_get_arg): 
2141         (gtk_container_class_init): implemented GtkContainer::resize_mode
2142         argument.
2143
2144         (gtk_container_resize_children): when we walk up the tree of a resize
2145         widget we need to stop if we are the current parent.
2146
2147         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
2148         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
2149         (gtk_widget_hide_all): retrive the toplevel widget from via
2150         gtk_widget_get_resize_container().
2151
2152 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
2153
2154         * gtk/gtklist.c (gtk_list_button_press): Only respond
2155           to selection with button 1. This allows context-sensitive
2156           menus to work correctly.
2157
2158 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
2159
2160         * gtk/gtkaccelgroup.c: 
2161         * gtk/gtkbindings.c: 
2162         * gtk/gtkcontainer.c:
2163         * gtk/gtkitemfactory.c:
2164         * gtk/gtkobject.c: 
2165         * gtk/gtksignal.c:
2166         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
2167         g_quark_from_static_string calls to save memory.
2168
2169         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
2170         function _after_ the new data has been setup.
2171         minor changes to object data functions to feature the GQuark type.
2172
2173 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
2174
2175         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
2176           from argv.
2177
2178 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
2179
2180         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
2181           to be more readable perl, to spit out stuff that looks
2182           more like readable C, and to pipe output through indent
2183           so output looks a lot like readable C. No functional
2184           changes.
2185
2186 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
2187
2188         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
2189           necessary when switching to a masked pixmap. (Based on a patch
2190           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
2191
2192 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
2193
2194         * gtk/gtkeditable.[ch]: Added action signals for keyboard
2195           bindings. (move_cursor, kill_word, etc, etc, etc). 
2196
2197           removed the time argument from
2198           gtk_editable_cut/copy/paste_clipboard (source but not
2199           binary incompatible...) Instead get time from
2200           gtk_get_current_event ().
2201         
2202         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
2203           signals.
2204
2205 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
2206
2207         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
2208
2209         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
2210              parent class to GtkNotebookClass when splitting the widget in
2211              two.  Also updated some comments.
2212
2213         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
2214                button without a font selected.
2215
2216              Fixed bug in set_font_name - I hadn't updated the code to
2217                search for the style in the font_style clist - it was
2218                still assuming the style row was equal to its index,
2219                but it isn't any more.
2220         
2221              Changed 'Reset' button on filter page to 'Clear Filter'.
2222              Deleted old code relating to the old 'Filter Fonts' toggle
2223              Updated some comments.
2224              Cleared 'Actual Fontname' if no font is set.
2225
2226         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
2227              destroying the GtkFontSelection instead of the
2228              GtkFontSelectionDialog.
2229
2230 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
2231
2232         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
2233           flag to make all warnings fatal errors.
2234
2235         * gtk/testthreads.c: moved <pthreads.h> include inside 
2236           #ifdef USE_PTHREADS
2237
2238 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
2239
2240         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
2241           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
2242
2243         - Added new function gtk_container_set_resize_mode() for
2244           fine-grained control of where resize-queueing is done.
2245
2246         - Removed GtkContainer::need_resize and GtkWindow::move_resize
2247         - Added GtkContainer::check_resize to replace need_resize.
2248
2249         - Added function gtk_container_check_resize() to trigger
2250           queued resizes, and gtk_container_resize_children() to
2251           Figure which children need to be size-allocated. (logic
2252           moved from gtkwindow.c)
2253
2254         - Reorganized code in gtkwindow.c
2255         
2256         - Set the resize-mode for viewports so that resizes within
2257           a viewport don't propagate out of it. 
2258         
2259 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2260
2261         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
2262
2263         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
2264         g_return_val_if_fail, because the function *does* return a value.
2265
2266 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
2267
2268         * gtk/gtkaccellabel.h:
2269         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
2270         request the size of the accelerator portion of an accel label.
2271         (gtk_accel_label_size_request): don't request for the accelerators size.
2272         (gtk_accel_label_expose_event): only draw the accelerator if we got
2273         enough extra space.
2274
2275         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
2276         width from children.
2277
2278         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
2279         object (after removal has been requested) check if there is still an
2280         accelerator remaining to avoid adding two accelerators on an object.
2281         this can happen for locked accelerators (or accelerator-frozen widgets).
2282         (gtk_menu_size_request): feature childrens accelerator width in size
2283         requests.
2284
2285         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
2286         gtk_widget_freeze_accelerators() for dynamically created menu items.
2287
2288         * gtk/gtksignal.h: 
2289         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
2290         which will return a handler_id > 0 if the specified function is pending
2291         for `signal_id'.
2292
2293         * gtk/gtkwidget.h:
2294         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
2295         a signal handler function to stop accelerator addition.
2296         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
2297         which will prevent (undo) any accelerators from being added to or
2298         removed from a widget.
2299
2300 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
2301
2302         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
2303         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
2304         acceleration, new API gtk_spin_button_set_snap_to_ticks.
2305
2306 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
2307
2308         * gdk/gdk.h:
2309         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
2310         the current GdkWindow the pointer is on if there is any.
2311         
2312         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
2313         and one column, so we don't construction logic at all. changed a few
2314         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
2315         unsigned int wraps.
2316
2317         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
2318         portion, added an additional check for parent != widget.
2319
2320         * more GtkType and macro fixups.
2321
2322 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2323
2324         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
2325         "clip" parameter, which is the clipping rectangle to use.  This
2326         eliminates the extremely annoying flicker when exposing parts of
2327         the handlebox.
2328
2329 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
2330
2331         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
2332         resizing
2333
2334 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
2335
2336         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
2337         != 0 on the argument.
2338
2339         * gtk/gtktable.h: 
2340         * gtk/gtktable.c: new function gtk_table_resize() which allowes
2341         shrinking and expanding of tables. implementation of widget arguments
2342         and child arguments. many signedness corrections.
2343
2344 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
2345
2346         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
2347         not only the child, otherwise we might end up taking away other
2348         childrens space after the resize.
2349
2350         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
2351         an unknown menu path from any source, that path must always be flagged
2352         as "modified", since we don't really know whether it has its default
2353         value or not.
2354
2355         * gtk/gtktree.c:
2356         * gtk/gtkpacker.c:
2357         * gtk/gtknotebook.c:
2358         * gtk/gtkmenushell.c:
2359         * gtk/gtklist.c:
2360         * gtk/gtkpaned.c:
2361         * gtk/gtkfixed.c: 
2362         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
2363
2364         * gtk/gtkbox.h: 
2365         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
2366         arguments. implemented child arguments.
2367
2368         * more GtkType and macro fixups.
2369
2370 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
2371
2372         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
2373
2374         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
2375         and gtk_clist_get_hadjustment.
2376
2377         * gtk/gtkcontainer.c:
2378         implementation of children arguments, new class member functions
2379         (child_type), (get_child_arg) and (set_child_arg) plus a new field
2380         n_child_args.
2381         (gtk_container_child_type): new function which returns the type of a
2382         child that the container expects for its next addition.
2383         (gtk_container_add_child_arg_type): new function to introduce a new
2384         child argument at class creation time.
2385         (gtk_container_query_child_args): new function to query all child
2386         arguments that are supported by a container class.
2387         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
2388         child argument.
2389         (gtk_container_child_arg_setv): new function to set a child argument for
2390         a certain container and child combination.
2391         (gtk_container_add_with_args):
2392         (gtk_container_add_with_argv): new functions to feature addition of a
2393         new child in combination with the setting of certain child arguments.
2394
2395         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
2396         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
2397         this should really be done through class cretion hooks some day.
2398
2399         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
2400         guint : 16.
2401
2402         * gtk/gtkpacker.h:
2403         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
2404         follow the gtk convention for lower case variable names (important
2405         for language wrappers and widget arguments), and made them guint : 16.
2406
2407         * examples/packer/pack.c: adaptions for the case converted GtkPacker
2408         fields.
2409
2410 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
2411
2412         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
2413         change the character pair for single line comments.
2414         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
2415         GtkItemFactoryClass.
2416         (gtk_item_factory_parse_rc_string): likewise.
2417
2418 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
2419
2420         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
2421         lists from the klass structure to a static structure
2422         in gtkfontsel.c; cleans up global the namespace.
2423
2424 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
2425
2426         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
2427         bug with /*< skip >*/ and remove warning.
2428         
2429 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
2430
2431         * gtk/Makefile.am: Made the gtkmarshal.* generation
2432         rules maintainer-only.
2433
2434 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
2435
2436         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
2437           gtk/Makefile.am gtk/makenums.pl 
2438
2439         Removed out the G_ENUM/FLAGS mechanism in favor
2440         of a perl script that parses the standard headers
2441         (with occasional /*< nick=foo >*/ style overrides)
2442         and extracts the enumerations.
2443
2444           gtk/maketypes.awk: Small improvments to the
2445           translation of names. (Avoid splitting gc into
2446           g_c_.)
2447         
2448 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
2449
2450         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
2451         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
2452         
2453 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
2454
2455         * gtk/gtkentry.c:
2456         - Restored gtk_entry_adjust_scroll to static 
2457         - Changed text positioning code so that we always
2458           display as large a portion of the text as possible.
2459
2460 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
2461
2462         * gtk/gtktext.c (gtk_text_finalize): Free internal
2463         structures of text widget. Also, unreference pixmaps
2464         when unrealizing.
2465         
2466 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
2467
2468         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
2469         3.3.1 bug workaround to number keys starting at 1.
2470
2471 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
2472
2473         * docs/gtk_tut.sgml: Fixed urls for complete example
2474         source for scribble+widget-writing examples.
2475
2476 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
2477
2478         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
2479         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
2480         specs of the form c #abcdef [ more keys ] properly.
2481
2482 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
2483
2484         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
2485         (gtk_spin_button_set_shadow_type):
2486         New API to set the shadow type of the arrow panel.
2487
2488 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
2489
2490         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
2491         code for drawing the child in two places at once. Unfortunately,
2492         not only does it not work anymore (because reparenting has
2493         been fixed), but it also triggers reparent/expose loops
2494         in some cases.
2495
2496         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
2497         an unecessary unrealize.
2498
2499 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
2500
2501         * gdk/gdkwindow.c (gdk_window_reparent): Update the
2502           old and new parents' child window lists properly.
2503
2504 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
2505
2506         * gtk/gtkpacker.h:
2507         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
2508         and GtkSideType, to be consistent with the rest of Gtk's enum
2509         definitions. wrapped the enum definitions with the G_ eunm wrappers.
2510         spelled out the GTK_ANCHOR_* enum values, since single letters don't
2511         work out corectly as nick-names (left the old values as aliases).
2512         some signdness corrections (border-width, spacing), could stand more.
2513
2514 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2515
2516         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
2517           Added gtkpacker
2518
2519         * examples/packer/pack.c, examples/packer/Makefile: Added
2520           gtkpacker example
2521
2522 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
2523
2524         * gtk/gtktext.c (remove_cache_line): Fixed broken
2525         list-removal code.
2526
2527         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
2528         Check bounds before deleting.
2529
2530 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
2531
2532         * autogen.sh: Support ACLOCAL_FLAGS
2533
2534 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
2535
2536         * gtk-config.in: Added missing quotes.
2537
2538 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
2539
2540         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
2541
2542 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
2543
2544         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
2545         G_COMPILED_WITH_DEBUGGING.
2546
2547         * configure.in (fd_set): Explain check better.
2548
2549         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
2550         the version from which gtk+'s libtool forked.  Needed for people
2551         who use post-1.2 alphas of libtool.
2552
2553 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
2554
2555         * glib/* Moved to glib module
2556
2557         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
2558           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
2559
2560           configuration changes for the above:
2561          
2562           - Use AM_PATH_GLIB by default to find glib; also accept
2563             a --with-glib option for using an uninstalled glib.
2564          
2565           - Put --enable-debug information into config.h so
2566             that we rebuild when it changes. (was in glibconfig.h)
2567
2568 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
2569
2570         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
2571
2572         * gtk/gtknotebook.h (struct _GtkNotebookClass):
2573         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
2574         added missing argument (according to Joseph Coleman's bug report)
2575
2576         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
2577         function to fix notebook focus handling
2578         
2579 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
2580
2581         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
2582           glib/gutils.c glib/testglib.c glib/gdataset.c
2583           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
2584           gtk/gtktext.c gtk/gtkbindings.c:
2585
2586          renamed g_const_pointer => gconstpointer
2587
2588 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
2589
2590         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
2591         invoked with (NULL, NULL); (this worked sometime ago).
2592
2593         * gtk/gtktypeutils.h: 
2594         * gtk/gtktypeutils.c: enum and flags type creation can now be done
2595         through gtk_type_register_enum() and gtk_type_register_flags(),
2596         which allow to specify the enum value arrays directly.
2597         the NULL terminated value arrays can be retrived through
2598         gtk_type_enum_get_values() and gtk_type_flags_get_values();
2599         (gtk_type_children_types): new function to query derived types.
2600
2601 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
2602
2603         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
2604         environment to genmarshal.pl.
2605         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
2606         rule), and removed it where not needed (in the dependencies).
2607
2608         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
2609
2610 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
2611
2612         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
2613         was just g_direct_hash.
2614
2615 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
2616
2617         * configure.in: x_libs=, not $x_libs=. Enough said.
2618           (Case only hit for --disable-xshm)
2619         
2620 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
2621
2622         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
2623           when testing for X libraries, don't replace them. Because
2624           the user might have specified the path to the X libraries
2625           themself before running configure.
2626
2627         * examples/**.c: Changed all gpointer * to gpointer
2628         
2629 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2630
2631         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
2632         fleur_cursor field.  Now the cursor is created/destroyed on demand
2633         by the routines that need it.
2634
2635         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
2636         (gtk_handle_box_motion): The fleur cursor is created and destroyed
2637         only when needed.
2638
2639 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
2640
2641         * gtk/gtktypeutils.h: 
2642         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
2643         gtk_enum_set_values to gtk_type_enum_get_values and
2644         gtk_type_enum_set_values respectively, since they are actually type
2645         system features.
2646
2647         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
2648         my last commit. ;)
2649
2650 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
2651
2652         * gtk/gtkselection.h: 
2653         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
2654         gtk_selection_data_free.
2655
2656         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
2657         for "selection_received", which was completely bogus.
2658         * other fixups to gtk_signal_new() calls all over the place.
2659
2660         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
2661         * gtk/gtktypebuiltins_vars.c: type variable implementations.
2662         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
2663         declarations.
2664         * gtk/gtktypebuiltins_evals.c: enum value arrays.
2665         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
2666         gtk.defs.
2667         * gtk/gtk.defs: generated file with scheme syntax for type definitions
2668         of gtk and gdk structures and enums.
2669         * gtk/gtktypeutils.h: 
2670         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
2671         macros anymore (this fixes binary incompatibility with new enum
2672         definitions).
2673
2674         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
2675         key bindings for this widget.
2676         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
2677         handler.
2678
2679         * gtk/gtkobject.h:
2680         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
2681         again. new functions gtk_object_class_user_signal_new () and
2682         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
2683         flag on the signal creation.
2684
2685 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
2686
2687         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
2688
2689 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
2690
2691         * gdk/gdkprivate.h: 
2692         * gdk/gdktypes.h: 
2693         * gtk/gtkprivate.h: 
2694         * gtk/gtkwidget.h: 
2695         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
2696
2697         * reworked enum value array generation code. gtk.defs is a generated
2698         file now.
2699
2700 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
2701
2702         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
2703         check menu items in the compatibility code (this required me to remove
2704         the "<check>" part from the menu item name, grrr).
2705
2706 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
2707
2708         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
2709         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
2710         
2711 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
2712
2713         * gtk/gtkitemfactory.h: 
2714         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
2715         additions to the dumping code to feature GtkPatternSpec.
2716         even found a bug to fix in the original code ;)
2717         
2718 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
2719
2720         * gtk/gtkitemfactory.c: support different types of callbacks, to
2721         maintain existing code.
2722
2723 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
2724
2725         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
2726
2727         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
2728         this should eventually be done by gentypeinfo.el somewhen.
2729         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
2730
2731         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
2732         enum values of an enum type.
2733
2734         * gtk/gtk.defs:
2735         * gtk/gtkcurve.h: 
2736         * gtk/gtkobject.h: 
2737         * gtk/gtkprivate.h: 
2738         * gtk/gtkwidget.h:
2739         * gtk/gtkenums.h: 
2740         brought enum/flags definitions in sync, added a few more enum
2741         definitions for bindings and pattern matching.
2742
2743         * some more macro and GtkType fixups in various places.
2744
2745         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
2746         as a key-release modifier for the binding system.
2747
2748 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
2749
2750         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
2751         was a stale list pointer that is already present in GtkMenuShell.
2752
2753         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
2754         GtkMenuShell::selection_done which is emitted after the menu shell
2755         poped down again and all possible menu items have been activated.
2756
2757 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
2758
2759         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
2760         before activation of the menuitem, so the menu is actually taken off the
2761         screen prior to any menu item activation.
2762
2763         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
2764         for NULL nodes.
2765
2766         * gtk/gtkwidget.h:
2767         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
2768         the emission of the "add-accelerator" signal on a widget. this is
2769         usefull to prevent accelerator installation on certain widgets.
2770
2771         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
2772         labels left justified, by setting their alignment. stop accelerator
2773         installation for the menu items, since we use dynamic menus.
2774
2775 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
2776
2777         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
2778         should *really* use GtkItemFactory. this is only for preserving source
2779         compatibility where possible, use of GtkMenuFactory is deprecated as of
2780         now.
2781
2782         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
2783         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
2784         missed this possibility when i added gtk_object_class_add_user_signal
2785         in late january.
2786
2787         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
2788
2789 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
2790
2791         * gtk/gtkaccelgroup.h: 
2792         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
2793
2794         * gtk/gtkaccellabel.h: 
2795         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
2796         display of the accelerators associated with a certain widget.
2797
2798         * gtk/gtkitemfactory.h: 
2799         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
2800         parsing and accelerator handling.
2801
2802         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
2803         positioning a menu.
2804         (gtk_menu_map): removed the allocation code.
2805         (gtk_menu_size_allocate): care for redrawing of children and resize
2806         our widget->window correctly.
2807         (gtk_menu_key_press): feature the new accelerator groups.
2808
2809         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
2810         submenu if neccessary.
2811
2812         * gtk/gtkmenuitem.c:
2813         * gtk/gtkcheckmenuitem.c:
2814         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
2815         function variants.
2816
2817         * gdk/gdk.c:
2818         (gdk_keyval_from_name): 
2819         (gdk_keyval_name): new functions for keyval<->key-name associations.
2820         (gdk_keyval_to_upper): 
2821         (gdk_keyval_to_lower): 
2822         (gdk_keyval_is_upper): 
2823         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
2824         regards to their cases.
2825
2826 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
2827
2828         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
2829         widget's class path.
2830         (gtk_widget_path): new function to calculate a widget's name path.
2831
2832         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
2833         pattern matching, features reversed pattern matches.
2834
2835 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
2836
2837         * examples/extract.sh, examples/extract.awk:
2838           New files to automagically extract code examples from the
2839           tutorial.
2840
2841 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
2842
2843         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
2844         * gtk/gtkcontainer.c (gtk_container_focus_move):
2845         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
2846
2847 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
2848
2849         * docs/gtk_tut.sgml: minor changes to support auto
2850           extraction of example code
2851
2852 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
2853
2854         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
2855           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
2856
2857 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
2858
2859         * docs/gtk_tut.sgml:
2860           - new section on Events
2861           - change all delete_event callbacks to include
2862             a GdkEvent parameter
2863           - clean up the formatting
2864
2865         * examples - helloworld.c, helloworld2.c, notebook.c,
2866           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
2867           rulers.c, table.c, wheelbarrow.c: change all delete_event
2868            callbacks to include a GdkEvent parameter.
2869
2870 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2871
2872         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
2873         field of crossing events.
2874         (struct _GdkEventCrossing): Added the following fields: time, x,
2875         y, x_root, y_root, mode, focus, state.
2876
2877         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
2878         crossing event structure.
2879
2880         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
2881         changes to the crossing event structure.
2882
2883 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
2884
2885         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
2886
2887 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
2888
2889         * docs/gtk_tut.sgml:
2890            - GtkTooltips, update to current API
2891            - change all 'gpointer *data' to 'gpointer data'
2892            - other minor changes
2893
2894 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
2895
2896         * configure.in (LDFLAGS): Bomb out with a moderately
2897           helpful message if detection of X libraries fails.
2898
2899 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
2900
2901   [ Combination of:
2902      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
2903      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
2904
2905         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
2906           gtk/gtksignal.c gtk/gtktext.c: 
2907
2908           Fixups for warnings from adding const to type of GHashFunc,
2909           GCompareFunc
2910         
2911         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
2912           ansi-warnings fixups.
2913
2914 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
2915
2916         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
2917         Locate child at (border_width,border_width), not
2918         (2*border_width,2*border_width). [ The border is _outside_
2919         widget->window ]
2920         
2921         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
2922           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
2923
2924 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2925
2926         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
2927         used in gnome-libs
2928
2929 1998-05-22    <sopwith@redhat.com>
2930
2931         * gtk/gtkeventbox.c: Pass size_allocate on to the child
2932         regardless of whether it is visible or not. Also
2933         locate child at (border_width,border_width), not (0,0)
2934
2935 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
2936
2937         * gtk/gtkhandlebox.c: Added style_set handler.
2938
2939 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
2940  [ From: Chris Lahey  <clahey@umich.edu> ]
2941         
2942         * gtk/gtkeditable.c, gtk/gtkeditable.h,
2943           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
2944           and set_position functions to get and set the cursor position.
2945
2946         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
2947           signal status. Make GtkText do user-controlled insertion
2948           and deletion through the Editable widget so that these
2949           signals are properly emitted.
2950
2951         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
2952           display asterisks instead of empty space when visible = FALSE)
2953
2954 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
2955
2956         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
2957         signal.
2958
2959 1998-05-21    <sopwith@redhat.com>
2960
2961         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
2962         custom routine for loading images specified in gtkrc's.
2963
2964 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
2965
2966         * configure.in: Use pthread_attr_init() as a test function,
2967         since most of the rest of -lpthread is macros on DU4.
2968
2969 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
2970
2971         * gtk/gtkcombo.c: implemented completion in the entry.
2972
2973 1998-05-18    <sopwith@moebuis.labs.redhat.com>
2974
2975         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
2976
2977 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
2978
2979         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
2980         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
2981         to be of runtype GTK_RUN_LAST.
2982
2983         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
2984         "need-resize".
2985
2986         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
2987         "widget-selected".
2988
2989 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
2990
2991         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
2992         text retrived from GtkEntry. only intercept the Tab key if there
2993         was some text to complete.
2994
2995 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
2996
2997         Basic thread-awareness:
2998
2999         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
3000
3001         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
3002         gdk_threads_[init/enter/leave] for applications, plus
3003         gdk_threads_wake to wake the mainloop thread out of
3004         the select().
3005
3006         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
3007
3008 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
3009
3010         * gtk/testgtk.c (list_clear): Account for the fact
3011         that gtk_list_clear_items is not inclusive. (Clears
3012         [start, end))
3013
3014 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
3015
3016         * gdk/gdk.c: include gdkkeysyms.h always
3017         
3018
3019 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
3020
3021         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
3022         the visibility_notify_event method and changed method order.
3023
3024 1998-05-14    <sopwith@moebuis.labs.redhat.com>
3025
3026         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
3027
3028 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
3029
3030         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
3031         from Olli Helenius <ollhel@batman.jytol.fi>.
3032
3033         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
3034         freeing types.
3035         (gtk_type_set_chunk_alloc): new function to allow allocation of new
3036         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
3037         thorugh g_malloc).
3038
3039         * gtk/gtkobject.c (gtk_object_finalize): free an object through
3040         gtk_type_free().
3041
3042         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
3043         GtkButtons to 16.
3044         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
3045         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
3046
3047 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
3048
3049         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
3050           GPOINTER_TO_UINT fixes.
3051
3052         * gtk/gtksignal.c: Include <string.h> for memset.
3053
3054 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
3055         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
3056
3057         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
3058         Cleanups, comments and the ability to have rulers with 
3059         a reversed direction.
3060
3061 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
3062
3063         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
3064         that Sopwith missed when changing stat => lstat.
3065
3066 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
3067
3068         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
3069           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
3070         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
3071
3072         * gdk/gdk.c: Print sizeof() results
3073         as g_print("%ld", (glong)sizeof(foo)), to deal with
3074         sizeof() being long on Alpha's.
3075
3076         * gtk/testgtk.c: include <string.h> for strlen
3077
3078 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
3079         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
3080         
3081         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
3082         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
3083
3084         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
3085
3086 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
3087         (From: Christopher James Lahey <clahey@umich.edu>)
3088         
3089         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
3090           gtk/testgtk.c:
3091
3092         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
3093         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
3094         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
3095         the default relief for the toolbars buttons. Added an
3096         toggle for the toolbar test in testgtk.c.
3097
3098 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
3099
3100         * docs/gtk-config.1: Rewritten and hopefully improved.
3101
3102 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
3103
3104         * docs/Makefile.am
3105         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
3106
3107 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3108
3109         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
3110         GtkPreview's visual and colormap, otherwise things can BadMatch.
3111
3112         * gtk/testgtk.c (create_color_preview): 
3113         (create_gray_preview): Removed pushing/popping of visual/colormap
3114         now that GtkPreview does things correctly.
3115
3116         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
3117         (gtk_color_selection_draw_wheel): Pick the style from the correct
3118         place (the colorsel->wheel_area widget) so that the GCs will match
3119         with where we are going to paint to.
3120
3121         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
3122         of visual/colormap now that GtkColorSelection does things the
3123         right way.
3124
3125 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
3126
3127         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
3128         previously unused window->need_resize flag to mark if a window's
3129         descendents changed size while the window was not visible. In this
3130         case, when the window becomes visible, we reallocate everything,
3131         since we didn't keep track of what actually changed.
3132
3133         (Fixes bug where changing the popdown strings of a
3134         combo to something of the same length caused them to
3135         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
3136
3137 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
3138
3139         [security audit by Alan Cox]
3140
3141         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
3142         exceed maximum assumed size.
3143
3144         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
3145         not exceed maximum assumed size.
3146         (gtk_menu_factory_remove): likewise.
3147         (gtk_menu_factory_find_recurse): likewise.
3148
3149 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
3150
3151         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
3152         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
3153         redrawn if that is still neccessary. don't allow queueing of already
3154         destructed objects.
3155         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
3156         widgets which are in the queue can be destroyed safely, handle
3157         requeueing properly.
3158         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
3159         widgets which are in the queue can be destroyed/unrealized safely.
3160
3161 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
3162
3163         * gtkfaq.sgml: add question on multi-threading,
3164           minor URL cleanups.
3165
3166 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
3167
3168         * configure.in (cflags_set): preserve automake CFLAGS.
3169
3170         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
3171         and libgdk-1.1.la. this means we need to change certain portions of
3172         the Makefile.am on major/minor version bumps.
3173
3174         * ltmain.sh: the -release option is not required anymore.
3175         
3176         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
3177         of the first argument to be of type GtkObject. unconditionally compile
3178         this function. removed __GNUC__ dependancy of the gtk_object_ref and
3179         gtk_object_unref macro wrappers for this function.
3180
3181 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
3182
3183         * gtk/gtkobject.h:
3184         * gtk/gtkobject.c:
3185         (gtk_object_data_try_key):
3186         (gtk_object_data_force_id): these are now macros substituting the old
3187         functions. we just use the corresponding g_dataset_* functions for
3188         key->id associations. (this is to assure unique key<->id associations).
3189
3190 1998-05-10  Stefan Jeske  <stefan@gtk.org>
3191
3192         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
3193         to gboolean.
3194
3195         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
3196
3197 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
3198
3199         * configure.in (LIBS): Try to figure out if this
3200         is Digital Unix and we need -std1 to get the
3201         right prototypes.
3202
3203 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
3204
3205         * docs/gtk_tut_it.sgml: update of Italian tutorial
3206           translation from Daniele Canazza <dcanazz@tin.it>
3207
3208 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
3209
3210         * gtk/gtkfeatures.h.in: new file used as template for
3211         * gtk/gtkfeatures.h: new file to define macros indicating newly
3212         introduced features, such as GTK_HAVE_SIGNAL_INIT.
3213
3214         * gtk/gtksignal.c:
3215         (gtk_signal_emitv_by_name):
3216         (gtk_signal_emitv):
3217         new functions to emit signals with an already provided parameter set.
3218         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
3219         (gtk_signal_real_emit): prototype changes, so this functions always
3220         gets its parameters and signal structure as arguments.
3221         (gtk_signal_emit): provide the signal structure and parameter list for
3222         gtk_signal_real_emit.
3223         (gtk_signal_emit_by_name): likewise.
3224
3225 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
3226
3227         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
3228         signal connections through unsetting GTK_CONNECTED.
3229         (gtk_signal_handler_insert): reflect the presence of signal connections
3230         through setting GTK_CONNECTED.
3231         (gtk_signal_real_emit): only check for handler emissions if the object
3232         has the GTK_CONNECTED flag set.
3233         (gtk_signal_handler_pending): don't check for pending handlers if the
3234         GTK_CONNECTED flag is not set for this object.
3235
3236         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
3237         a GtkObject has signal handler connections.
3238
3239         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
3240         set for this object call gtk_signal_handlers_destroy().
3241         
3242         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
3243         multiple processing of macro args.
3244
3245         * gtk/gtktypeutils.c:
3246         * gtk/gtkobject.c:
3247         * gtk/gtkwidget.c:
3248         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
3249
3250 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
3251
3252         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
3253         draw-queue when we are done. 
3254
3255         (gtk_widget_queue_draw/_queu_resize): Always return
3256         FALSE and avoid having two idles at the same time.
3257         
3258 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
3259
3260         * gtk/gtktext.c: Various fixes to make sure cache
3261         lines are freed if line_start_cache doesn't point to the
3262         beginning of the cache.
3263
3264 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
3265
3266         * style_set improvements for GtkText and GtkEntry
3267
3268 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
3269
3270         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
3271         been initialized.
3272
3273 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
3274
3275         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
3276         data chunks through a global object data structure list. unlink
3277         object data before invoking its destroy function.
3278         (gtk_object_finalize): slight modification to allow usage of object
3279         data during object finalization.
3280
3281 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
3282
3283         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
3284         signal names, e.g. "signal-name" is now an alias for "signal_name".
3285         (gtk_signal_handler_new): allocate handlers through a global handler
3286         structure list, that's faster than memchunks.
3287         (gtk_emission_new): allocate emissions through a global emission
3288         structure list, that's faster than memchunks.
3289
3290 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
3291
3292         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
3293
3294         * ltmain.sh: added a new commandline flag -postfix similar to -release,
3295         but will immediately change the library name.
3296
3297         * gdk/Makefile.am:
3298         * gtk/Makefile.am: specify -postfix and -version-info
3299
3300         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
3301         GTK_BINARY_AGE. calculate LT_* variables for libtool.
3302
3303 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3304
3305         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
3306         background (fg_set -> bg_set confusion).
3307
3308 1998-05-06  Stefan Jeske  <stefan@gtk.org>
3309
3310         * gtk/testgtk.c (unselect_all): Removed code that caused an
3311         endless loop.
3312
3313 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
3314
3315         * gtk/gtksignal.c: reimplemented the signal storage system to use a
3316         linear array rather than a hash table.
3317         be carefull *not* to keep any GtkSignal pointers across invokations
3318         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
3319         general code cleanups, made all allocations through memchunks.
3320         (gtk_signal_lookup): we now do the lookup of signals through a key_id
3321         for the signal names to avoid multiple hashing of the signal name on
3322         lookups for the several hirarchy levels of an object.
3323
3324 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
3325
3326         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
3327         to speed things up and remove code duplication.
3328
3329         Reintegrated buffer overflow patches, and added
3330         some extra paranoia.
3331         
3332 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
3333
3334         * gdk/gdk.c (gdk_event_translate): A guint * was
3335         being passed where X expected a Keysym *, and
3336         keysyms are long's on Alpha Linux. This was causing
3337         segfaults in Xlib, apparently because of alignment.
3338         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
3339         
3340 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
3341
3342         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
3343         set GDK_EXPOSURE_MASK for DrawingAreas
3344
3345 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
3346
3347         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
3348         (superceded by RC file reparsing capabilities)
3349
3350         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
3351         events. (Shouldn't be sent to the InputOnly leader, which
3352         it is now by gdk_event_send_clientmessage_toall
3353
3354         * gtk/testgtk.c: Added extra button to rcfiles test
3355         to send out _GDK_READ_RCFILES events.
3356         
3357 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
3358
3359         * gtk/gtkselection.c (gtk_selection_clear): Fixed
3360         reversed conditionals that caused segfault on some
3361         platforms.
3362
3363 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
3364
3365         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
3366         cast to GTK_OBJECT for gtk_object_ref.
3367
3368 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
3369
3370         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
3371         checking for signal initialization in gtksignal.c.
3372
3373         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
3374         a long debugging period ;)
3375
3376 1998-05-05  Stefan Jeske  <stefan@gtk.org>
3377
3378         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
3379         New function to wrap XSetDashes; modified gtkctree.c to use it.
3380
3381 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3382
3383         * configure.in: Added $x_libs in the other_libraries field in the
3384         check for XShapeCombineMask.
3385
3386 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
3387
3388         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
3389         gtk_type_is_a().
3390         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
3391         linear array rather than a hash table. it actually speeded up testgtk
3392         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
3393         pointers across invokations of gtk_type_node_next_and_invalidate() and
3394         therefore gtk_type_unique()!
3395
3396         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
3397         inheritance of a class pointer.
3398         (GTK_OBJECT): modifications for speedups.
3399         (GTK_IS_OBJECT): likewise.
3400         (GTK_OBJECT_CLASS): likewise.
3401         (suggested by owen).
3402
3403         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
3404
3405         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
3406
3407         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
3408         since its derivation changed 4 month ago ;(. showed up with the unique
3409         type name checking code in gtk_type_unique().
3410
3411         * random guint->GtkType and macro fixups.
3412
3413 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
3414
3415         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
3416         Configure events that would result in a negative
3417         size.
3418
3419 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
3420
3421         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
3422         "glibconfig.h" and another about writing another IRC
3423         client.
3424
3425 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
3426
3427         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
3428         parameters to log are doubles. Digital Unix apparently
3429         is missing the argument in its prototype.
3430
3431 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
3432
3433         * gtk/gtklabel.c (gtk_label_state_changed): Don't
3434         force a clear until the widget is actually on
3435         screen.
3436
3437 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
3438
3439         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
3440         to make this consistent with the gtk-1-0 tree.
3441
3442 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
3443
3444         * configure.in acheader.h gdk/gdkwindow.c 
3445         Check for Shape extension both on the client and server
3446         side. (And, more importantly, check for the shape extension
3447         so we may include -lXext even when compiling with --disable-xshm)
3448
3449         Don't set override_redirect on all shaped windows. It isn't
3450         necessary.
3451
3452         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
3453         and foreign windows. Use this to check if we
3454         need to get the colormap from X.
3455
3456 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
3457
3458         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
3459         between the default and the button always in GTK_STATE_NORMAL.
3460
3461         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
3462         callback.
3463
3464 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
3465
3466         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
3467           Fix a buffer overflow on pixmaps that claim to have
3468           more than 31 characters per pixel.
3469
3470           (gdk_pixmap_read_string): Don't wrap around strings longer
3471           than half of address space ;-)
3472
3473         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
3474         that were used for printing integers.
3475
3476         * */* (almost):
3477
3478         Style: All 
3479           int foo () { ... }
3480         changed to
3481           int foo (void) { ... }
3482
3483         Even where there were proper prototypes elsewhere.
3484
3485         * gdk/gxid.c (handle_claim_device): Some extra checks.
3486         It isn't safe against being fed bad X id's, but at
3487         least it should be safe against deleting all your
3488         files.
3489
3490 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
3491
3492         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
3493         to set the adjustments value when there is no current emission.
3494         [ Removed by mutual agreement owt 5/3/1998 ]
3495
3496         * gtk/gtksignal.c: added new functions to retrive the number of
3497         existing emissions for a certain signal.
3498         (gtk_signal_n_emissions): new function.
3499         (gtk_signal_n_emissions_by_name): new function.
3500
3501 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
3502
3503         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
3504         set the current focus_child of a container, does proper referencing and
3505         adjusts the vadjustment/hadjustment associated with the focus widget.
3506
3507         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
3508         containers via gtk_container_set_focus_child.
3509
3510         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
3511         where appropriate.
3512
3513         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
3514         child since not every child removal goes through this function (this
3515         showed up after gtk_container_set_focus_child() started to reference the
3516         focus_child of a container).
3517
3518         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
3519         of a container from gtk_container_remove into this place.
3520
3521 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
3522
3523         * gtk/gtksignal.c: added new functions to operate on intermediate
3524         function pointers. implemented incremental blocking.
3525         (gtk_signal_disconnect_by_func): new function.
3526         (gtk_signal_handler_block_by_func): new function.
3527         (gtk_signal_handler_unblock_by_func): new function
3528
3529 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
3530
3531         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
3532         Always show the scrollbars when the policy is
3533         GTK_POLICY_ALWAYS...
3534
3535 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
3536
3537         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
3538         "value_changed" if we really passed a new value.
3539         (gtk_adjustment_changed): new function to emit the "changed" signal.
3540         (gtk_adjustment_set_value): new function to emit the "value_changed"
3541         signal.
3542
3543 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
3544
3545         * gtk/gtkcombo.c: Further changes to the way the window
3546         is popped up so that it will be compatible with 
3547         auto-scrolling in the future.
3548
3549 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
3550
3551         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
3552         the combo-list is empty since that will cause the combo to operate
3553         on a non existing GtkList window.
3554         (gtk_combo_get_pos): provide the combo list with a usfull default
3555         height if empty.
3556         (gtk_combo_popup_button_press): grab the focus.
3557         (gtk_combo_activate): grab the focus.
3558
3559 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
3560
3561         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
3562         function to reset the RC styles for a heirarchy
3563
3564         Clear the window background if necessary in
3565         gtk_window_style_set.
3566
3567         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
3568         rereads all previously read RC files.
3569
3570         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
3571         (Should it just be called gdk_get_toplevels?)
3572
3573         * gtk/testgtk.c: New test to reload RC files.
3574
3575 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
3576
3577         * gtk/gtkclist.h:
3578         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
3579         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
3580         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
3581         the GTK_ prefix (this solution involved less changes in the
3582         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
3583         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
3584         from lars & stefan to support the derivation of GtkCtree.
3585
3586         * gtkctree.h:
3587         * gtkctree.c:
3588         initial import of a tree widget derived from gtkclist, courtesy
3589         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
3590         it just damn rocks!
3591
3592 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
3593
3594         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
3595         for us.
3596         (gtk_list_insert_items):
3597         (gtk_list_remove_items_internal): 
3598         (gtk_list_clear_items): 
3599         remove a possible pointer grab, we might get thrown into a loop
3600         otherwise.
3601         (gtk_list_button_press): grab the pointer *before* selecting the child,
3602         because selection of items may cause the lists children to change,
3603         resulting in a grab release.
3604         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
3605         children.
3606         (gtk_list_shutdown): remove all children from the list.
3607         (gtk_real_list_unselect_child): 
3608         (gtk_real_list_select_child): *always* put our internal structures into
3609         sane state *before* signal emisions (i.e. list->selection updates prior
3610         to gtk_list_item_[de]select() calls).
3611
3612         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
3613         focused child walks out of the window.
3614         removed CAN_FOCUS for the combo arrow's button since it doesn't react
3615         to keyboard events ("clicked" connection is missing).
3616
3617 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
3618
3619         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
3620         getting colormap for FOREIGN windows to go along with
3621         Raster's fix for visuals.
3622
3623 Merges from gtk-1-0
3624 ===================
3625         
3626 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
3627
3628         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
3629         Check to catch the case when the viewport fits in either
3630         direction or both, instead of flip-flopping infinitely.
3631
3632         Only show/hide the scrollbars once at the end.
3633
3634 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
3635
3636         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
3637         Include the scrollbars in the foreach call.
3638         (gtk-fortier-980405-0.patch; 
3639          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
3640
3641         The notebook widget
3642         really should also include its tabs, but that might cause
3643         problems for programs if they
3644
3645 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
3646
3647         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
3648         resize if the size actually changed. 
3649         (gtk-johannes-980414-0.patch ;  
3650          johannes@nada.kth.se (Johannes Keukelaar) )
3651
3652 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
3653
3654         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
3655           ltmain.sh ltconfig config.sub config.guess:
3656
3657         Reverted back to libtool-1.2 (plus minor patches) so as not to
3658         force the issue for everyone else.
3659
3660 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
3661
3662         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
3663         Updated to libtool 1.2a.
3664
3665         * gtk/gtkclist.c: Draw the in-between lines with style->base
3666         instead of style->white.
3667         
3668 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
3669
3670         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
3671         Cache the colormap and children of a window locally
3672         instead of fetching them from the server when needed.
3673         Huge performance difference for creating/destroying
3674         windows.
3675
3676         * gtk/gtkstyle.c: Find the depth from the cached
3677         visual, instead of asking the server.
3678
3679         * gtk.m4: Distribute the new version which tries to
3680         figure out what went wrong and give helpful error
3681         messages.
3682
3683         * ltmain.sh ltconfig config.sub config.sh: 
3684         Updated to libtool 1.2a
3685
3686         * gtk/gtktext.c: Fixed a bug where the drawn level
3687         was being messed up when the text was scrolled
3688         during a deletion.
3689         
3690 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
3691
3692         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
3693         the filesystem under you (fix from Josh)
3694
3695 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
3696
3697         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
3698         if the viewport already exists before iterating over it, maybe we
3699         haven't been constructed yet.
3700
3701 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
3702
3703         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
3704         the GtkBin widget already has a child.
3705
3706         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
3707         check that child->parent == NULL;
3708
3709 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
3710
3711         * gtk/gtkselection.c (gtk_selection_clear): Only return
3712         FALSE when the clear event is been rejected, not when
3713         widget has already lost the selection. (Which should
3714         only happen when we are setting the selection to another
3715         widget ourself.)
3716         
3717 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
3718
3719         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
3720
3721         Removed the "check visibility after gtk_widget_unparent" bug 
3722         in hopefully the last three places.
3723
3724 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
3725
3726         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
3727         rc-files.
3728
3729 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
3730
3731         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
3732         for CAN_FOCUS widgets.
3733
3734         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
3735         adjustments for the table.
3736         (create_list): feature automatic adjustment of the scrolled window to
3737         always contain the focused child.
3738         (create_main_window): keep the focussed button always inside of the
3739         scrolled windoww.
3740
3741         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
3742         adjustments, to contain the allocation of the currently focused child.
3743         (gtk_container_set_focus_hadjustment): new functin to set the
3744         horizontal focus adjustment.
3745         (gtk_container_set_focus_vadjustment): new functin to set the vertical
3746         focus adjustment.
3747
3748         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
3749         clamp the currents adjustment page into a specific range.
3750
3751         * random GtkType fixups for gtk_*_get_type() functions.
3752
3753 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
3754
3755         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
3756         Account for the fact that gtk_tree_item_remove_subtree
3757         will be called recursively. 
3758
3759         Handle removing a collapsed subtree.
3760
3761         (From Andy Dustman <adustman@comstar.net>)
3762         
3763         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
3764         root tree when removing items from a non-previously
3765         mapped tree.
3766
3767         * gtk/testgtk.c: Added a remove_subtree button.
3768         
3769 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
3770
3771         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
3772         before object removing data. This change fixes a bug where 
3773         removing the last weak references would cause it to be 
3774         triggered.
3775
3776 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
3777
3778         * gdk/Makefile.am: Removed mostly useless dependency that
3779         was causing problems for SGI's make, when used with
3780         the 'make dist' form of GTK+. (Dependency caused dependencies
3781         to be redone when BUILT_SOURCES changed)
3782
3783 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
3784
3785         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
3786         like a menu.
3787         
3788         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
3789         to gtkitem.c so dragging can also work in lists.
3790
3791         * gtk/gtklist.[ch]: Track child enter events and use
3792         those to allow dragging the selection. 
3793
3794 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
3795
3796         * gtk/gtktext.c: Try enabling background pixmaps for editable text
3797         widgets.  There is a bit of flashing, but not too bad. If you
3798         don't want the flashing, you can always not set a background
3799         pixmap.
3800
3801 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
3802
3803         * gtk/gtktext.c: Fixed a bug where the drawn level
3804         was being messed up when the text was scrolled
3805         during a deletion.
3806         
3807 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3808
3809         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
3810         bug:  There is no need to set the ExposureMask in the XGrabPointer
3811         (this caused DnD programs to crash).
3812
3813 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
3814
3815         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
3816         field to be of type guint.
3817         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
3818         ref_count>0;
3819         (gtk_accelerator_table_install): keep a per object list of accelerator
3820         tables that refer to this object.
3821         (gtk_accelerator_table_remove): remove the accelerator table from the
3822         per object list.
3823         (gtk_accelerator_table_clean): warn if there are any object references
3824         left in an accelerator table upon destruction.
3825         (gtk_accelerator_tables_delete): new function to delete object
3826         references from the accelerator tables associated with this object.
3827
3828         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
3829         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
3830         of an accelerator can be prevented by gtk_signal_emit_stop().
3831         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
3832         so there are no stale pointers in accelerator tables left.
3833
3834 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3835
3836         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
3837         visible before we unparent it.
3838
3839 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
3840
3841         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
3842         running_timeouts list with the tmp_list link itself, not with a new
3843         GList structure pointing to our link. that would fill up memory and
3844         causes the GList.data fields of the running_timeouts list to point to
3845         GList structures and not GtkTimeoutFunction structures which is a
3846         *really* bad thing.
3847         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
3848         the above entry ;).
3849
3850 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
3851
3852         * gtk/gtkradiomenuitem.h: 
3853         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
3854         ala gtk_radio_button_set_group.
3855         (gtk_radio_menu_item_init): assure that we always have at least a group
3856         that points to self.
3857
3858         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
3859         added g_return_if_fail() statements.
3860         (gtk_radio_button_init): assure that we always have at least a group
3861         that points to self.
3862
3863 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
3864
3865         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
3866
3867 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
3868
3869         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
3870         (Damon Chaplin), which i got wrong when applying Damon's patch the last
3871         time.
3872
3873 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
3874
3875         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
3876         that when we are running with a non-installed colormap,
3877         in 8-bit pseudo-color, we actually are using the system
3878         visual. (Fixes *Bad Match* errors on Digital Unix machines
3879         with multiple 8-bit pseudo-color visuals)
3880
3881 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3882
3883         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
3884         by whoever thought that randomly changing ints to unsigned int
3885         without reviewing the code was a good idea.  It is, btw not
3886         mentioned in the ChangeLog as usual, but I know it was not Elliot
3887         the culprit this time. 
3888
3889 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
3890
3891         * Released GTK+ 1.0.0