]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-0
Edited section on the ScrolledWindow.
[~andy/gtk] / ChangeLog.pre-2-0
1 Tue Nov 24 11:31:06 1998  Owen Taylor  <otaylor@redhat.com>
2
3         * docs/Changes-1.2.txt: Edited section on the ScrolledWindow.
4
5         * gtk/gtklayout.c (gtk_layout_set_[hv]adjustment): Remove
6         some code duplication.
7
8         * gtk/gtklayout.[ch] Fixed mapping and unmapping of child windows
9         and child widgets when scrolling greater than 32k pixels.
10
11         * testgtk.c: Modified layout test to test scrolling over 
12         long distances.
13
14 Tue Nov 24 11:11:05 1998  Owen Taylor  <otaylor@redhat.com>
15
16         * gtk/gtklayout.[ch]: Fixed up copyright message.
17
18         * gdk/gdkrgb.c (DM): Make the dither matrix constant
19         so it can be shared.
20
21         * gtk/gtkdnd.c: Make cursor bitmaps const.
22
23         * gdk/gdk.h gdk/gdkpixmap.c: Added const to 
24         gdk_pixmap/bitmap_create_from_data.
25
26 Tue Nov 24 07:46:09 1998  Tim Janik  <timj@gtk.org>
27
28         * docs/Changes-1.2.txt: added a section on scrolled windows and
29         scrollable widgets.
30
31 1998-11-24  Andrew T. Veliath  <andrewtv@usa.net>
32
33         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Include radio
34         buttons when setting relief for button items.
35         (gtk_toolbar_set_button_relief): Same.
36
37 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
38
39         * gdk/Makefile.am, gtk/Makefile.am:
40         Removed DEFS "+=" mess that breaks recent automakes.
41         INCLUDES is the correct way to add to CFLAGS from Makefile.am.
42
43         * gdk/gdk.c, gdk/gdkglobals.c, gdk/gdkimage.c, gdk/gdkinput.c,
44         gdk/gdkpixmap.c, gdk/gdkthreads.c, gdk/gdkwindow.c,
45         gdk/gxid_lib.c, gtk/fnmatch.c, gtk/gtkclist.c, gtk/gtkmain.c,
46         gtk/testthreads.c:
47         Include "config.h" instead of "../config.h".
48         Now that DEFS works again, automake will automatically pass us
49         the location of config.h in -I.
50
51 Mon Nov 23 22:10:09 1998  Owen Taylor  <otaylor@redhat.com>
52
53         * gtk/Makefile.am gtk/gtk.h gtk/gtklayout.[ch]
54         gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/gtk.h:
55
56         Added layout widget for scrolling arbitrarily big areas.
57         Added plug/socket widgets for interprocess embedding.
58
59         These widgets still, at some point, need to be
60         made more pure in their use of GDK, as opposed
61         to raw X.
62
63         * gtk/testgtk.c: Added test for layout widget.
64         
65 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
66
67         * gtk/gtkclist.c: (gtk_clist_swap_rows):  Bugfix from
68         Brandon Long <blong@fiction.net> - do the right thing with first
69         and last, which are the absolute values of row arguments row1
70         and row2.
71
72 Mon Nov 23 04:24:55 PST 1998 Manish Singh <yosh@gimp.org>
73
74         * gtk/gtkprogress.c: (gtk_progress_set_adjustment): make a saner
75         default adjustment (from 0 to 100) instead. I'm not sure if this
76         is the correct level for the fix, but gtk_progress_bar_new()'s
77         original default behavior is restored.
78
79 1998-11-23  Martin Baulig  <martin@home-of-linux.org>
80
81         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_5): Define this so
82         we can check for latest GTK features.
83
84 1998-11-23  Havoc Pennington  <hp@pobox.com>
85
86         * gtk/gtktoolbar.c: (gtk_toolbar_set_relief):
87         (gtk_toolbar_insert_element): When setting relief, also affect
88         toggle buttons.
89
90 Sun Nov 22 20:37:06 PST 1998 Manish Singh <yosh@gimp.org>
91
92         * gtk/gtkobject.h: remove extraneous comma
93
94 Mon Nov 23 05:21:50 1998  Tim Janik  <timj@gtk.org>
95
96         * gtk/gtkcontainer.c:
97         (gtk_container_add_with_args): 
98         (gtk_container_addv): 
99         (gtk_container_add): removed assertements for constructed containers
100         again, since this essentially breaks the "child" arg.
101
102         * gtk/gtktooltips.c (gtk_tooltips_force_window): fixup the draw_window
103         reference count, we don't need to reference toplevels that already have
104         destroy notifiers.
105
106         * gtk/gtkscrolledwindow.c: check for the composites existance in
107         _forall since we might not be already constructed.
108
109 Sun Nov 22 14:34:58 CST 1998 Shawn T. Amundson <amundson@gtk.org>
110
111         * Released GTK+ 1.1.5
112
113         * configure.in: require GLib 1.1.5
114
115 Mon Nov 23 03:21:17 1998  Tim Janik  <timj@gtk.org>
116
117         * gtk/gtktext.c (gtk_text_destroy): disconnect hadj & vadj, not
118         2 * hadj.
119         (gtk_text_finalize): only unref the current_font if we have
120         been realized.
121
122 Sat Nov 21 18:41:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
123
124         * configure.in:
125           INSTALL:
126           NEWS:
127           README:
128           gtk+.spec:
129           docs/gtk-config.1: Version incremented to 1.1.5
130
131 Sun Nov 22 16:21:28 1998  Tim Janik  <timj@gtk.org>
132
133         * gtk/gtkprogress.c: added args ::show_text, ::text_xalign,
134         ::text_yalign, ::activity_mode.
135
136         * gtk/gtkprogressbar.c: added construct arg ::adjustment. added args
137         ::bar_style, ::orientation, ::discrete_blocks, ::activity_step,
138         ::activity_blocks.
139         (gtk_progress_bar_new):
140         (gtk_progress_bar_new_with_adjustment): use gtk_widget_new().
141         (gtk_progress_bar_construct): deprecated.
142
143         * gtk/gtkvscrollbar.c:
144         (gtk_vscrollbar_draw_step_back): 
145         (gtk_vscrollbar_draw_step_forw): use "vscrollbar" as detail for
146         gtk_paint_arrow, to be consistent with hscrollbar.
147
148         * gtk/gtktext.c
149         added construct args ::hadjustment, ::vadjustment.
150         added args ::line_wrap, ::word_wrap.
151         (gtk_text_class_init): added scroll_adjustments signal.
152         (gtk_text_new): use gtk_widget_new.
153         (gtk_text_disconnect): remove adjustement with gtk_text_set_adjustments,
154         so we don't screw the reference counts and don't leave signals connected.
155         (gtk_text_destroy): disconnect adjustments signals.
156         (gtk_text_finalize): unref adjustments.
157
158         * gtk/gtkctree.c: added construct args ::n_columns and ::tree_column.
159         added args ::indent, ::spacing, ::show_stub, ::reorderable,
160         ::use_drag_icons, ::line_style and ::expander_style.
161         (gtk_ctree_set_show_stub): renamed from gtk_ctree_show_stub, which is
162         deprecated now.
163
164         * gtk/gtkclist.h: remove GTK_CLIST_CONSTRUCT flag.
165         * gtk/gtkclist.c:
166         removed ::vadjustment and ::hadjustment args, introduced
167         ::scroll_adjustments signal.
168         added ::shadow_type, ::selection_mode and ::row_height args.
169         added n_columns construct arg.
170         (gtk_clist_construct): call gtk_object_constructed().
171         (gtk_clist_set_row_height): if height is passed as 0,
172         revert to automatic height calculation.
173         (gtk_clist_destroy): before unrefing the adjustments, disconnect our
174         signal handlers.
175
176 Fri Nov 21 22:34:58 1998  Tim Janik  <timj@gtk.org>
177
178         * gtk/gtkwidget.c (gtk_widget_new): call gtk_object_default_construct
179         like gtk_object_new.
180         (gtk_widget_destroy): assert that we only destroy constructed widgets.
181
182         * gtk/gtkobject.h (enum GtkArgFlags): new flag GTK_ARG_CONSTRUCT_ONLY
183         to identify args that may only be used for construction.
184         GTK_ARG_CONSTRUCT maybe used as normal arguments besides construction
185         time.
186         * gtk/gtkobject.c (gtk_object_new): invoke gtk_object_default_construct
187         at the end if the object is not fully constructed.
188         (gtk_object_newv): likewise.
189         (gtk_object_destroy): assert that we only destroy constructed objects.
190         (gtk_object_init): setup GTK_CONSTRUCTED from the
191         objects real klass.
192         (gtk_object_default_construct): new function to complete default
193         construction of an object by applying missing construtor args with
194         default values of 0, 0.0 or NULL.
195         (gtk_object_constructed): new function to mark an object as being
196         constructed (used from within constructors).
197
198         * gtk/gtkarg.c (gtk_arg_type_new_static): return the args info pointer
199         so it is immediatedly available for the caller.
200
201         * gtk/gtktypeutils.c (gtk_type_new): pass an object's real class to
202         the object initilizer (GtkObjectInitFunc takes a second arg now, the
203         real klass), and asure that object initializers may temporarily alter
204         the class pointer.
205
206 Fri Nov 20 08:00:30 1998  Tim Janik  <timj@gtk.org>
207
208         * gtk/testgtk.c: change all occourances of gtk_container_add (
209         scrolled_window, widget) to gtk_scrolled_window_add_with_viewport (...)
210         for widget!=(clist, ctree, text, viewport).
211
212         * gtk/gtkcombo.c:
213         (gtk_combo_init): use gtk_scrolled_window_add_with_viewport()
214         to add children to the scrolled window.
215
216         * gtk/gtkscrolledwindow.h:
217         * gtk/gtkscrolledwindow.c:
218         changed scrolled_window->viewport to scrolled_window->child, and use
219         gtk_widget_scroll_adjustements() to set the scroll adjustments for the
220         widget, we do not create an additional viewport anymore.
221         added ::hadjustment and ::vadjustment constructor args.
222         (gtk_scrolled_window_new): use gtk_widget_new() to create the widget.
223         (gtk_scrolled_window_set_hadjustment):
224         (gtk_scrolled_window_set_vadjustment): new functions that superceed
225         gtk_scrolled_window_construct.
226         (gtk_scrolled_window_construct): deprecated this function.
227         
228         * gtk/gtkhscrollbar.c:
229         * gtk/gtkvscrollbar.c:
230         * gtk/gtkhscale.c:
231         * gtk/gtkvscale.c:
232         support a constructor arg "::adjustment", and use gtk_widget_new() for
233         the widget creation.
234
235         * gtk/gtkrange.c: added ::update_policy arg.
236         (gtk_range_set_adjustment): if adjustment is passed in as NULL, create
237         a default adjustment so this function can be used for derived widgets
238         that depend on the adjustment's existance.
239         (gtk_range_destroy): disconnect the adjustment signal, so we don't
240         get called after we got destroyed, we don't destroy the adjustment
241         in here, because it might have been provided from another widget.
242
243         * gtk/gtkviewport.c: introduced ::scroll_adjustments signal.
244         (gtk_viewport_destroy): same as gtk_range_destroy.
245
246         * gtk/gtkprogress.c (gtk_progress_destroy): same as gtk_range_destroy.
247
248         * gtk/gtkwidget.h: 
249         * gtk/gtkwidget.c: changed gtk_widget_activate() to return a
250         gboolean, indicating whether this widget supports activation.
251         added gtk_widget_scroll_adjustements() to set the scrolling
252         adjustments of a widget.
253
254 Wed Nov 19 01:22:42 1998  Tim Janik  <timj@gtk.org>
255
256         * gtk/gtkoptionmenu.c:
257         (gtk_option_menu_remove_contents):
258         (gtk_option_menu_update_contents): removed
259         gtk_container_[un]block_resize() pairs.
260
261         * gtk/gtknotebook.h: 
262         * gtk/gtknotebook.c: removed the tab_border field, since it shouldn't
263         be used outside of gtknotebook.c anyways. made ARG_TAB_BORDER a
264         wrtie-only argument.
265
266         * *.c: made deprecated functions issue a message:
267         gtk_clist_set_border, gtk_container_block_resize,
268         gtk_container_unblock_resize, gtk_container_need_resize,
269         gtk_object_class_add_user_signal, gtk_spin_button_construct,
270         gtk_scrolled_window_construct.
271         removed non-functional functions:
272         gtk_container_disable_resize, gtk_container_enable_resize,
273         gtk_clist_set_policy.
274
275 Wed Nov 18 22:54:36 1998  Tim Janik  <timj@gtk.org>
276
277         * gtk/gtkbox.c (gtk_box_init): 
278         * gtk/gtkdrawingarea.c (gtk_drawing_area_init): 
279         * gtk/gtkeventbox.c (gtk_event_box_init): 
280         * gtk/gtkfixed.c (gtk_fixed_init): 
281         * gtk/gtkframe.c (gtk_frame_init): 
282         * gtk/gtkhandlebox.c (gtk_handle_box_init): 
283         * gtk/gtkpacker.c (gtk_packer_init): 
284         * gtk/gtkmisc.c (gtk_misc_init): 
285         * gtk/gtkpreview.c (gtk_preview_init): 
286         * gtk/gtkprogress.c (gtk_progress_init): 
287         * gtk/gtkprogressbar.c (gtk_progress_bar_init): 
288         * gtk/gtkseparator.c (gtk_separator_init): 
289         * gtk/gtktable.c (gtk_table_init): 
290         * gtk/gtkviewport.c (gtk_viewport_init): 
291         * gtk/gtkalignment.c (gtk_alignment_init): 
292         removed setting of the GTK_BASIC flag.
293
294         * gtk/gtkwidget.h:
295         * gtk/gtkwidget.c:
296         removed GTK_BASIC, GTK_WIDGET_BASIC and gtk_widget_basic.
297
298         * miscellaneous GtkType and macro fixups.
299
300 Sat Nov 21 18:53:13 1998  Owen Taylor  <otaylor@redhat.com>
301
302         * gdk/gdkwindow.c (gdk_window_get_deskrelative_origin): 
303         Fixed so it at least works with window managers other
304         than Enlightenment, though it probably needs to be
305         removed altogether.
306
307 1998-11-21  Andrew T. Veliath  <andrewtv@usa.net>
308
309         * gtk/gtkhandlebox.[ch]: Add shadow_type and
310         gtk_handle_box_set_shadow_type function (plus a
311         GtkHandleBox::shadow arg) to allow configuration of shadow in the
312         bin window.
313
314 Thu Nov 19 23:47:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
315
316         * gtk/gtkcalendar.c: Fix for marking days from 
317           Dan Reish <dreish@izzy.net>.
318
319 Thu Nov 19 00:15:27 1998  Lars Hamann  <lars@gtk.org>
320
321         * gtk/gtkctree.c (gtk_ctree_node_nth): return the nth GtkCTreeNode
322         in row_list. (from Samuel Solon <ssolon@usa.net>)
323         
324         * gtk/gtkclist.c (gtk_clist_get_column_title): return column title
325         (gtk_clist_get_column_widget): return column widget
326
327 Wed Nov 18 11:54:57 1998  Owen Taylor  <otaylor@redhat.com>
328
329         * gtk/gtkdnd.c (gtk_drag_find_widget): Accept drops
330         that are sent to a toplevel but are not within the
331         toplevels bounds.
332
333         * gdk/gdkdnd.c gdk/gdk.h: Added support for a
334         XdndProxy atom which proxies the drag to another window.
335
336 1998-11-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
337
338         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, now
339         that it is not needed.
340
341 Tue Nov 17 1998 The Rasterman <raster@redhat.com>
342         * gdk/gdk.h, gdk/gdkwindow.c: Added gdk_window_get_deskrelative_origin
343           function to correctly determine gdk window position relative to
344           its "root window" - contains check for an Enlightenment
345           virtual root window.
346         * gtk/gtkhandlebox.c: changed gdk_window_get_origin ->
347           gdk_window_get_deskrelative_origin to get the origin of dragged
348           handleboxes correctly. Now it works correctly with E.
349           
350 Tue Nov 17 1998  Tuomas Lukka <lukka@iki.fi>
351
352         * gtk/gtktypeutils.c: Fix vital bug where LOOKUP was used when
353           getting types even though we were not using real type names,
354           just the index.  This caused random crashes when more than 
355           256 types were defined.
356
357 1998-11-17  Martin Baulig  <martin@home-of-linux.org>
358
359         * gtk/genmarshal.pl: Put output files in the current directory
360         and not in the $(srcdir) since the VPATH is ignored for built
361         sources.
362
363 Tue Nov 17 01:37:53 PST 1998 Manish Singh <yosh@gimp.org>
364
365         * gtk/genmarshal.pl
366         * gtk/Makefile.am: check for unchanged autogenerated files, so
367         we don't rebuild everything just for adding a new function
368
369 Mon Nov 16 19:19:00 CST 1998 Shawn T. Amundson <amundson@gtk.org>
370
371         * gtk/gtkpixmap.h
372           gtk/gtkpixmap.c: Pixmaps now grey out when insensitive,
373           code thanks to GNOME stock by Eckehard Berns.  New function
374           gtk_pixmap_set_build_insensitive to provide ability to turn 
375           this off.
376
377 Tue Nov 17 00:06:29 1998  Lars Hamann  <lars@gtk.org>
378
379         * gtk/gtknotebook.h (struct _GtkNotebook): new flags : homogeneous;
380         new guints : tab_hborder, tab_vborder; marked tab_border deprecated
381         (struct _GtkNotebookPage): new flags : expand, fill, pack
382
383         * gtk/gtknotebook.h/c
384         (gtk_notebook_set_homogeneous_tabs): new function. set homogeneneous
385         tabs
386         (gtk_notebook_set_tab_border): set tab_h/vborder to tab_border
387         (gtk_notebook_set_tab_hborder): new function. set tab_hborder
388         (gtk_notebook_set_tab_vborder): new function. set tab_vborder
389         (gtk_notebook_query_tab_label): new function. get tab_label widget.
390         (gtk_notebook_set_tab_label): new function. set tab_label widget.
391         (gtk_notebook_set_tab_label_text): new function. set tab_label text.
392         (gtk_notebook_query_menu_label): new function. get tab_label widget.
393         (gtk_notebook_set_menu_label): new function. set tab_label widget.
394         (gtk_notebook_set_menu_label_text): new function. set tab_label text.
395         (gtk_notebook_set_tab_label_packing): new function. set tab_label
396         fill, expand, fill_type
397         (gtk_notebook_query_tab_label_packing): new function. get tab_label
398         fill, expand, fill_type
399
400         (gtk_notebook_real_page_position): return logic page number
401         (gtk_notebook_search_page) search next/prev logic page
402         (gtk_notebook_update_labels): set logic page number.
403         (gtk_notebook_page_compare): renamed gtk_notebook_find_page
404         (gtk_notebook_set/get_child_arg): new args CHILD_ARG_TAB_EXPAND,
405         CHILD_ARG_TAB_FILL, CHILD_ARG_TAB_PACK
406         (gtk_notebook_button_press) (gtk_notebook_key_press)
407         (gtk_notebook_focus) (gtk_notebook_pages_allocate)
408         (gtk_notebook_calc_tabs) (gtk_notebook_switch_focus_tab)
409         use gtk_notebook_search_page
410         (gtk_notebook_page_allocate): fixed allocation bug
411         (gtk_notebook_set/get_arg): new args TAB_HBORDER, TAB_VBORDER.
412         (gtk_notebook_init): unset GTK_NO_WINDOW flag
413         (gtk_notebook_size_request): check whether page->child is visible.
414         changes due to tab h/vborder, homogeneous tabs
415         (gtk_notebook_paint): don't draw invisible tabs
416         (gtk_notebook_switch_page): calculate page_num if it's less than 0
417         (gtk_notebook_append_*) (gtk_notebook_prepend_*)
418         (gtk_notebook_insert_page): removed sanity checks
419
420         * gtk/testgtk.c (create_notebook): extended Notebook sample a bit.
421
422 Mon Nov 16 15:10:33 1998  Owen Taylor  <otaylor@redhat.com>
423
424         * gtk/gtktext.c: Optimizations for [advance/decrement]_mark_n.
425         (gtk-mailund-980718-0, Thomas Mailund Jensen <mailund@daimi.aau.dk>)
426
427         * gtk/gtkfixed.c: Removed gtk_fixed_umap, which was 
428         broken. (GtkWidget's default unmap handler should work fine).
429         Pointed out by Patrice Fortier <Patrice.Fortier@aquarel.fr>
430
431 Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org>
432
433         * gtk/gtkmenubar.[ch]: added shadow_type setting and
434         gtk_menu_bar_set_shadow_type function to allow shadow
435         configurability for menubars
436
437         * gtk/gtkviewport.h: use GtkShadowType enum instead of generic
438         guint
439
440 Mon Nov 16 00:17:53 1998  Tim Janik  <timj@gtk.org>
441
442         * gtk/gtktypeutils.c (gtk_type_new): relookup type node after
443         class creation and parent class' object initializer.
444
445 1998-11-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
446
447         * gtk/gtkpaned.c (gtk_paned_realize): Destroy the cursor after we
448         have assigned it to the window -- there is no point in keeping it around.
449         (gtk_paned_unrealize): No need to destroy the cursor here.
450
451         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, as
452         it is not needed.
453
454 Fri Nov 13 11:22:38 1998  Owen Taylor  <otaylor@redhat.com>
455
456         * gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new().
457         (gtk-blizzard-981005-0. 
458          Christopher Blizzard <blizzard@applied-theory.com)
459
460         * gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and
461         gdk_pixmap_foreign_new to gdkx.h.
462
463 Fri Nov 13 16:06:48 1998  Owen Taylor  <otaylor@redhat.com>
464
465         * gtk/Makefile.am: Added rules to generate an empty
466         GTK+ theme called "Default" upon installation.
467         
468         * gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance
469         of fonts and fontsets. 
470         (gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp)
471
472         * gtk/gtkmain.c: Change test to detect glibc's
473         utf8 based mb* functions to be more specific.
474
475         * gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation 
476         cleanups.
477
478 Fri Nov 13 16:43:36 1998  Lars Hamann  <lars@gtk.org>
479
480         * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
481         show event_window
482         (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
483         event_window if draw_indicator is set
484         (gtk_toggle_button_set_mode):
485
486 Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
487
488         * gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
489         ensure proper type (SunPro cc complains)
490
491         * gtk/gtklist.c: removed bogus '*' from "*GTK_CONTAINER_CLASS"
492
493         * gtk/gtktogglebutton.c: use our own draw method so we get proper
494         redraws on active state
495
496 Thu Nov 12 00:26:13 1998  Lars Hamann  <lars@gtk.org>
497
498         * gtk/gtkstyle.c (gtk_default_draw_box_gap): use GtkPositionType
499         defines.
500
501         * gtk/gtknotebook.c (gtk_notebook_draw_tab): fixed gap_side for
502         GTP_POS_RIGHT
503
504 Wed Nov 11 19:54:58 1998  Lars Hamann  <lars@gtk.org>
505
506         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init)
507         (gtk_scrolled_window_set_arg) (gtk_scrolled_window_get_arg):
508         added ARG_WINDOW_PLACEMENT
509
510         * gtk/gtkclist.c (size_allocate_columns): resize column if column
511         button > column width and auto_resize is set
512         (real_clear) (column_auto_resize) (gtk_clist_optimal_column_width):
513         consider column button width of auto resized columns
514         (gtk_clist_parent_set): removed 
515
516         * gtk/gtkctree.c (gtk_ctree_insert_node): call column_auto_resize.
517         (auto_resize_columns): auto_resize all columns
518         (real_tree_collapse) (gtk_ctree_remove_node): call auto_resize_columns
519         (column_auto_resize): respect column button width of auto resized
520         columns
521
522 1998-11-10  Martin Baulig  <baulig@merkur.uni-trier.de>
523
524         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_4): Define this so
525         we can check for latest GTK features.
526
527 Mon Nov  9 00:39:20 1998  Lars Hamann  <lars@gtk.org>
528
529         * gtk/gtkenums.h : new enum GtkCornerType 
530         * gtk/gtkscrolledwindow.h (struct _GtkScrolledWindow): added
531         window_placement.
532         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_placement): 
533         new method to set window_placement.
534         (gtk_scrolled_window_viewport_allocate)
535         (gtk_scrolled_window_size_allocate): few changes due to
536         window_placement.
537         * gtk/testgtk.c (remove_selection): fixed while loop.
538
539 Sat Nov  7 21:55:00 PST 1998 Manish Singh <yosh@gimp.org>
540
541         * gtk/gtkclist.c: check if column[i].button is valid before calling
542         gtk_widget_intersect on it in gtk_clist_draw
543
544         * gtk/gtkdnd.c: removed unused variable empty_bits
545
546         * gtk/gtkrc.c: we should use gslist_* functions with GSLists...
547
548         * gtk/gtktypeutils.[ch]: makes more send for gtk_type_is_a to return
549         a boolean (thanks to Elrond for noticing this)
550
551 1998-11-07  Jay Cox  <jaycox@earthlink.net>
552
553         * gtk/gtkwindow.c: forward declaration for gtk_window_paint
554         * gdk/gdkxid.c: declare xid_ht static
555         * examples/*/Makefile: get the link ordering right.
556
557 Sat Nov  7 16:31:56 1998  Stefan Jeske  <stefan@gtk.org>
558
559         * gtk/gtkclist.c (gtk_clist_realize): Set background of
560         title button window to GTK_STATE_NORMAL instead of
561         GTK_STATE_SELECTED to avoid ugly flicker.
562
563 Fri Nov  6 23:29:40 1998  Lars Hamann  <lars@gtk.org>
564
565         * gtk/gtkclist.c (real_clear) (adjust_adjustments): resize clist
566         if adjustments are NULL and list size has changed
567         (gtk_clist_size_request): return real list requsition,
568         if adjustments are NULL.
569         (size_allocate_columns): use button->requisition.with, if column
570         width is not set.
571         (list_requisition_width): new function. return full list width.
572         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): do not
573         auto create adjustments.
574         (gtk_clist_motion) (move_vertical) (move_horizontal):
575         check adjustment != NULL.
576
577 Thu Nov  5 12:06:16 1998  Owen Taylor  <otaylor@redhat.com>
578
579         * gtk/gtkcheckbutton.c (gtk_check_button_draw_focus): Queue
580         a clear/redraw, not just a redraw, so the focus
581         gets undrawn properly.
582
583         * gtk/gtktogglebutton.c (gtk_toggle_button_unrealize): 
584         Chain to gtk_widget_unrealize() instead of duplicating
585         code.
586
587 Wed Nov  4 14:34:51 1998  Owen Taylor  <otaylor@redhat.com>
588
589         * gdk/gdk.c gdk/gdkprivate.h gdk/gdkwindow.c: Removed
590         last vestiges of old DND.
591
592 Tue Nov  3 12:27:52 1998  Owen Taylor  <otaylor@redhat.com>
593
594         * gtk/gtkentry.c: Restored inner border to entries,
595         erase cursors to background image.
596
597 Fri Oct 30 12:09:21 1998  Owen Taylor  <otaylor@redhat.com>
598
599         * gtk/gtkentry.c gtk/gtkstyle.[ch]: removed paint_entry() -
600         it was identical to paint_flat_box().
601
602         * gtk/gtkstyle.c: Coding style fixups.
603
604         * gtk/gtkwindow.c (gtk_window_move_resize): removed useless
605         test.
606
607         * gtk/gtkframe.c gtkstyle.[ch] gtknotebook.c: 
608         Change 'side' for paint_[box/shadow]_gap and paint_extension
609         to be GtkPositionType instead of a random int.
610
611         * gtk/gtkaspectframe.c (gtk_aspect_frame_paint): Use 
612         "frame" as detail - an aspectframe should draw identical
613         to a frame.
614
615 Tue Oct 27 09:58:11 1998  Owen Taylor  <otaylor@redhat.com>
616
617         * gdk/gdkwindow.c (gdk_window_merge_child_shapes): renamed
618         from combine_child_shapes().
619
620         * gdk/gdkwindow.c: Merge propagate_shapes() and
621         propagate_combine_shapes() to remove code duplication.
622
623 Thu Nov  5 14:31:57 PST 1998 Manish Singh <yosh@gimp.org>
624
625         * gdk/gdk.c: sometimes we get a KeyRelease before a KeyPress in
626         gdk_event_translate, and the USE_XIM buffer isn't allocated yet.
627         So allocate some mem if it's not already done.
628
629         * clist scrollbar merges from HEAD
630
631 Tue Nov  3 13:16:36 PST 1998 Manish Singh <yosh@gimp.org>
632
633         * gtk/Makefile.am: remove explict -ldl, gmodule takes care of that
634
635         * gtk/gtkdnd.c: start TARGET_MOTIF_SUCCESS from 0x40000000 instead
636         of 0x80000000, so we stay within the bounds of a postive signed
637         int (it broke some compilers)
638
639         * gtk/gtkmenushell.c
640         * gtk/gtkoptionmenu.c: merges from HEAD to make option menus work
641         when some of the menuitems are hidden
642
643         * gtk/gtkthemes.h: don't include dlfcn.h explictly, gmodule takes
644         care of that
645
646         * gtk/gtkwidget.c: add a dummy continue after the line label
647         next_rect, since some compilers don't like label: }
648
649 Sun Nov  1 20:05:55 PST 1998 Manish Singh <yosh@gimp.org>
650
651         * Okay, so we need the X11R6 keysyms so programs don't have to
652         worry about them. They don't conflict anyway. Reverted the #ifdef
653         changes to gtk/*.c
654
655         * gdk/Makefile.am: remove the BUILT_SOURCES rule, and make a
656         special rule for them (X-derived-headers)
657
658 Sun Nov  1 05:30:32 PST 1998 Manish Singh <yosh@gimp.org>
659
660         * gdk/Makefile.am: changed the awk scripts to generate gdkcursors.h
661         and gdkkeysyms.h into sed scripts, since the awk scripts weren't
662         portable, and we really shouldn't be using awk anyway.
663
664         * makecursors.awk
665         * makekeysyms.awk: bye bye
666
667         * gtk/gtkaccelgroup.c
668         * gtk/gtkclist.c
669         * gtk/gtknotebook.c
670         * gtk/gtkwindow.c: don't use X11R6 keysyms if they aren't there
671
672 Sat Oct 31 15:22:14 PST 1998 Manish Singh <yosh@gimp.org>
673
674         * gdk/Makefile.am: do the same built sources trick for gdkcursors.h
675         and gdkkeysyms.h. Remove those files from CVS.
676
677 Sat Oct 31 14:44:01 PST 1998 Manish Singh <yosh@gimp.org>
678
679         * gdk/gdk.c: move prototype of gdk_wm_protocols_filter outside
680         of the USE_XIM #ifdef
681
682         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
683         even with --include-deps. Slightly different from timj's fix, to avoid
684         circular dependency with gtkmarshal.c
685
686         * autogen.sh
687         * gtk/gtkclist.[ch]
688         * gtk/gtkctree.c
689         * gtk/gtkfontsel.[ch]
690         * gtk/gtklist.c
691         * gtk/gtklistitem.c
692         * gtk/gtkobject.[ch]
693         * gtk/testgtk.c: merges from HEAD
694
695         * gtk/gtkmenubar.c
696         * gtk/gtkradiomenuitem.c
697         * gtk/gtktreeitem.c: cleanups
698
699 Wed Oct 28 23:32:19 PST 1998 Manish Singh <yosh@gimp.org>
700
701         * gdk/gdkrgb.c: Oops. s/BIGENDIAN/BIG_ENDIAN/
702
703 Wed Oct 28 19:04:49 PST 1998 Manish Singh <yosh@gimp.org>
704
705         * configure.in: AIX has libpthreads, to make sure you can have
706         more than one thread. Also add -D_THREAD_SAFE, and reorder
707         configure.in so CFLAGS doesn't get clobbered when we actually
708         want to modify it
709
710         * gdk/gdkimage.c: initialize the bpp and byte_order fields properly
711         in gdk_image_get
712
713         * gtk/testdnd.c: removed unused variable "buf"
714
715 Mon Oct 26 16:46:15 1998  Owen Taylor  <otaylor@redhat.com>
716
717         * gtk/gtkcontainer.c (gtk_container_unregister_toplevel): 
718         remove_link(), not remove()
719
720 Thu Oct 22 02:27:30 PDT 1998 Manish Singh <yosh@gimp.org>
721
722         * gdk/gdkrgb.c: use glib endian stuff
723
724         * configure.in: don't need to check for endianness anymore
725
726         * gtk/gtkstyle.h: removed #pragma }, causing a silly warning
727
728 Wed Oct 21 17:44:27 1998  Owen Taylor  <otaylor@redhat.com>
729
730         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Reset
731         all toplevel widgets, not toplevel windows. (I.e.,
732         plugs should be reset)
733
734         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Yes, we
735         _do_ need to notify the other toplevels - by the time
736         the get the client messages, the RC file dates will
737         have been updated.
738
739         * gtk/gtkcontainer.h: Added a function call to list
740         every toplevel widget.
741
742         * gdk/gdk.c (gdk_event_send_client_message_to_all_recurse): 
743         Don't send client messages to _every_ window on display!
744         
745 Tue Oct 20 16:21:04 1998  Owen Taylor  <otaylor@redhat.com>
746
747         * gtk/gtkdnd.c (gtk_drag_source_event_cb): Don't start drags 
748         when dragging across widgets, only in drags
749         starting in widget.
750
751 Tue Oct 20 15:59:49 1998  Owen Taylor  <otaylor@redhat.com>
752
753         * gtk/gtkdnd.c (gtk_drag_source_info_destroy): 
754         Emit "drag_end" signal at end of drag.
755
756 Tue Oct 20 13:07:54 1998  Owen Taylor  <otaylor@redhat.com>
757
758         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Look
759         for "gtk-embedded" data currently set by 
760         GtkSocket, and use that to forward client message
761         on to embedded windows. Only reset our own toplevel -
762         the others will handle themselves. (Now that
763         GtkMenus live in GtkWindows)
764
765 Mon Oct 19 16:40:40 1998  Owen Taylor  <otaylor@redhat.com>
766
767         * gdk/gdkdnd.c (get_client_window_at_coords_recurse): Modify
768         client window finding code so that it works with
769         WM's other than fvwm.
770  
771 Sun Oct 18 22:48:27 1998  Owen Taylor  <otaylor@redhat.com>
772
773         * gtk/gtkdrawwindow.c (gtk_draw_window_get_type): Added
774         the "GtkDrawWindow" class, which is a descendent
775         of the Window class which leaves its background alone.
776         Essentially, a toplevel drawing area, though it does
777         allow adding a child.
778
779 Sat Oct 17 00:40:51 1998  Owen Taylor  <otaylor@redhat.com>
780
781         * gtk/gtkrc.c (gtk_rc_style_init): Duplicate bg_pixmap_name when
782         merging RC styles. Report new share/themes path for
783         themes directory. Deref theme engines when appropriate.
784
785         * gtk/gtkclist.c: Set all backgrounds in _style_set().
786         Make sure that pixel for xor_gc is never 0.
787
788         * gtk/gtkctree.c: Choose colors for plus/minus more
789         carefully, in a hopefully style-independent fashion.
790         (Still needs a bit more work)
791
792         * gtk/gtkwidget.c: Don't send expose events to widgets
793         which are about to be resized and redrawn. (Needs a
794         bit more thought.)
795
796         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Avoid
797         drawing on tabs for newly allocated, un-sized
798         pages - we'll get the size wrong.
799
800 Thu Oct  1 17:38:07 1998  Owen Taylor  <otaylor@redhat.com>
801
802         * gtk/gtkwidget.c (gtk_widget_redraw_queue_remove): Fixed
803         up stupidities in last commit.
804
805 Thu Oct  1 14:25:43 1998  Owen Taylor  <otaylor@redhat.com>
806
807         * gtk/gtkwidget.c: When handling queued resizes, account
808         for handleboxes, where the widget heirarchy is different
809         than the window heirarchy by just queueing a resize on
810         the entire handlebox if the detached child is changed.
811
812         - Remove widgets from the redraw queue when reparenting,
813         even if not unrealizing. We queue a resize/redraw in
814         any case.
815
816 Mon Sep 28 21:07:01 EDT 1998 The Rasterman <raster@redhat.com>
817         * gtk/gtkstyle.c: added check to see if the widget has been shaped
818         byt the app via gtk_widget_shape_combine_mask and if it has does
819         not reset the shape on theme change.
820         
821 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
822
823         * gtk/gtkfilesel.c: Keep a list of directories in which we never
824         want to stat the entries (like /afs), and assume everything in
825         those directories is a subdirectory.
826
827         - When following a path, try to open components even when
828         we don't find them in their parent's directory to
829         support automounters.
830
831 Fri Sep 11 15:36:33 1998  Owen Taylor  <otaylor@redhat.com>
832
833         * gdk/gdkinputgxi.h (gdk_input_gxi_grab_pointer): Hopefully
834         now at least compiles again.
835
836         * gdk/gdk.c (gdk_event_translate): Don't pass events
837         on destroyed widgets to the gdk_input layer.
838
839 Thu Sep  3 19:45:34 1998  Owen Taylor  <otaylor@redhat.com>
840
841         * gtk/gtkthemes.c: Use g_module instead of dlopen()
842
843 Thu Sep  3 19:30:11 1998  Owen Taylor  <otaylor@redhat.com>
844
845         * gtk/gtktooltips.c (gtk_tooltips_expose): Check
846         if we've changed widgets since the expose event
847         was queued.
848
849 Mon Aug 31 15:33:13 1998  Owen Taylor  <otaylor@redhat.com>
850
851         * gtk/gtkstyle.h (struct _GtkStyle): Reordered a bit
852         to restore approximate bin compatibility with the
853         non-themes branch. (This does break bin compat
854         within the themes branch.)
855
856 Sun Aug 30 16:48:27 1998  Owen Taylor  <otaylor@gtk.org>
857
858         * gtk/gtklabel.c (gtk_label_set): Eliminate a 
859         gdk_window_clear_area() that snuck in with the
860         menu underlines merge.
861
862 Mon Aug 24 23:37:26 1998  Owen Taylor  <otaylor@redhat.com>
863
864         * gtk/gtktext.c: Fixed some remaining background drawing,
865           merges from main branch, cleanups.
866
867 Mon Aug 24 10:55:51 1998  Owen Taylor  <otaylor@redhat.com>
868
869         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Don't
870           dereference NULL focus tab.
871
872         * gtk/gtkscale.c (gtk_scale_[un]map): Add map/unmap
873           functions since we need to both show/hide and 
874           queue a redraw. (There's some duplication of drawing here, 
875           we probably should only be queuing a redraw on the
876           "value" portion of the scale.)
877
878 Fri Aug 21 19:02:30 1998  Owen Taylor  <otaylor@redhat.com>
879
880         * gtk/gtkrange.[ch] gtk/gtkhscale.c gtk/gtkvscale.[ch]: Fit scales
881           into the theme-drawing framework. We do this by making them,
882           like check/radio-buttons, no-window widgets with subwindows. We
883           then move the value by calling gtk_widget_queue_clear() and only
884           redraw the value in our draw() / expose() handler.  A virtual
885           function clear_background is added which queues a clear on the
886           "background" portion of the widget.
887
888 Fri Aug 21 13:04:27 1998  Owen Taylor  <otaylor@redhat.com>
889
890         * gtk/gtktext.c (mark_bg_gc): Make background colors work
891           again. (We can't always paint the background with a
892           paint() function - only do that for selected text)
893
894 Mon Aug 17 20:31:01 1998  Owen Taylor  <otaylor@redhat.com>
895
896         * gtk/gtktearoffmenuitem.c gtk/gtkclist.[ch] gtk/gtkctree.[ch]
897           gtk/gtklabel.c gtk/gtkmenu.c: Merges from main branch.
898
899         * Makefile.am (SRC_SUBDIRS): Removed themes from SRC_SUBDIRS.
900           the themes can't be built as part of the same build since
901           they depend on gdk_imlib.
902
903 Fri Aug 14 12:44:30 1998  Owen Taylor  <otaylor@redhat.com>
904
905         * gtk/gtkthemes.c (gtk_theme_engine_get): Removed sample engine code
906           from gtkthemes.c.
907                 
908         * configure.in ltconfig.in ltmain.sh gdk/Makefile.am gtk/Makefile.am
909           gtk/
910
911           - Upgrade to libtool-1.2b + patch to add shared library dependencies
912             for Linux. (Needs to be extended to other platforms where they
913             are safe)
914
915          - Check for -ldl so this branch should build on all platforms, though
916            themes will work on all platforms they could work on.
917
918          - Use -version and -release simultaneously: sonames stay as they are
919            in the current scheme, but -lgtk-1.1 changes to -lgtk.
920
921          - Added in extra -l flags to library LDFLAGS so we get shared library
922            dependencies against X libs and -ldl. (But not libgtk against 
923            libgdk or libglib yet, since dependencies against uninstalled
924            libraries aren't portable)
925
926 Fri Aug 21 16:10:38 EDT 1998 The Rasterman <raster@redhat.com>
927         * gtkrc.c - added api calls to find module and theme paths from gtk.
928           nuked gtk_install_prefix global.
929         
930 Fri Aug 21 12:36:46 EDT 1998 The Rasterman <raster@redhat.com>
931         * fixed gtk_install_prefix global.
932           
933 Thu Aug 20 19:27:49 EDT 1998 The Rasterman <raster@redhat.com>
934         * added gtk_install_prefix global const variabel to find where gtk is
935           installed.
936           
937 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
938         * added ~/.gtk/lib/themes/engines/ to the default searchpath for
939           gtk theme engines
940         
941 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
942         * made gtkrc scanner append dir that gtkrc is read from to pixmap path.
943
944 Mon Aug 10 23:03:55 1998  The Rasterman <raster@redhat.com>
945         * Fixed minor problem in gtkhandlebox.c with drawing, and some
946           notebook stuff. Also pixmap theme is now "clean" again.
947           
948 Mon Aug 10 23:03:55 1998  Owen Taylor  <otaylor@redhat.com>
949         * gtk/gtkwidget.c (gtk_widget_clip_rect): Fixed up 
950           queued area resizing once more.
951
952 Mon Aug 10 23:09:30 EDT 1998
953         * Added a few drawing fixes for notebook and other widgets. finished
954           pixmap theme up to the level that can be supported so far. (need to
955           add path discovery 9ie where is the rc fiel from - add to pixmap 
956           path so we can get theimages from there too). then we can package 
957           themes. After that need to add to theme seartch path stuff in users 
958           home dir.
959           
960 Thu Aug  6 16:49:25 1998  Owen Taylor  <otaylor@redhat.com>
961
962         * gtk/gtktooltips.c (gtk_tooltips_expose): Draw into a
963           drawing area, draw in an expose handler.
964
965         * gtk/gtknotebook.c (gtk_notebook_expose): Check for
966           empty current page.
967
968 Wed Aug  5 16:13:15 1998  Owen Taylor  <otaylor@redhat.com>
969
970         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel): Moved
971           creation of GC's so that they will be set before
972           they are used for map events (why are they used there?)
973
974         * gtk/gtkwidget.c: Fixed mistake that caused widgets to
975           be queued in multiple times in the queue.
976
977 Wed Aug  5 14:23:52 1998  Owen Taylor  <otaylor@redhat.com>
978
979         * gtk/gtkstyle.c (gtk_default_draw_shadow): Don't set
980           clip rects (or do anything) for shadow_none.
981
982 Wed Aug  5 13:14:57 1998  Owen Taylor  <otaylor@redhat.com>
983
984         * gtk/gtkbutton.c (gtk_button_paint): Restored paint function.
985           Yes, it was needed. draw() and expose() are _not_
986           identical.
987
988 Sat Aug  1 17:44:31 EDT 1998 EDT 1998 The Rasterman <raster@redhat.com>
989         * Wheeeeeeeeeeeeeeee fixed radiobittons to work in gimp again.
990
991 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
992         * YES YES YES YES YES clist borders work again! YES! YES YES! gimme 
993           more baby oooh yeah more more MORE YES YES.
994
995 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
996         * hopefully fixed problem wiht togglebuttons acting like
997           radiobuttons in gtktogglebutton.c
998
999 Thu Jul 30 23:36:46 EDT 1998 The Rasterman <raster@redhat.com>
1000         * fixed another drawing buglet in the frame drawing code (actually
1001           in the clearing code but anyway in gtkstyle.c)
1002
1003 Thu Jul 30 19:23:48 EDT 1998 The Rasterman <raster@redhat.com>
1004         * Fixed warning from colorsel widget...
1005
1006 Thu Jul 30 19:10:42 EDT 1998 The Rasterman <raster@redhat.com>
1007         * Fixed defautl drawing code to no longer clobber the original style
1008           pixmap bgs as it did and added a helper funciton og gtkstyle.c to
1009           help with this.
1010
1011 Thu Jul 30 18:09:21 1998  Owen Taylor  <otaylor@redhat.com>
1012
1013         * gtk/gtkrc.c gtk/gtkstyle.c: More mm fixups
1014
1015         * gtk/gtktooltips.c: Pass a widget (the window) to the
1016           drawing function instead of the GtkTooltips.
1017
1018 Thu Jul 30 17:27:10 1998  Owen Taylor  <otaylor@redhat.com>
1019
1020         * gdk/gdkwindow.c: Abstract out checking for shape
1021           extension into a function.
1022
1023         * gtk/gtkwindow.c: Fix up gtk_window_expose()/draw().
1024           Remove extra callls to gtk_window_draw().
1025
1026 Thu Jul 30 11:18:43 1998  Owen Taylor  <otaylor@redhat.com>
1027
1028         * gtk/gtkstyle.c gtk/gtkrc.c: Memory management fixups.
1029
1030         * themes/th_main.c: Moved messages around so they are
1031           printed before destroying strings.
1032
1033 Wed Jul 29 16:56:07 1998  Owen Taylor  <otaylor@redhat.com>
1034
1035         * gdk/gdk.c: Fairly simple implementation of expose compression.
1036           (No GraphicsExpose compression yet, always compress
1037           with the equivalent of XtCompressMultiple - no compression
1038           of Expose events across non-Expose events)
1039         
1040         * gdk/gdk.h gdk/gdkrectangle.c: gdk_rectangle_union()
1041           Find rectangle bounding two rectangles.
1042
1043         * gtk/gtkstyle.c: Set clip rects for a few extra GC's
1044           in gdk_default_draw_shadow()
1045         
1046 Wed Jul 29 16:03:20 EDT 1998 The Rasterman <raster@redhat.com>
1047         * Fixed drawing functions to handle switching themes on the fly 
1048           gracefully and look decent.
1049           
1050 Tue Jul 28 22:52:10 EDT 1998 The Rasterman <raster@redhat.com>
1051         * Added all the theme drawing code to all widgets, fixed up minor
1052           nigglies in some widgets when it comes to themes, seem to be
1053           running into some funky behavior with clipping rects in GC's. Too
1054           many files to list here. (all files that now use gtk_paint_* are
1055           affected).
1056
1057 Tue Jul 28 22:49:16 1998  Owen Taylor  <otaylor@redhat.com>
1058
1059         * themes/th_main.c themes/th_draw.c gtk/testgtkrc: 
1060           Set up the demo theme so it is loaded from the RC file.
1061
1062         * themes/th_draw.c: Alleviate the hardcoded paths a wee
1063           bit. (use $HOME/themes/)
1064
1065         * gtk/gtkthemes.[ch] gtk/gtkmain.c: Load engines specified in 
1066           the RC file via dlopen()
1067
1068 Tue Jul 28 20:30:56 1998  Owen Taylor  <otaylor@redhat.com>
1069
1070         Internal handling of styles and RC styles pretty much
1071         completely reworked for Theme work.
1072
1073         * gtkthemes.[ch]: 
1074          - Added routines for virtualization of RcStyle and Style handling.
1075          - Temporary "sample" inline theme-engine. (Does nothing
1076            but print out a few messages.
1077         
1078         * gtkrc.[ch]
1079          - Made GtkRcStyle public, added flags to tell if particular
1080            colors have been set.
1081          - RC Styles are "transparent", and the final style for
1082            a widget is the composition of all matching styles
1083          - Added pointer to GtkThemeEngine, and gpointer engine_data
1084            to RC style and style.
1085          - Parse "engine" keyword, load the appropriate theme engine
1086            and call the engine's parser.
1087         
1088         *  gtkstyle.[ch]
1089          - Keep a GtkRcStyle * in styles created from Rc Styles.
1090          - Load up images from RC file at style attachment time.
1091          - Call ->engine->foo() at appropriate times.
1092          - Don't use a GCache. All incarnations for a style are
1093            just linked together in a list, depend on the RC style 
1094            code to find the existing copy.
1095
1096 Tue Jul 28 14:41:54 1998  Owen Taylor  <otaylor@redhat.com>
1097
1098         * gtk/gtkwidget.[ch]: Added the concept of queued redraws
1099           of partial areas. This can be done either relative
1100           to the existing windows (gtk_widget_queue_clear[_area]())
1101           or relative to the future allocation of the widget
1102           (gtk_widget_queue_draw[_area]). 
1103
1104           The initial implementation is pretty braindead, but
1105           can be improved.
1106
1107         * gtk/gtkwidget.[ch]: Removed calls to gdk_window_clear_area()
1108           in favor of gtk_widget_queue_clear().
1109         
1110         * gtk/gtklabel.[ch] gtk/gtkpixmap.[ch]: Removed needs_clear
1111           flags in favor of gtk_widget_queue_clear()
1112         
1113 Tue Aug  4 19:12:14 1998  Owen Taylor  <otaylor@redhat.com>
1114
1115         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fixed up
1116           handling of partially clipped areas.
1117
1118 Thu Nov  5 18:52:35 1998  Lars Hamann  <lars@gtk.org>
1119
1120         * gtk/gtkclist.h (struct _GtkCListClass)
1121         * gtk/gtkclist.c (gtk_clist_class_init): removed scrollbar_spacing.
1122
1123 Thu Nov  5 16:00:32 1998  Lars Hamann  <lars@gtk.org>
1124
1125         * gtk/gtkclist.h (struct _GtkCList): removed vscrollbar, hscrollbar,
1126         vscrollbar_policy, hscrollbar_policy. added h/vadjustment.
1127
1128         * gtk/gtkclist.c (gtk_clist_class_init): added new args types
1129         "hadjustment" & "vadjustment"
1130          (gtk_clist_set_arg) (gtk_clist_get_arg): new object class
1131         set/get_arg functions
1132         (gtk_clist_construct): don't create/adjust scrollbars.
1133         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): new functions
1134         to set h/vadjustments
1135         (gtk_clist_get_vadjustment) (gtk_clist_get_hadjustment): new functions
1136         to query h/vadjustments
1137         (create_scrollbars): removed.
1138         (create_adjustments): replacement for create_scrollbars
1139         (gtk_clist_new): call gtk_clist_new_with_titles
1140         (gtk_clist_new_with_titles): don't warn on titles == NULL
1141         (move_horizontal): use CLAMP instead
1142         (gtk_clist_set_policy): deprecated method.
1143         use gtk_scrolled_window_set_policy instead.
1144         (vadjustment_value_changed): use clist->vadj.
1145         (adjust_scrollbars): renamed to adjust_adjustments
1146         (adjust_adjustments): former adjust_scrollbars
1147         (gtk_clist_destroy): unref adjustments
1148         (gtk_clist_size_allocate) (gtk_clist_map) (title_focus)
1149         (gtk_clist_unmap) (gtk_clist_size_request) (gtk_clist_focus)
1150         (gtk_clist_size_allocate) (gtk_clist_forall): don't use scrollbars
1151         (gtk_clist_thaw) (real_insert_row) (real_remove_row)
1152         (gtk_clist_set_row_height) (real_resize_column):
1153         call adjust_adjustments
1154         (gtk_clist_moveto): return if clist has no adjustments yet.
1155         (gtk_clist_parent_set): new GtkWidget::parent_set function.
1156         Autogenerate h/vadjustments if needed.  
1157         (move_horizontal) (move_vertical): some cleanups
1158
1159         * gtk/gtkviewport.c (gtk_viewport_set_arg) (gtk_viewport_new):
1160         call only gtk_viewport_set_h/vadjustment and let these functions
1161         do the work.
1162         (gtk_viewport_set_hadjustment) (gtk_viewport_set_vadjustment):
1163         generate a new adjustment if needed
1164
1165         * gtk/gtkscrolledwindow.h ((struct _GtkScrolledWindow):
1166         use a guint bitfield for h/vscrollbar_policy and h/vscrollbar_visible
1167         
1168         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
1169         queue_resize if visibility of scrollbars changes
1170         (gtk_scrolled_window_remove): only call container_remove with
1171         scrolled_window->viewport automatically if viewport was autogenerated
1172         (gtk_scrolled_window_add): add widget as scrolled_window->viewport.
1173         auto create a viewport only if widget does not take h/vadjustments.
1174         (gtk_scrolled_window_construct): don't generate a viewport
1175         automatically.
1176         (gtk_scrolled_window_forall): call callback with viewport in any case
1177         (gtk_scrolled_window_set_arg): call gtk_container_add in case of
1178         ARG_VIEWPORT
1179         (gtk_scrolled_window_size_allocate) (gtk_scrolled_window_size_request)
1180         (gtk_scrolled_window_map) (gtk_scrolled_window_unmap): check
1181         viewport != NULL
1182
1183         * gtk/testgtk.c 
1184         (create_ctree) (export_ctree) (create_clist): use a scrolled_window
1185         in conjunction with clists/ctrees
1186
1187         * gtk/gtkfilesel.c (gtk_file_selection_init): use a scrolled_window
1188         in conjunction with clists
1189
1190         * gtk/gtkfontsel.c (gtk_font_selection_init): use a scrolled_window
1191         in conjunction with clists
1192
1193 Wed Nov  4 21:52:57 1998  Lars Hamann  <lars@gtk.org>
1194
1195         * gtk/gtkctree.c (gtk_ctree_unlink): fix focus_row adjustment
1196         (gtk_ctree_remove_node): select focus_row if needed
1197         (cell_size_request): only get pixmap size if pixmap != NULL
1198
1199 Wed Nov  4 04:30:37 1998  Tim Janik  <timj@gtk.org>
1200
1201         * gtk/gtkwidget.c: added a bunch of checks for widget != NULL and
1202         GTK_IS_WIDGET (widget):
1203
1204 Wed Nov  4 02:02:07 1998  Lars Hamann  <lars@gtk.org>
1205
1206         * gtk/gtkclist.c (real_remove_row) (sync_selection): set correct
1207         focus_row after a remove_row call.
1208
1209 Sun Nov  1 21:00:06 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>
1210
1211         * gtk/gtkoptionmenu.c
1212         * gtk/gtkmenushell.c: make option menus work when some of the
1213         menuitems are hidden - previously, option menu would popup too
1214         high.
1215
1216 1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
1217
1218         * gtk/gtkfeatures.h.in: Remove `#pragma }'.
1219
1220         * gdk/gdki18n.h: Update to use new `glib' widechar defines.
1221
1222         * configure.in (CFLAGS): Don't use test -z "echo .. | grep".  Use
1223         case instead.
1224         (wchar.h, wctype.h, iswalnum): Duplicate widechar tests from `glib'.
1225         (GDK_WLIBS): New variable.  Lists extra libraries needed to use
1226         widechar functions.
1227         * gtk-config.in (--libs): List $GDK_WLIBS, too.
1228
1229 Sat Oct 31 03:11:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1230
1231         * Released GTK+ 1.1.3
1232         
1233         * INSTALL:
1234         * NEWS:
1235         * README:
1236         * gtk+.spec:
1237         * docs/gtk-config.1: updated for v1.1.3
1238
1239         * Makefile.am
1240         * sanity_check
1241         * docs/Makefile.am: Includes new 'make release' as well as
1242           'make sanity'.  Also handles html and text creation from html,
1243           and puts them into the distribution
1244
1245         * docs/Makefile.sgml: removed, similar functionality is now in 
1246           the Makefile.am file
1247
1248         * docs/.cvsignore: ignore html and text directories
1249         * docs/glib.texi: removed (now in glib dist)
1250
1251 Fri Oct 30 20:02:36 1998  Lars Hamann  <lars@gtk.org>
1252
1253         * gtk/gtklist.c (gtk_list_remove_items_internal): 
1254         free undo_un/selection, unselect list_item before disconnect
1255         signal functions
1256         (gtk_list_destroy): removed. gtk_list_shutdown clears the list
1257         already
1258         (gtk_list_signal_item_select) (gtk_list_signal_item_deselect)
1259         (gtk_list_signal_item_toggle)   (gtk_list_signal_scroll_horizontal)
1260         (gtk_list_signal_toggle_focus_row) (gtk_list_signal_select_all)
1261         (gtk_list_signal_unselect_all) (gtk_list_signal_undo_selection)
1262         (gtk_list_signal_start_selection) (gtk_list_signal_end_selection)
1263         (gtk_list_signal_toggle_add_mode) (gtk_list_signal_scroll_vertical)
1264         (gtk_list_signal_extend_selection) (gtk_list_signal_focus_lost):
1265         new functions. These functions are signal connected to inserted
1266         list_items, to handle key bindings and GtkItem::de/select/toggle
1267         signals.
1268
1269         * gtk/gtklistitem.c (gtk_list_item_class_init): added missing
1270         gtk_object_class_add_signals call.
1271         (gtk_list_item_toggle_focus_row) (gtk_list_item_select_all)
1272         (gtk_list_item_unselect_all) (gtk_list_item_undo_selection)
1273         (gtk_list_item_start_selection) (gtk_list_item_end_selection)
1274         (gtk_list_item_extend_selection) (gtk_list_item_scroll_horizontal)
1275         (gtk_list_item_scroll_vertical) (gtk_list_item_toggle_add_mode):
1276         removed. These functions are handled via connected
1277         gtk_list_signal_* functions now
1278
1279 Fri Oct 30 05:24:43 1998  Tim Janik  <timj@gtk.org>
1280
1281         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
1282         even with --include-deps:
1283         $(libgtk_la_SOURCES): $(BUILT_SOURCES)
1284
1285 Fri Oct 30 01:56:08 1998  Tim Janik  <timj@gtk.org>
1286
1287         * gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
1288         gtk_object_data_set_destroy to fit the gtkobject.h API.
1289
1290         * applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
1291         * gtk/gtkfontsel.h:
1292         * gtk/gtkfontsel.c:
1293         Added support for an extra 'base' filter which an application can
1294         set to restrict the fonts available to the user (e.g. a terminal
1295         program only wants the user to be able to select fixed-width fonts).
1296         The type of font (bitmap/scalable/scaled bitmap) is now
1297         also a part of the filter, so that an application can
1298         request that only scalable fonts are shown.
1299         There are new functions to set the base & user filters.
1300         I've also stopped the up/down key press signals getting
1301         to the clists since the font selection widget handles
1302         them itself. It acted a bit strangely before.
1303
1304 Sun Oct 25 20:27:02 1998  Tim Janik  <timj@gtk.org>
1305
1306         * gtk/gtkmain.c (gtk_init): support an environment variable
1307         GTK_MODULES= which takes a colon sperated list of module names
1308         automatically loaded at gtk_init() startup.
1309
1310 Sun Oct 25 08:04:33 1998  Tim Janik  <timj@gtk.org>
1311
1312         * gtk/gtkwidget.c: added more g_return_if_fail() statements.
1313
1314 Thu Oct 22 22:40:35 1998  Lars Hamann  <lars@gtk.org>
1315
1316         * gtk/gtkctree.c (gtk_ctree_destroy): removed. gtk_clist_destroy
1317         is sufficient
1318
1319 Thu Oct 22 16:22:55 1998  Lars Hamann  <lars@gtk.org>
1320
1321         * gtk/gtkclist.c (COLUMN_FROM_XPIXEL): samll fix for invisible
1322         columns
1323
1324 Thu Oct 22 02:29:53 1998  Tim Janik  <timj@gtk.org>
1325
1326         * gtk/gtkfilesel.h: GtkType and macro fixups
1327         * gtk/gtkfilesel.c (gtk_file_selection_complete): set a pattern
1328         for the file selection widget to try a completion on (set the
1329         initial filter).
1330
1331 Wed Oct 14 14:34:04 1998  Tim Janik  <timj@gtk.org>
1332
1333         * gtk/gtkmain.c: implement idle functions via GHook. this gives a
1334         slight speed improvement and lessens code duplication.
1335
1336 Tue Oct 20 14:53:28 1998  Owen Taylor  <otaylor@redhat.com>
1337
1338         * gtk/gtkdnd.c: Always send "drag_leave" to dests
1339         without GTK_DEST_DEFAULT_MOTION. 
1340
1341 Tue Oct 20 11:55:24 1998  Owen Taylor  <otaylor@redhat.com>
1342
1343         * gdk/gdk.c (gdk_event_translate): Handle DestroyNotify
1344         on destroyed windows so we clear the XID table properly.
1345         Finish up restructure of return value handling that
1346         was half-done before.
1347
1348 Tue Oct 20 12:57:10 1998  Owen Taylor  <otaylor@redhat.com>
1349
1350         * gdk/gdk.c (gdk_send_clientmessage_to_all): Hunt
1351         the window tree more comprehensively, so that we find
1352         client windows hidden under non-toplevels.
1353
1354 Tue Oct 20 12:43:04 1998  Owen Taylor  <otaylor@redhat.com>
1355
1356         * gtk/gtkselection.c (gtk_selection_data_set): 
1357         Maintain the null-termintation guarantee, even when 
1358         data = NULL, length = 0. (Warn on data = NULL, 
1359         length > 0)
1360
1361 Mon Oct 19 16:41:44 1998  Owen Taylor  <otaylor@redhat.com>
1362
1363         * gtk/gtkwidget.h (struct _GtkWidgetClass): Add in coordinates
1364         into function prototype for drag_data_received. 
1365
1366 Tue, 20 Oct 1998 11:33:10 +0200 Paolo Molaro <lupus@debian.org>
1367
1368         * gtk/gtkdnd.h,gtk/gtkdnd.c: delete is a reserved word in c++.
1369
1370 Mon Oct 19 23:44:41 1998  Lars Hamann  <lars@gtk.org>
1371
1372         * gtk/gtkclist.c: rearranged some functions
1373         (gtk_clist_set_column_auto_resize): new function. toggle auto_resize
1374         flag of column
1375         (gtk_clist_set_column_resizeable): if resizeable disable auto_resize 
1376         (gtk_clist_set_border): deprecated function, use
1377         gtk_clist_set_shadow_type instead.
1378         (gtk_clist_set_shadow_type): replacement for gtk_clist_set_border
1379         (adjust_scrollbars): some cleanups
1380         (select_row) (unselect_row): removed. replaced by equivalent
1381         gtk_signal_emit calls
1382         (add_style_data): removed, use gtk_clist_style_set instead
1383         (gtk_clist_style_set): fill in size data, after style was set. 
1384         (set_cell_contents) (gtk_clist_set_shift) (gtk_clist_set_row_style)
1385         (gtk_clist_set_cell_style): auto_resize columns if needed
1386         (column_auto_resize): resize column if needed for auto_resize 
1387         (real_clear): disable auto_resize while list destroy
1388         (resize_column): removed
1389
1390         * gtk/gtkctree.c : (gtk_ctree_remove_node)
1391         (gtk_ctree_set_line_style) (gtk_ctree_set_expander_style)
1392         (gtk_ctree_node_set_row_style) (gtk_ctree_node_set_cell_style)
1393         (set_cell_contents) (gtk_ctree_node_set_shift) (gtk_ctree_set_spacing)
1394         (real_tree_move) (gtk_ctree_set_indent) (gtk_ctree_insert_node)
1395         (real_tree_collapse) (real_tree_expand) (column_auto_resize):
1396         auto_resize columns if needed
1397         (gtk_ctree_collapse_recursive) (gtk_ctree_collapse_to_depth)
1398         (real_clear): disable auto_resize while processing the tree
1399
1400         * gtk/testgtk.c (create_clist) (create_ctree): set auto_resize
1401         for one column
1402
1403 Mon Oct 19 08:31:36 1998  Owen Taylor  <otaylor@redhat.com>
1404
1405         * gtk/gtkdnd.c (gtk_drag_selection_received): Fixed
1406         typo - look for right atom on transfer failures.
1407
1408 Sun Oct 18 20:52:22 1998  Owen Taylor  <otaylor@gtk.org>
1409
1410         * gtk/gtkwidget.c gtkmarshal.list: Change signal 
1411         for drag_data_get to match the use that was being
1412         made of it everywhere else...
1413
1414 Sun Oct 18 18:16:39 1998  Owen Taylor  <otaylor@gtk.org>
1415
1416         * gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
1417         mechanism, that is used for the DND messages.
1418
1419           Removed all the old DND code.
1420
1421         * gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
1422         get the visual of a given colormap.
1423         
1424         * gtk/gtkcolorsel.c: Conversion to new DND, drag 
1425         a color-swatch.
1426
1427         * gdk/gdk.h gdk/gdkdnd.c: The low-level
1428         X oriented portions of drag and drop protocols.
1429         Sending and receiving client messages, and navigating
1430         window trees.
1431
1432         * gdk/gdkimage.c: added a gdk_flush() when destroying
1433         SHM images to hopefully make it more likely that
1434         X will gracefully handle the segment being destroyed.
1435
1436         * gdk/gdkprivate.h gtk/gtkdebug.h: Add new 
1437         DND debugging flags.
1438
1439         * gtk/gtkeditable.[ch]: Updates for the selection handling
1440         changes.
1441         
1442         * gtk/gtkselection.[ch]: Added GtkTargetList, a 
1443         refcounted data structure for keeping track of lists
1444         of GdkAtom + information. Removed selection_handler_add
1445         in favor of a "drag_data_get" signal.
1446
1447         * gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
1448         dependent) parts of the DND protocols, display of drag icons,
1449         drag-under highlighting, and the "default handlers".
1450
1451         * gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
1452         windows that are used for reliable pointer grabs and
1453         selection handling in the DND code.
1454
1455         * gtk/testdnd.c: New test program for new DND. (Old
1456         DND tests in testgtk still need to be converted.)
1457
1458         * gtk/testselection.c: Use the new selection API.
1459         
1460         * docs/dnd_internals: Start at describing how
1461         all the new code works inside.
1462
1463         * docs/Changes-1.2.txt: New file describing source-incompatible
1464         changes in GTK+-1.2.
1465
1466 Sat Oct 17 22:50:34 1998  Owen Taylor  <otaylor@gtk.org>
1467
1468         * gdk/gdkwindow.c (gdk_window_remove_filter): Free
1469         the right list node.
1470
1471         * gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
1472         to the XID table so we can receive events on it.
1473
1474 Wed Oct 14 12:57:40 1998  Owen Taylor  <otaylor@redhat.com>
1475
1476         * gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
1477         to get the timestamp from a generic event.
1478
1479 Fri Oct  9 13:16:04 1998  Owen Taylor  <otaylor@redhat.com>
1480
1481         * gtk/gtkwidget.c (gtk_widget_add_events): Added function
1482         that safely adds additional events to a widget's event 
1483         mask, even if the widget has previously been realized.
1484         (We can do this, but not remove events from the event
1485          mask).
1486
1487 Fri Oct  2 17:35:35 1998  Owen Taylor  <otaylor@redhat.com>
1488
1489         * gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
1490         for AnyPropertyType.
1491
1492 Fri Oct  2 10:32:21 1998  Owen Taylor  <otaylor@redhat.com>
1493
1494         * gdk/gdkproperty.c (gdk_atom_intern): Add client-local
1495         hashing.
1496
1497 Thu Sep 24 20:33:54 1998  Owen Taylor  <otaylor@redhat.com>
1498
1499         * gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
1500         isn't a timestamp.
1501
1502 Thu Sep 17 14:23:03 1998  Owen Taylor  <otaylor@redhat.com>
1503
1504         * gdk/gdk.c (gdk_event_translate): Removed printing
1505         of unknown window lookup warnings. (Made it
1506         a GDK_NOTE) - they happen in many circumstances.
1507
1508 Tue Sep  8 12:38:43 1998  Owen Taylor  <otaylor@redhat.com>
1509
1510         * Call XFilterEvent() on events we get for unknown
1511         windows, since it may be the window Xlib uses to
1512         communicate with the IM. 
1513         (From Yung-Ching Hsiao <yhsiao@cae.wisc.edu>)
1514
1515 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
1516
1517         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
1518         the adjustment.
1519
1520 Thu Aug 27 12:03:14 1998  Owen Taylor  <otaylor@redhat.com>
1521
1522         * gtk/gtksignal.c (gtk_signal_newv): Improve warning
1523         message for return_value + GTK_RUN_FIRST.
1524
1525 1998-10-18  Martin Baulig  <martin@home-of-linux.org>
1526
1527         * gtk/gtktext.c (gtk_text_set_line_wrap): new function to toggle
1528         line wrapping like gtk_text_set_word_wrap () toggles word wrapping.
1529
1530 Fri Oct 16 15:59:02 1998  Lars Hamann  <lars@gtk.org>
1531
1532         * gtk/testgtk.c (insert_row_clist) (create_clist): change a few cell
1533         styles of inserted row
1534         (change_style): change style of focus_row
1535
1536         * gtk/gtkclist.c (gtk_clist_get_row_style) (gtk_clist_set_row_style)
1537         (gtk_clist_get_cell_style) (gtk_clist_set_cell_style): new functions
1538         to set/get row/cell styles.
1539         (gtk_clist_realize): attach row and cell style, allocate row colors.
1540         (gtk_clist_unrealize): detach row and cell styles.
1541         (get_cell_style): new function. get correct cell style.
1542         (draw_cell_pixmap): new function. 
1543         (draw_row): draw cells with row or cell styles.
1544         (row_new): set cell and row styles to NULL.
1545         (row_delete): detach & unref cell and row styles.
1546
1547         * gtk/gtkctree.c (ctree_detach_styles) (ctree_attach_styles): 
1548         new functions to attach/detach styles and allocate colors.
1549         (gtk_ctree_realize) (gtk_ctree_unrealize): attach/detach cell and row
1550         styles of invisible nodes.
1551         (draw_cell_pixmap): new function. 
1552         (get_cell_style):  new function. get correct cell style.
1553         (gtk_ctree_draw_expander): new function. draw tree expander.
1554         (gtk_ctree_draw_lines): new function.draw tree lines.
1555         (draw_row): draw cells with row or cell styles.
1556         (row_new): set cell and row styles to NULL.
1557         (row_delete): detach & unref cell and row styles.
1558         (gtk_ctree_node_get_row_style) (gtk_ctree_node_set_row_style) 
1559         (gtk_ctree_node_get_cell_style) (gtk_ctree_node_set_cell_style): 
1560         Analogons of GtkCList functions 
1561         (gtk_ctree_set_spacing): new function. set spacing between
1562         tree expander and cell contents
1563         (gtk_ctree_set_expander_style): new function. set expander style
1564         of ctree.
1565         (ctree_is_hot_spot): few changes due to draw_row modifications.
1566
1567 Wed 14 Oct 1998 10:17:13 +0200 Paolo Molaro <lupus@debian.org>
1568
1569         * gtk/gtkcombo.c: try completion on MOD1-TAB.
1570         Handle case when the combo->list is empty.
1571
1572 Mon Oct 12 07:51:34 1998  Tim Janik  <timj@gtk.org>
1573
1574         * gtk/gtksignal.c (gtk_signal_handlers_destroy): only unref those
1575         handlers that have not yet been disconnected (finally managed to
1576         trigger the gtk_signal_handler_unref() paranoid warning).
1577
1578 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
1579
1580         * gtk/gtkwidget.c (gtk_widget_get_arg): fixed default value for x, y,
1581         width and height which is -1 and not -2.
1582
1583 Sat Oct 10 00:50:53 PDT 1998 Manish Singh <yosh@gimp.org>
1584
1585         * HACKING
1586         * autogen.sh: we need libtool 1.2b now
1587
1588 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
1589
1590         * gtk/gtktable.c (gtk_table_set_child_arg): take the left, right, top
1591         and bottom attach arguments as mandatory and readjust the table size
1592         and opposing edge accordingly if required. this way the order in which
1593         the arguments are set doesn't matter.
1594
1595 Thu Oct  8 15:53:59 1998  Owen Taylor  <otaylor@redhat.com>
1596
1597         * gtk/gtktypeutils.c (gtk_type_class_init): Fixed warning
1598         message to print out parent class name correctly.
1599
1600 Thu Oct  8 07:07:10 1998  Tim Janik  <timj@gtk.org>
1601
1602         * gtk/gtkobject.h: 
1603         * gtk/gtkobject.c:
1604         removed functions gtk_object_set_data_destroy and
1605         gtk_object_set_data_destroy_by_id.
1606         added functions gtk_object_remove_no_notify and
1607         gtk_object_remove_no_notify_by_id which will remove a certain data
1608         portion without invokation of its destroy notifier, this should only
1609         be used in very controled circumstances.
1610
1611 Wed Oct  7 23:59:37 1998  Lars Hamann  <lars@gtk.org>
1612
1613         * gtk/gtkclist.c (gtk_clist_set_column_resizeable): added
1614         size_allocate_title_buttons call
1615         (gtk_clist_realize): changed initial column.window position
1616
1617 Wed Oct  7 20:27:28 1998  Lars Hamann  <lars@gtk.org>
1618
1619         * gtk/gtkctree.h (struct _GtkCTree): removed xor_gc, use clists
1620         xor_gc instead
1621         * gtk/gtkctree.c (create_xor_gc): removed
1622         (gtk_ctree_button_press): set correct line_attributes for
1623         clist->xor_gc on drag start
1624         (gtk_ctree_button_release): reset clist->xor_gc
1625
1626 Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>
1627
1628         * gtk/gtk*.h:
1629         * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
1630         which were in place to fixup emacs' cc-mode indentation.
1631         putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
1632         proper way to achive this and doesn't produce problems for
1633         stupid pragma-related compiler bugs. ;)
1634
1635 Wed Oct  7 00:59:46 1998  Lars Hamann  <lars@gtk.org>
1636
1637         * gtk/gtkclist.h: new signal GtkCList::resize_column.
1638         * gtk/gtkclist.c (draw_row): don't draw invisible columns
1639         (size_allocate_title_buttons) (size_allocate_columns):
1640         skip invisible columns
1641         (new_column_width): take min/max_width into account 
1642         (gtk_clist_button_release) (gtk_clist_motion):
1643         changes due to changed new_column_width function
1644         (LIST_WIDTH): changed define to inline function.
1645         (real_resize_column): class function for resize_column signal
1646         (gtk_clist_motion): fixed autoscrolling for column resizes
1647         (gtk_clist_set_column_visibility): don't hide last visible column,
1648         changed visible arg to gboolean
1649         (gtk_clist_set_column_min_width)(gtk_clist_set_column_max_width):
1650         new functions : set min/max width of a column
1651         (gtk_clist_set_column_resizeable): new function : enable/disable
1652         column resize operations by mouse
1653
1654         * gtk/gtkctree.c (draw_row): don't draw invisible columns
1655         (ctree_is_hot_spot): return FALSE if tree_column is invisible
1656         (draw_xor_line)  (draw_xor_rect): draw full rectangle/line if
1657         tree_column is invisible
1658         (gtk_ctree_find_all_by_row_data)
1659         (gtk_ctree_find_all_by_row_data_custom):  new function from
1660         Ronan Bourlier <ronan@radioss.com>. Returns a GList of all
1661         GtkCTreeNodes with row->data == data.
1662
1663 Tue Oct  6 14:05:00 1998  Tim Janik  <timj@gtk.org>
1664
1665         * gtk/testgtk.c (cb_tree_destroy_event): use g_free to free g_malloced
1666         memory (Martin Pool <mbp@wistful.humbug.org.au>).
1667
1668 Mon Oct  5 15:26:30 1998  Raph Levien  <raph@gimp.org>
1669
1670         * gdk/gdkrgb.c (gdk_rgb_convert_0888_br): Fixed a few long's that
1671         should have been guint32. Thanks to Tristan Colgate for finding it.
1672
1673 Sun Oct  4 22:47:22 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1674
1675         * gtk/gtkcalendar.h:
1676           gtk/gtkcalendar.c: More changes:
1677           - The day with focus is now seperated from the day selected
1678           - The day with focus has the xor's line around it
1679           - The selected day is now standard selected style
1680           - The week names and week numbers are now also drawn
1681             with selected style
1682           - Space now selects the day which has focus
1683
1684 Sun Oct  4 17:55:52 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1685
1686         * gtk/gtkcalendar.h:
1687           gtk/gtkcalendar.c: Some significant changes, including:
1688           - No longer draw focus around entire widget, only around
1689             the day which has focus
1690           - Draw relief around entire widget like originally planned
1691           - Show header and day names by default 
1692           - Move data private to the widget out of GtkCalendar struct
1693             and only point to it with a gpointer
1694           - Remove some old unused variables from GtkCalendar struct
1695
1696 Sun Oct  4 17:45:43 BST 1998  Tony Gale  <gale@gtk.org>
1697
1698         * docs/gtk_tut.sgml: update I've had sat around:
1699           - Grammar patch from James R. Van Zandt <jrv@vanzandt.mv.com>
1700           - Range Widget update from David Huggins-Daines <bn711@freenet.carleton.ca>
1701           - New Toolbar section from Jacek Wojdel <J.C.Wojdel@cs.tudelft.nl>
1702
1703 1998-10-01  Martin Baulig  <martin@home-of-linux.org>
1704
1705         * gtk/gtkclist.h (GtkCListColumn): Added `visible'.
1706         
1707         * gtk/gtkclist.c (gtk_clist_set_column_visibility): New function.
1708         Makes it possible to individually show and hide columns.
1709         (size_allocate_columns): Adapted to keep track of hidden columns.
1710         (size_allocate_title_buttons): Likewise.
1711
1712 Sat Oct  3 17:54:48 1998  Tim Janik  <timj@gtk.org>
1713
1714         * gtk/gtkargcollector.c (GTK_ARG_COLLECT_VALUE): for unknown foreign
1715         fundamental types, collect an argument of the type returned from
1716         gtk_type_get_varargs_type(). removed the first macro argument which
1717         was just the same as the fundamental type of the *arg passed to
1718         the macro.
1719         * gtk/gtkarg.c (gtk_args_collect): 
1720         * gtk/gtksignal.c (gtk_signal_collect_params): changed callers.
1721
1722         * gtk/gtktypeutils.h: 
1723         * gtk/gtktypeutils.c: new functions gtk_type_set_varargs_type() and
1724         gtk_type_get_varargs_type() to set and query the varargs collect
1725         type used for a fundamental type, registered outside of Gtk.
1726
1727         * gtk/gtkmisc.c (gtk_misc_class_init): changed object arguments
1728         GtkMisc::xalign and GtkMisc::yalign from GTK_TYPE_DOUBLE to
1729         GTK_TYPE_FLOAT.
1730
1731         * gtk/gtkframe.c (gtk_frame_class_init): changed object arguments
1732         GtkFrame::label_xalign and GtkFrame::label_yalign from GTK_TYPE_DOUBLE
1733         to GTK_TYPE_FLOAT.
1734
1735 Sat Oct  3 01:25:24 1998  Lars Hamann  <lars@gtk.org>
1736
1737         * gtk/gtkctree.c (gtk_ctree_insert_gnode) (real_tree_collapse)
1738         (gtk_ctree_link) (gtk_ctree_unlink) (real_tree_expand): 
1739         fixes for assignment errors with GTK_CTREE_NODE_NEXT/PREV
1740
1741         (real_tree_expand) (real_tree_collapse):
1742         don't expand/collapse a leaf
1743
1744 Fri Oct  2 16:10:36 1998  Tim Janik  <timj@gtk.org>
1745
1746         * gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't
1747         segfault when looking up a non-existant value name (reported by
1748         Pablo <pcj+gtk@primenet.com>).
1749
1750 Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
1751
1752         * gtk/gtkclist.h (gtk_clist_prepend):
1753         * gtk/gtkclist.c (gtk_clist_prepend): new function.
1754         (gtk_clist_insert): added g_return_val_if_fail()
1755         statements. accept a row parameter < 0 or > clist->rows to indicate
1756         append mode.
1757         (real_clear): first clean up all internal pointers and lists (e.g.
1758         clist->row_list or clist->rows), then delete the distinct rows. this
1759         is required because of destroy notifiers, we need to have all internal
1760         structures updated and be reentrant.
1761
1762         * gtk/gtkcalendar.h: 
1763         * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
1764         GtkCalendarClass signal methods.
1765         GtkType and macro fixups, put `void' into () prototypes, avoid C++
1766         style comments, indentation fixes, fixed some g_return_if_fail()
1767         statements.
1768         (gtk_calendar_paint_header):
1769         (gtk_calendar_paint_day_names): 
1770         (gtk_calendar_paint_week_numbers): 
1771         (gtk_calendar_paint_main): made these static functions.
1772         (gtk_calendar_select_month):
1773         (gtk_calendar_select_day):
1774         (gtk_calendar_mark_day):
1775         (gtk_calendar_unmark_day):
1776         (gtk_calendar_get_date): signedness corrections, use guints
1777         rather than gints.
1778         (gtk_calendar_size_request): removed unused variables.
1779
1780 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
1781
1782         * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
1783         widgets in the ->widgets_by_action list that have a callback
1784         defined (not only those with a callback_action!=0).
1785
1786 Sun Sep 27 22:02:48 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1787
1788         * gtk/gtkcalendar.h:
1789           gtk/gtkcalendar.c:
1790           examples/calendar/gcalendar.c: remove HAVE_FEATURES stuff
1791
1792 Sun Sep 27 02:18:06 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1793
1794         * gtk/gtkcalendar.h:
1795           gtk/gtkcalendar.c:
1796           examples/calendar: Added gtkcalendar widget and demo
1797
1798 Sat Sep 26 06:15:34 1998  Tim Janik  <timj@gtk.org>
1799
1800         * gtk/gtkclist.c (gtk_clist_sort): 
1801         (gtk_clist_clear): 
1802         (gtk_clist_unselect_all): 
1803         (gtk_clist_select_all): adde g_return_if_fail() statements.
1804
1805 Sat Sep 26 04:46:22 1998  Tim Janik  <timj@gtk.org>
1806
1807         * configure.in: set binary age and interface age to 0.
1808
1809         * gtk/gtkspinbutton.h: 
1810         * gtk/gtkspinbutton.c: changed gtk_spin_button_construct to
1811         gtk_spin_button_configure. gtk_spin_button_construct is still defined
1812         as an alias for gtk_spin_button_configure for source compatibility,
1813         but actuall use is deprecated.
1814         typeness corrections, i.e. gint->gboolean and gint->guint.
1815         added object arguments: GtkSpinButton::value, GtkSpinButton::wrap,
1816         GtkSpinButton::shadow_type, GtkSpinButton::update_policy,
1817         GtkSpinButton::numeric, GtkSpinButton::snap_to_ticks,
1818         GtkSpinButton::adjustment, GtkSpinButton::digits and
1819         GtkSpinButton::climb_rate.
1820         GtkType and macro fixups.
1821
1822 Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>
1823
1824         * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
1825         the *real* geometry position of a window, taken possible window
1826         manager offsets into account.
1827         this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
1828         olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
1829         it does fail though for amiwm which adds windows to a pseudo root
1830         window, and for icewm by a small offset because it defines the
1831         geometry position whithin its border.
1832
1833         * gtk/testgtk.c: added "saved position" test to figure how
1834         gdk_window_get_root_origin() interacts with window managers (repopup
1835         this window to figure ;).
1836
1837 Wed Sep 23 06:09:19 1998  Tim Janik  <timj@gtk.org>
1838
1839         * configure.in: update to Gtk+ version 1.1.3, binary age 1,
1840         interface age 1.
1841
1842         * gtk/gtkobject.c
1843         (gtk_object_ref): 
1844         (gtk_object_unref): check for ->ref_count to be greater than 0 (the
1845         existing code was buggy in letting ->ref_count==0 pass through and
1846         then failing the living_objs_ht assertion).
1847
1848         * gtk/gtkclist.c (draw_row): fix chopping bug for right justified
1849         pixtext fields (Roman Pozlevich <roma@botik.ru>).
1850
1851 Mon Sep 21 23:53:18 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1852
1853         * Released GTK+ 1.1.2
1854
1855 Mon Sep 21 01:12:44 1998  Jay Cox  (jaycox@earthlink.net)
1856
1857         * gtk/Makefile.am: use $(PERL) instead of perl
1858         * gtk/gtkcolorsel.c: render properly in non-square aspect ratios.
1859         also much faster to render.
1860
1861 Mon Sep 21 07:44:30 1998  Tim Janik  <timj@gtk.org>
1862
1863         * gtk/gtkobject.c (gtk_object_class_add_signals): reallocate
1864         the required memory block, rather than allocating it newly from
1865         scratch and doing a full-blown block copy on it.
1866
1867 Mon Sep 21 02:30:06 1998  Tim Janik  <timj@gtk.org>
1868
1869         * NEWS file update for upcoming release of Gtk+ version 1.1.2,
1870         binary age 0, interface age 0.
1871
1872         * gtk/gtkmain.c (gtk_init): enforce gtk-modules to always be resident.
1873
1874 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
1875
1876         * ltmain.sh: Patch to libtool-1.2b to make --disable-static
1877         work.
1878
1879 Sun Sep 20 09:52:39 1998  Owen Taylor  <otaylor@gtk.org>
1880
1881         * HACKING: indent other than GNU indent should be OK
1882           now.
1883
1884         * gtk/genmarshal.pl gtk/Makefile.am: Call indent on file
1885           instead of piping through indent. If indent wasn't
1886           found in ./configure don't bother indenting at 
1887           all.
1888
1889 Fri Sep 18 19:11:10 1998  Owen Taylor  <otaylor@redhat.com>
1890
1891         * gdk/gdk.h: Add names to prototype for gdk_image_new_bitmap.
1892
1893 Fri Sep 18 18:54:59 1998  Jay Cox  (jaycox@earthlink.net)
1894
1895         * gtk/Makefile.am: use $(AWK) instead of awk
1896
1897 1998-09-18  Raja R Harinath  <harinath@cs.umn.edu>
1898
1899         * gtk/Makefile.am (gdk_headers): 
1900         Remove references to $(top_srcdir). 
1901         (gtk.defs, gtktypebuiltins{.h,_vars.c,_ids.c,_evals.c}): Simplify.
1902         * gtk/makeenums.pl (parse_entries): Don't look for $srcdir.
1903
1904 Fri Sep 18 19:58:24 1998  Tim Janik  <timj@gtk.org>
1905
1906         * gtk/gtkobject.h (struct _GtkObject): changed gpointer object_data; to
1907         GData*object_data to cure compiler warnings.
1908
1909 Thu Sep 17 19:06:47 PDT 1998 Manish Singh <yosh@gimp.org>
1910
1911         * install-sh
1912         * missing
1913         * mkinstalldirs: updated to latest automake version
1914
1915 1998-09-17  Raja R Harinath  <harinath@cs.umn.edu>
1916
1917         * gtk/Makefile.am (source_headers): Move `gtkfeature.h' ...
1918         (gtkinclude_HEADERS): ... here.
1919         (gtk.defs): Pass `g' flag to sed, to replace all occurances.
1920
1921 Thu Sep 17 10:49:51 1998  Raph Levien  <raph@gimp.org>
1922
1923         * HACKING: added GNU indent, as it is now required to successfully
1924         build gtk+. Should this be detected in autoconf, possibly?
1925
1926 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
1927
1928         * Makefile.am gtk-config.in l*: Update to libtool-1.2b,
1929         change library versioning scheme to drop LT_RELEASE
1930         from the -l line, while keeping it in the soname.
1931
1932 Tue Sep 15 14:10:33 1998  Owen Taylor  <otaylor@redhat.com>
1933
1934         * configure.in Makefile.in: define a MAINT-like variable REBUILD
1935         which is set if Perl and awk are found, and autogenerated sources
1936         can be rebuilt. Remove the auto-generated sources from
1937         CVS. 
1938
1939         Add dependencies so that the autogenerated sources are 
1940         rebuilt if the files they depend on change. 
1941         (This unfortunately currently results in the entire
1942         gtk/ directory being rebuilt when any header changes.
1943         Moving all enums to gtkenums.h would fix this.)
1944
1945 Thu Sep 17 05:12:48 1998  Tim Janik  <timj@gtk.org>
1946
1947         * gtk/gtkobject.h: added gtk_object_set_data_destroy and
1948         gtk_object_set_data_destroy_by_id functions to set the destroy
1949         function pointer for an existing data portion.
1950
1951         * gtk/gtkobject.c: removed the GtkObjectData implementation and
1952         made all gtk_object_*data* functions use the GLib equivalents.
1953
1954 1998-09-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1955
1956         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Test whether type
1957         is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before checking that
1958         (widget != NULL), otherwise radio button insertion will not work
1959         -- the widget argument is NULL for the first radio button in the
1960         group.
1961
1962 Tue Sep 15 13:09:24 1998  Owen Taylor  <otaylor@redhat.com>
1963
1964         * gdk/gdkimage.c (gdk_image_new): Reverted global changes
1965         of g_new to malloc(), added back in the one place where
1966         it actually mattered. #include <stdlib.h>.
1967
1968         * gdk/gdkrgb.c: g_malloc() to malloc() as above.
1969
1970 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
1971
1972         * gtk/gtkfilesel.c: Keep a list of directories in which we never
1973         want to stat the entries (like /afs), and assume everything in
1974         those directories is a subdirectory.
1975
1976         - When following a path, try to open components even when
1977         we don't find them in their parent's directory to
1978         support automounters.
1979
1980 Tue Sep 15 11:06:13 1998  Owen Taylor  <otaylor@redhat.com>
1981
1982         * gtk/gtkwindow.c (gtk_window_move_resize): Don't request
1983         a new size from the WM if we asked for the same size
1984         before and our request was rejected.
1985
1986         * gtk/gtkwindow.c (gtk_window_configure_event): If
1987         in response to a request, we get a configure event
1988         with unchanged dimensions, send a synthetic expose
1989         since ForgetGravity won't expose our window.
1990
1991 Mon Sep 14 14:28:24 1998  Owen Taylor  <otaylor@redhat.com>
1992
1993         * gtk/gtktext.c (adjust_adj): Change the way we
1994         set the adjustments on resize so that it tries to
1995         keep the beginning of the text in approximately
1996         the same place. 
1997
1998         Removed assertion that the above change made invalid.
1999
2000 Thu Sep 10 22:19:35 1998  Owen Taylor  <otaylor@redhat.com>
2001
2002         * gtk/gtktext.c: - Save first_cut_pixels when switching
2003         sizes, so that if we switch to the _same_ size,
2004         we don't move lines around.
2005
2006         - Make sure that the text area always has a size of at
2007         least 1x1, then do all computations when realized.
2008
2009         - When fetching lines in recompute_geometry, make
2010         sure we fetch enough lines to cover the screen.
2011         
2012 Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2013
2014         * gdk/gdkimage.c: changed g_new()s to malloc()s and 
2015           g_free()s to free()s to avoid mixing g_new()s with 
2016           free()s.  X itself uses free() on some of the 
2017           malloced memory.
2018
2019 Sat Sep 12 10:44:06 1998  Owen Taylor  <otaylor@redhat.com>
2020
2021         * gtkfilesel.c: Maintain a list of directories like
2022         /afs we know contain only directories, and avoid
2023         stat'ing files in those directories. (Because
2024         stat'ing all files in /afs is extremely expensive)
2025
2026         To support automounters, try to open directories,
2027         even if we couldn't find them when reading their
2028         parent directory.
2029
2030 Thu Sep  3 10:29:03 1998  Owen Taylor  <otaylor@redhat.com>
2031
2032         * gtk.m4: Conditionalize check for GTK_MAJOR_VERSION,
2033         to allow the same gtk.m4 to work for 1.0.x and
2034         1.1.x.
2035
2036 Fri Sep 11 15:25:10 1998  Lars Hamann  <lars@gtk.org>
2037
2038         * gtk/gtkclist.c (gtk_clist_set_selectable): new function
2039         to set/unset the selectable flag of a single row.
2040         (gtk_clist_get_selectable): new function 
2041         to get the state of the selectable flag
2042
2043         * gtk/gtkctree.c (gtk_ctree_node_set_selectable)
2044         (gtk_ctree_node_get_selectable): clist analogons
2045         
2046 Thu Sep 10 17:04:03 1998  Raph Levien  <raph@gimp.org>
2047
2048         * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test
2049         pattern.
2050
2051         * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment
2052         bugs in the 4bit gray cases.
2053
2054 Wed Sep  9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org>
2055
2056         * configure.in: added -posix check for NeXTStep
2057
2058         * gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
2059         a unique buffer for each thread.
2060
2061         * docs/gtk-config.1: clarified copyright
2062
2063 Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>
2064
2065         * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.
2066
2067         * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.
2068
2069         * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
2070         ATEXIT.
2071         
2072         * ltconfig: use GLib's ltconfig which honours lcc.
2073
2074 Mon Sep  7 20:09:23 PDT 1998 Manish Singh <yosh@gimp.org>
2075
2076         * configure.in: comment the -std1 check and save LIBS properly
2077
2078 Sun Sep  6 12:36:23 PDT 1998 Manish Singh <yosh@gimp.org>
2079
2080         * gtk/testrgb.c: #include <stdlib.h>
2081
2082 Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>
2083
2084         * gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
2085         When the pointer is grabbed on an input window,
2086         either explicitely, or through press-grab, and
2087         then grabbed on a non-input window, ungrab the
2088         devices.
2089
2090 Sat Sep  5 07:13:19 1998  Tim Janik  <timj@gtk.org>
2091
2092         * gtk/gtktypeutils.h: don't include any gdk headers.
2093         added structure definitions for GtkTypeObject and GtkTypeClass,
2094         which cover the very basic fields of GtkObject and GtkObjectClass,
2095         which are actually used by the type system.
2096         
2097         * gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
2098         we only refer to our own structures. improved class inheritance
2099         sanity checking a bit.
2100
2101         * gtk/gtkobject.h: placed appropriate comments at the beginnings
2102         of the GtkObject and GtkObjectClass structures, which explain
2103         their relationship to GtkTypeObject and GtkTypeClass.
2104
2105         * gtk/gtktypeutils.h:
2106         * gtk/gtkobject.h:
2107         moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
2108         GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
2109         gtkobject.h to gtktypeutils.h.
2110
2111         * gtk/gtkobject.h:
2112         * gtk/gtkobject.c:
2113         removed gtk_object_check_cast() and gtk_object_check_class_cast()
2114         functions. to keep source compatibility, we can provide macro aliases
2115         for the corresponding gtk_type_* functions. but then again, people
2116         shouldn't have been using these functions anyways since they were part
2117         of Gtk's internal API.
2118
2119         * gtk/gtktypeutils.h:
2120         * gtk/gtktypeutils.c:
2121         implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
2122         functions to check GtkTypeObject and GtkTypeClass types.
2123
2124 Thu Sep  3 07:16:54 1998  Tim Janik  <timj@gtk.org>
2125
2126         * gtk/gtkctree.h:
2127         * gtk/gtkctree.c: `const' fixups.
2128
2129         * gtk/gtkclist.h:
2130         * gtk/gtkclist.c: `const' fixups and some coding style adaptions.
2131
2132         * gtk/gtkctree.c (gtk_ctree_insert_node): don't dereference *text
2133         if it is passed as NULL.
2134
2135 Wed Sep  2 22:41:40 1998  Raph Levien  <raph@gimp.org>
2136
2137         * gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
2138         big-endian cases. Added a 4bpp packed gray mode (somewhat
2139         incorrectly hardwired to MSB), which should take care of
2140         Stric's hardware.
2141
2142 Thu Sep  3 04:45:57 1998  Tim Janik  <timj@gtk.org>
2143
2144         * gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
2145         GtkSIgnalQuery leak.
2146
2147 Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>
2148
2149         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
2150         GTK_MENU_DIR_CHILD: check for the existance of
2151         menu_shell->active_menu_item before accessing its child.
2152         GTK_MENU_DIR_PREV:
2153         GTK_MENU_DIR_NEXT: if we haven't had an active item and still
2154         don't, make a default selection.
2155
2156 Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>
2157
2158         * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
2159         the children with _forall for sensitivity changes and with
2160         _foreach on pure state changes. this fixes a lot of the
2161         old inclusions of internal widgets into _foreach calls.
2162
2163         * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
2164         do the work. don't walk the subtrees of first level children.
2165
2166         * gtk/gtktreeitem.c: provide a _forall implementation,
2167         which walks the subtrees as well for include_internals.
2168
2169         * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
2170         the submenus as well for include_internals.
2171
2172         * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
2173         implemented gtk_scrolled_window_forall, which will iterate over
2174         the viewport and the scrollbars for gtk_container_forall or
2175         iterate over the viewports children for gtk_container_foreach.
2176
2177         * gtk/gtktoolbar.c: 
2178         * gtk/gtktable.c: 
2179         * gtk/gtkpaned.c:
2180         * gtk/gtkpacker.c:
2181         * gtk/gtkmenushell.c: 
2182         * gtk/gtklist.c: 
2183         * gtk/gtkfixed.c:
2184         * gtk/gtkclist.c:
2185         * gtk/gtkbox.c: 
2186         * gtk/gtkbin.c: 
2187         * gtk/gtknotebook.c:
2188         removed the old gtk_*_foreach functions and provided gtk_*_forall.
2189
2190         * gtk/gtknotebook.c:
2191         (gtk_notebook_real_switch_page): expose tabs.
2192         (gtk_notebook_page_num): new function to return the page number
2193         of a distinct child.
2194         (gtk_notebook_focus): minor fixups. foxus handling is still screwed
2195         under some circumstances.
2196
2197         * gtk/gtktreeitem.c:
2198         (gtk_real_tree_item_select):
2199         (gtk_real_tree_item_deselect): major fixes.
2200         some general fixups wrt queue_redraw, and tree items not being
2201         NO_WINDOW widgets.
2202
2203         * gtk/gtklistitem.c:
2204         (gtk_real_list_item_select): 
2205         (gtk_real_list_item_deselect): 
2206         (gtk_real_list_item_toggle): 
2207         removed unneccessary queue_redraw calls.
2208
2209 Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>
2210
2211         * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
2212         automatically popup the menu on space bar.
2213
2214 Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>
2215
2216         * gtk/gtkcontainer.h:
2217         * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
2218         method), which acts similar to gtk_container_foreach(), but iterates
2219         over internal children. the GtkContainer::foreach signal vanished in
2220         favour of a new class method ->forall() that optionally includes
2221         internal widgets.
2222
2223         * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
2224         but a _forall implementation, since all child widgets we have are
2225         internal ones.
2226         (column_button_create): set the parent window prior
2227         to gtk_widget_set_parent().
2228
2229         * gtk/gtkwidget.c:
2230         exchanged all calls to gtk_container_foreach() with
2231         gtk_container_forall().
2232
2233         * gtk/gtkwidget.h: 
2234         * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
2235         the GtkWidget::composite_child argument. to have a widget created
2236         with the flag initially, two new functions got added to wrap a widgets
2237         creation:
2238         gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
2239
2240 Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>
2241
2242         * gtk/gtktooltips.h:
2243         * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
2244         gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
2245         prior to the first tip being set.
2246         don't put an extra reference on the window, since it is a toplevel,
2247         it wont get destroyed from anywhere else.
2248
2249         * overall macro and GtkType fixups.
2250
2251 1998-09-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2252
2253         * gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
2254         constructs by more forgiving ones.  (Does anyone else feel like
2255         the color selector need rewriting?).
2256
2257 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
2258
2259         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
2260         the adjustment.
2261
2262         * gtk/gtkmenu.c: Modified reference counting so
2263         that the reference count from the toplevel that
2264         the menu creates to the menu is invisible to the
2265         application.
2266
2267 Mon Aug 31 21:36:31 1998  Raph Levien  <raph@gimp.org>
2268
2269         * gdk/gdkrgb.c (gdk_rgb_select_conv): Improved the 24bpp
2270         conversion selection logic, so Suns and other big-endian
2271         machines should get faster conv routines. This is also the
2272         point where 4bpp gray and 1bpp are checked in, although I
2273         wouldn't be surprised if 1bpp is a little buggy. This is
2274         synchronized with the 0.0.7 release of GdkRgb.
2275
2276         * gtk/Makefile.am: 
2277         * gtk/testrgb.c: Checked in testrgb.c to CVS, and made the
2278         appropriate change to the Makefile.am
2279
2280 Mon Aug 31 15:18:19 1998  Raph Levien  <raph@gimp.org>
2281
2282         * gdk/gdkrgb.[ch]: Added a gdk_draw_rgb_image_dithalign function,
2283         which is good for images that scroll (makes the dither patterns
2284         align correctly)
2285
2286 Sat Aug 29 14:50:56 PDT 1998 Manish Singh <yosh@gimp.org>
2287
2288         * gdk/gdkcolor.c:
2289         (gdk_colormap_new) (gdk_colormap_get_system):
2290         quell some warnings with g_hash_table_new
2291
2292         * gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery
2293         when we're done with it
2294
2295         * gtk/itemfactory.c:
2296         (gtk_item_factory_from_path):
2297         (gtk_item_factory_create_item): free some strings
2298
2299         * gtk/gtklabel.c:
2300         (gtk_label_finalize): free label->pattern when done
2301         (gtk_label_parse_uline): null terminate pattern string, delete
2302         some duplicated code
2303
2304         * gtk/testthreads.c: add #include <unistd.h> for sleep()
2305
2306 Tue Aug 25 16:52:47 1998  Owen Taylor  <otaylor@redhat.com>
2307
2308         * gtk/gtktext.c (recompute_geometry): Make sure the
2309         mark we pass to line start is the beginning of a 
2310         real line, not a wrapped one.
2311
2312 Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>
2313
2314         * gtk/gtktext.c: Reference count the fonts used in
2315         the text widget.
2316
2317         * gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
2318         freeing functions to be more consistent, and more 
2319         convenient; leave the old names in for backwards compatibility.
2320
2321         * gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
2322         allocations in pseudo-color colormaps to greatly reduce
2323         calls to XAllocColor. Keep a per-colormap hashtable to
2324         speed up finding if there is an already-allocated matching
2325         color.
2326
2327         * gdk/gdkcolor.c: Don't just match read the system colormap
2328         when the colormap is created, but synchronize our copy
2329         with the system colormap periodically.
2330         
2331         * gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c: 
2332         Change XIM constants names to match GDK conventions
2333
2334         * gtk/testinput.c: Allow the drawing area to get the focus.
2335
2336         * gtk/testgtk.c: Change around the Text test to demonstrates
2337         multiple fonts, use more colors.
2338
2339         * gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
2340         so they work after a widget is unrealized.
2341
2342         * gtk/gtktext.[ch]: Remove the requirement that the text
2343         widget be realized before adding text (!) Allocate colors
2344         ourself, instead of requiring the caller allocate them.
2345         Allow changing styles to work properly by keeping track
2346         of the values for a certain property are default or
2347         set explicitely.
2348
2349         * gtk/gtkmenu.h: Added some comments.
2350
2351         * gtk/gtkentry.c: Changes to match XIM constants.
2352
2353         * gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
2354         for adding keyed data to drawables. (Uses g_dataset
2355         internally)
2356
2357         * gdk/gdkpixmap.c: Keep track of the colors we allocate,
2358         when creating an XPM - store them as user data for the GdkPixmap,
2359         so we don't leak colors when we create pixmaps from XPM's.
2360
2361         Allocate memory for color information in large blocks instead of 
2362         as many little pieces.
2363         
2364 Mon Aug 24 11:09:32 PDT 1998 Manish Singh <yosh@gimp.org>
2365
2366         * gdk/gdkrgb.c: removed some unused variables
2367
2368         * gtk/gtkclist.c
2369         * gtk/gtkmain.c: #if 0'd out some unused code
2370
2371         * gtk/gtkobject.c: check for NULL object hash table in gtk_object_debug
2372
2373 Mon Aug 24 02:36:53 1998  Tim Janik  <timj@gtk.org>
2374
2375         * gtk/gtkarg.h:
2376         * gtk/gtkarg.c:
2377         * gtk/gtkwidget.h: 
2378         * gtk/gtkwidget.c: 
2379         * gtk/gtkobject.h:
2380         * gtk/gtkobject.c:
2381         * gtk/gtkcontainer.h: 
2382         * gtk/gtkcontainer.c: 
2383         (gtk_object_new):
2384         (gtk_object_set):
2385         (gtk_widget_new):
2386         (gtk_widget_set): 
2387         (gtk_container_add_with_args):
2388         (gtk_container_child_set):
2389         begin the parameter elipsis (...) after the first argument name. this
2390         change is source compatible, since it was always required, even as NULL.
2391         (gtk_args_collect): 
2392         (gtk_object_args_collect): 
2393         (gtk_container_child_args_collect):
2394         changed prototypes to pass first_arg_name, also, pass va_list variable
2395         by value (portability concerns). callers changed.
2396
2397         * gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
2398         a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
2399         can't pass va_list variables by reference for portability reasons.
2400
2401 Fri Aug 21 22:40:00  Raph Levien  <raph@gtk.org>
2402
2403         * gdk/gdkrgb.c: added calls to gdk_rgb_init in the get_cmap and
2404         get_visual calls, so that it gets implicitly initialized.
2405
2406 Fri Aug 21 13:06:04 1998  Stuart Parmenter  <pavlov@gimp.org>
2407         * gtk/gtkfeatures.h.in:  added GTK_HAVE_FEATURES_1_1_2 for changes
2408         such as GtkCTree function name changes
2409         
2410 Fri Aug 21 02:31:26 1998  Tim Janik  <timj@gtk.org>
2411
2412         * gtk/gtkmain.h:
2413         * gtk/gtkmain.c (gtk_check_version): added a function to perform a
2414         binary version check, returning a static string for error descriptions,
2415         or NULL on success.
2416
2417 Thu Aug 20 20:08:15 1998  Owen Taylor  <otaylor@redhat.com>
2418
2419         * gtk/gtktext.c ([un]draw_cursor): Check to see if we've
2420         computed our geometry yet, and if not, ignore the request.
2421
2422         * gtk/gtktext.c (correct_cache_insert): Fiddled around
2423         some more. All the bug-test codes seem to work at once
2424         now. (fingers crossed...)
2425
2426 Thu Aug 20 13:04:08 PDT 1998 Manish Singh <yosh@gimp.org>
2427
2428         * gdk/gdkrgb.c: silly visual fixes
2429
2430         * gtk/testgtk.c: call gdk_rgb_init so color preview test actually
2431         works
2432
2433 1998-08-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2434
2435         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
2436         anything if the event's window is not the bin window.
2437         (gtk_handle_box_motion): Likewise.
2438
2439 1998-08-19  Raph Levien  <raph@gimp.org>
2440
2441         * gtk/testgtk.c (create_color_preview): pushed the colormap and
2442         visual so it would work better with GdkRgb.
2443
2444 1998-08-19  Raph Levien  <raph@gimp.org>
2445
2446         * gdk/gdkrgb.c: fixed some bugs in the 565_d mode, and added a
2447         4bpp static_color mode (for vga displays). Also fixed a '64' value
2448         in the dither matrix, which was causing one pixel out of 16k to be
2449         dithered wrong.
2450
2451         * gtk/gtkpreview.{c,h}: Changed it to work with GdkRgb, gutting
2452         most of the contents. This is an API change - any apps that relied
2453         on the internal structure of GtkPreview will need some change -
2454         most notably in the use of reserved colors. The Gimp needed
2455         changes in this regard.
2456
2457 Wed Aug 19 00:11:14 1998  Tim Janik  <timj@gtk.org>
2458
2459         * gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
2460         G_ENABLE_DEBUG being defined (specifically --gtk-module= and
2461         --g-fatal-warnings), noticed by miguel.
2462
2463 Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>
2464
2465         * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
2466         getcwd().
2467
2468         * gdk/gdkprivate.h:
2469         * gdk/gdkglobals.c:
2470         * gdk/gdkwindow.c:
2471         * gdk/gdk.c:
2472         * gtk/gtkwindow.c: 
2473         * gtk/gtkitemfactory.c: 
2474         dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.
2475
2476         * gtk/gtkselection.c:
2477         * gtk/gtkpreview.c:
2478         * gtk/gtkobject.c: 
2479         * gtk/gtkmain.c: 
2480         * gtk/gtktypeutils.c: indentation fixes due to g_message() use.
2481
2482         * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
2483
2484 Tue Aug 18 17:22:22 1998  Lars Hamann  <lars@gtk.org>
2485
2486         * gtk/gtknotebook.c (gtk_notebook_switch_focus_tab): 
2487         * gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
2488         in case of show_tabs == NULL
2489
2490 Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>
2491
2492         * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
2493         to --g-fatal-warnings again. this option now causes log levels of
2494         WARNING and CRITICAL to abort().
2495
2496         * gdk/gdk.c: 
2497         * gdk/gdkdnd.c: 
2498         * gdk/gdkcc.c: 
2499         * gdk/gdkfont.c: 
2500         * gdk/gdkwindow.c:
2501         * gdk/gdkvisual.c:
2502         * gtk/gtkwidget.c:
2503         * gtk/gtktypeutils.c:
2504         * gtk/gtktree.c:
2505         * gtk/gtkfontsel.c:
2506         * gtk/gtkmain.c:
2507         * gtk/gtkobject.c:
2508         * gtk/gtkpreview.c:
2509         * gtk/gtkselection.c:
2510         * gtk/gtktext.c:
2511         * gtk/gtktree.c:
2512         * gtk/gtktreeitem.c:
2513         did a global search&replace to substitute g_print() calls with
2514         g_message(). libraries shouldn't use printf(), g_print() or
2515         g_printerr() at all.
2516         a bunch of the replacements should probably be wrapped into the
2517         G{D|T}K_NOTE() macros, so they are special cased for debugging
2518         purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
2519         things.
2520
2521         * gdk/gdkdnd.c: added copyright notice.
2522
2523 Mon Aug 17 17:28:00  Raph Levien  <raph@gtk.org>
2524
2525         * gdk/gdkrgb.c: Further speedups of the 565_d case. It's
2526         impressively fast now - about 4.65 Mpix/s on an IBM TP 600
2527         running a PII 233. It's synced with the 0.0.5 release of
2528         GdkRgb.
2529
2530 Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>
2531
2532         * gtk/gtkclist.h:
2533         (struct _GtkCListClass): new class methods:
2534         (sort_list) (insert_row) (remove_row) (set_cell_contents)
2535
2536         * gtk/gtkclist.c :
2537         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
2538         removed and replaced by (set_cell_contents)
2539         (set_cell_contents): function for class method set_cell_contents
2540         (real_insert_row): function for class method insert_row
2541         (real_remoce_row): function for class method remove_row
2542         (real_sort_list): function for class method sort_list
2543         (default_compare): fix to avoid problems with cell types != CELL_TEXT
2544
2545         * gtk/gtkctree.h :
2546         (gtk_ctree_export_to_gnode): new function to export a ctree as gnode 
2547         (gtk_ctree_node_is_visible): new function to return visibility state
2548         of a node
2549         (gtk_ctree_show_stub): new function to set visibility of root stub
2550
2551         renamed functions :
2552         (gtk_ctree_insert) -> (gtk_ctree_insert_node)
2553         (gtk_ctree_remove) -> (gtk_ctree_remove_node)
2554         (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
2555         (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
2556         (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
2557         (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
2558         (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
2559         (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
2560         (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
2561         (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
2562         (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
2563         (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
2564         (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
2565         (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
2566         (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
2567         (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
2568         (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
2569         (gtk_ctree_sort) -> (gtk_ctree_sort_node)
2570         (gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
2571
2572         * gtk/gtkctree.c :
2573         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
2574         removed and replaced by (set_cell_contents)
2575         (set_cell_contents): function for class method set_cell_contents
2576         (real_insert_row): function for class method insert_row
2577         (real_remoce_row): function for class method remove_row
2578         (real_sort_list): function for class method sort_list
2579         (default_compare): removed. CTree now also compares two GtkCTreeRows
2580         instead of two GtkCTreeNodes.
2581         (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
2582         unlinking the node
2583         (real_tree_expand) (real_tree_collapse): fix for refcounting of
2584         node pixmaps
2585         (set_node_info): call gtk_ctree_node_set_pixtext instead of
2586         manipulating the row itself
2587         
2588         * gtk/testgtk.c: use renamed functions of GtkCTree.
2589         new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
2590         at work.
2591
2592 Mon Aug 17 15:31:38 1998  Tim Janik  <timj@gtk.org>
2593
2594         * gtk/gtkmain.c: removed gtk_input_add_interp.
2595
2596         * gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
2597         keyword.
2598         (gtk_editable_get_event_time): fix default: case.
2599
2600         * gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.
2601
2602         * gdk/gdkpixmap.c: made a bunch of unexported functions static.
2603
2604         * gdk/gdkcolor.c:
2605         * gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
2606         of our functions.
2607
2608         * various minor compilation cleanups, such as bogus commas in
2609         enums and similar things.
2610
2611 Mon Aug 17 07:47:43 1998  Tim Janik  <timj@gtk.org>
2612
2613         * gtk/gtkmain.c (gtk_init): NULL terminate the arg list to g_strconcat()
2614         (thanx raph).
2615
2616 Sun Aug 16 23:14:20 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2617
2618         * NEWS: updated for 1.1.2
2619         * gtk+.spec: version = 1.1.2
2620
2621 Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
2622
2623         * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
2624         times. changed --gtk-with-module to --gtk-module at owen's request.
2625
2626 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
2627
2628         * gtk/gtkmain.c (gtk_init): feature a new commandline option
2629         --gtk-with-module=<module> that allows additional loading and
2630         initialization of modules (e.g. GLE).
2631
2632 Mon Aug 17 01:40:00 1998  Tim Janik  <timj@gtk.org>
2633
2634         * configure.in: version bump to 1.1.2, binary age 0, interface age 0.
2635         pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.
2636
2637         * gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
2638         with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
2639         "--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
2640         different *-fatal-* arguments now. this needs to be revised and
2641         compressed to a reasonable amount of arguments.
2642
2643 Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>
2644
2645         * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
2646         "--g-fatal-warnings" causes fatal warnings in GLib,
2647         "--gdk-fatal-warnings" causes fatal warnings in Gdk,
2648         "--gtk-fatal-warnings" causes fatal warnings in Gtk.
2649
2650         * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
2651         * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.
2652
2653         * gtk/testgtk.c: 
2654         * gdk/gxid.c:
2655         we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
2656         since automake doesn't support per target _CFLAGS yet.
2657
2658         * configure.in: require GLib 1.1.3.
2659
2660 Sat Aug 15 03:19:30 1998  John Ellis  <johne@bellatlantic.net>
2661
2662         * gtk/gtkctree.[ch] (gtk_ctree_set_drag_compare_func): New function
2663         to set a callback to test if a node in drag can be dropped onto
2664         it's currrent location.
2665         * gtk/gtkctree.c (set_mouse_cursor),(check_cursor): New functions
2666         to change the pointer when a drag destination is not allowed.
2667
2668 Thu Aug 13 21:06:00 1998  Raph Levien  <raph@gtk.org>
2669
2670         * gdk/gdkrgb.c: committing a patch by Ray Lehtiniemi that
2671         speeds up the 565_d case by about 25% total. Thanks Ray!
2672
2673 Thu Aug 13 16:47:44 1998  Owen Taylor  <otaylor@redhat.com>
2674
2675         * Changed GtkSignalFunc back to () from (void). (again!)
2676
2677         * Added file README.cvs-commits
2678         
2679 Thu Aug 13 09:11:11 BST 1998  Tony Gale  <gale@gtk.org>
2680
2681         * docs/gtk_tut.sgml:
2682           - Tidy up of the menufactory example from
2683             Andy Kahn <kahn@zk3.dec.com>
2684           - New section on Range Widgets from
2685             David Huggins-Daines <bn711@freenet.carleton.ca>
2686           - Started a new section on 'Advanced Event and Signal
2687             Handling' - used an email from Owen.
2688           - New appendix on Gdk Event Types
2689           - Added the tictactoe full example code to the
2690             'Code Examples' appendix
2691
2692 Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>
2693
2694         * gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() - 
2695           to calculate all the metrics at once of a string, including
2696           things which weren't calculated before.
2697
2698         * gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
2699           MenuItem type, that when put as the first thing in a
2700           menu, makes the menu tearoff. Currently drawn as a
2701           dashed line.
2702
2703         * gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
2704           "hide_on_activate" to the MenuItem class structure to allow
2705           check and radio buttons to be changed with <Space> without
2706           hiding the menu.
2707
2708         * gtk/gtkitemfactory.c: 
2709           - Create a AccelGroup for each MenuShell we create.
2710           - If an '_' appears before a  character 'c' in the path,
2711             then make 'c' an accelerator in the menu's accel group,
2712             and if the menuitem is menubar <alt>C an accelerator 
2713             in the itemfactory's accel group. Double '__' inserts
2714             a literal '_'
2715
2716         * gtk/gtklabel.[ch]: Add support for a pattern arg - 
2717           which is a string. If an '_' appears in this string,
2718           the corresponding position in the label is underlined.
2719
2720           Add gtk_label_parse_uline() convenience function which
2721           takes a string with embedded underlines, sets the
2722           pattern and label, and returns the accelerator keyval.
2723
2724         * gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
2725           Instead, they create a GtkWindow and add themselves
2726           to that. (When torn off, another new feature, they
2727           create another GtkWindow to hold the torn off menu)
2728
2729           New function gtk_menu_set_tearoff_state()
2730         
2731         * gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h: 
2732           Added action signals  for keyboard navigation of menus.
2733
2734         * gtk/gtkmenushell.c: Key press handler which activates
2735           bindings for navigation, and accelerators, for handling
2736           underline accelerators. Exported functions to select 
2737           and activate menu items in a menushell.
2738
2739         * gtk/testgtk.c: Added a new "Item Factory" test which
2740           tests GtkItemFactory and the new keyboard navigation
2741           of menus.
2742
2743 Tue Aug 11 20:52:58 1998  Tim Janik  <timj@gtk.org>
2744
2745         * gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
2746         external functions have been called. also relookup nodes after
2747         this function has been invoked.
2748
2749 Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>
2750
2751         * gtk/gtktext.[ch]: Removed has_cursor, set the cursor
2752           beginning of Text when creating the Text widget.
2753
2754         * gtk/testgtk.c: Grab the focus on the text widget so
2755           as to test out the above.
2756
2757 Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>
2758
2759         * gtk/gtkeditable.c: Reverted part of timj's change of Jul 16. 
2760           ::changed is a notification signal and should have no default
2761           handler. A complete redraw of the Text widget does _not_ need to
2762           be done on every text insertion.
2763
2764 Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
2765         (gtk-abilleira-072198-patch)
2766
2767         * gtk/gtkwindow.[ch]: 
2768           Add gtk_window_set_modal() which sets a flag; when
2769           set the window does a gtk_grab_add() when the window
2770           is shown, and a gtk_grab_remove() when the window
2771           is hidden. 
2772
2773         * gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
2774           that case will run "Create Dir","Delete File" and "Rename File" 
2775           dialogs as modal too.
2776
2777         * gtk/testgtk.c: Added a button with an example of creating modal 
2778           dialog boxes. Including file selection and color selection standard
2779           dialogs.
2780         
2781 Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>
2782
2783         * gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
2784           Removed CAN_FOCUS by default from scrollbars, button
2785           children of toolbar. (But not GTK_TOOLBAR_CHILD_WIDGET children)
2786           (Scrollbar definitely good change, toolbar bit more questionable)
2787
2788 Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>
2789
2790         * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
2791         Pettersen).
2792
2793 Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
2794
2795         * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
2796           added all logical operations to gc->function.
2797
2798 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
2799
2800         * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
2801         gtk_widget_size_allocate instead of gtk_widget_queue_resize
2802         if the visibility state of a scrollbar changes.
2803
2804 Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>
2805
2806         * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
2807
2808 Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>
2809
2810         * gtk/gtkclist.c: Renamed my_merge and my_mergesort to
2811         gtk_clist_merge and gtk_clist_mergesort. :)
2812
2813 1998-08-06  Martin Baulig  <martin@home-of-linux.org>
2814
2815         * gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
2816         `mergesort' -> `my_mergesort'.
2817
2818 Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>
2819
2820         * gtk/gtkenums.h: new enum GtkSortType.
2821         
2822         * gtk/gtkclist.h:
2823         * gtk/gtkclist.c:
2824         Added sorting capabilities to GtkCList. New APIs :
2825         gtk_clist_set_compare_func, gtk_clist_set_sort_column,
2826         gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort. 
2827         New internal functions : default_compare, merge, mergesort.
2828
2829         (gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
2830         
2831         (gtk_clist_insert): Modified to handle gtk_clist_append and the
2832         auto sort flag. Changed the return value from void to gint to
2833         return the row number where the element was actually inserted.
2834
2835         (gtk_clist_swap_rows): Return immediately if auto sort flag is set.
2836         
2837         * gtk/gtkctree.h:
2838         * gtk/gtkctree.c:
2839         Removed the auto_sort flag, replaced ctree->node_compare with
2840         clist->compare all over the place, modified default_compare to
2841         match clist's needs. Removed API´s : gtk_ctree_set_auto_sort,
2842         gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
2843
2844         * gtk/testgtk.c: Modified clist/ctree samples to demonstrate
2845         sorting. The lists can be sorted by a column by clicking the 
2846         corresponding title button.
2847         
2848 Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
2849
2850         * Released GTK+ 1.1.1
2851
2852 Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>
2853
2854         * gtk/gtkctree.h:
2855         * gtk/gtkctree.c:
2856         (gtk_ctree_find): changed to return a gboolean
2857         (gtk_ctree_insert_gnode): new function for recursive insertion of a
2858         GNode tree.
2859         (gtk_ctree_real_select_recursive): fix for extended selection
2860         (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
2861         (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
2862
2863 Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>
2864
2865         * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
2866         GLib version 1.1.1 is now required at minimum.
2867
2868         * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
2869         of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
2870
2871 Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>
2872  
2873         * gtk/gtktext.c (gtk_text_forward_delete): Undraw the
2874           cursor before (possibly) deleting the cursor's text
2875           property.
2876  
2877         * gtk/gtktext.c (correct_cache_delete): More attempts
2878           to clean the line-start cache up after inserting
2879           a property. Among other things, make sure to
2880           fix up text->current_line, since it is used to 
2881           refetch the changed lines.
2882  
2883 Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>
2884
2885         * gtk/gtktable.[ch]: Empty rows/columns of the table
2886         should not have been marked as being able to shrink.
2887         (Fixes problem with shrinking scrollbarless GIMP canvases)
2888
2889 1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2890
2891         * gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
2892         function to find a row by its data pointer using a custom
2893         comparison function.
2894
2895 Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>
2896
2897         * gtk/gtkclist.c: draw the buttons during a "draw" as well,
2898           this fixes a bug when the whole widget is made non-sesitive
2899           the buttons weren't redrawn
2900
2901 Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>
2902
2903         * gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
2904         * gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
2905         * gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
2906
2907 Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>
2908
2909         * gdk/gdkwindow.c (gdk_window_reparent): Change 
2910           window_private->parent pointer when reparenting.
2911
2912 Sat Aug  1 22:17:00 1998  Raph Levien  <raph@acm.org>
2913
2914         * gdk/gdkrgb.c: made some minor config changes to unify GdkRgb
2915         with the standalone release.
2916
2917 Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
2918
2919         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
2920         (gtk_clist_button_release) (new_column_width): Few fixes for
2921         column resize. Store resize column in clist->drag_pos.
2922
2923 Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
2924
2925         * gtk/gtkctree.h 
2926         * gtk/gtkctree.c 
2927         * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
2928         to GtkCTreeNode *node.
2929
2930         * gtk/gtklist.h : added extended selection mode and auto scrolling.
2931         (struct _GtkList): removed unneeded variables timer, button,
2932         selection_start_pos, selection_end_pos, scroll_direction, have_grab.
2933         Added new variables undo_selection, undo_unselection, last_focus_child,
2934         undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
2935         drag_selection, add_mode.
2936  
2937         New functions :
2938         (gtk_list_extend_selection), (gtk_list_start_selection),
2939         (gtk_list_end_selection), (gtk_list_select_all),
2940         (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
2941         (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
2942         (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
2943         (gtk_list_undo_selection), (gtk_list_end_drag_selection)
2944         
2945         * gtk/gtklist.c : 
2946         (gtk_list_enter_notify): removed, because auto scrolling now works
2947         with gtk_list_motion_notify
2948  
2949         New functions, needed for auto scrolling :
2950         (gtk_list_motion_notify) (gtk_list_move_focus_child)
2951  
2952         New functions for extended selection support :
2953         (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
2954         (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
2955         (gtk_list_focus_lost)
2956         
2957         (gtk_list_set_focus_child): modified gtk_container_set_focus_child
2958         function to support auto scrolling, and avoid out-of-sync errors in
2959         case auf GTK_SELECTION_BROWSE
2960         (gtk_list_focus): modified gtk_container_focus function to avoid out
2961         off sync errors in case auf GTK_SELECTION_EXTENDED
2962
2963         * gtk/gtklistitem.h 
2964         * gtk/gtklistitem.c :
2965         New signal functions for key binding support :
2966         (toggle_focus_row), (select_all), (list_item), (unselect_all)
2967         (list_item), (undo_selection), (start_selection), (end_selection)
2968         (extend_selection), (scroll_horizontal), (scroll_vertical),
2969         (toggle_add_mode)
2970         (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
2971         GDK_KEY_RELEASE_MASK
2972         (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
2973  
2974         * gtk/gtkcombo.c :
2975         (gtk_combo_popup_button_press):  grab pointer for combo->list
2976         (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
2977         (gtk_combo_list_key_press): take care of which child HAS_GRAB
2978         (gtk_comb_init): don't connect combo->button with button_release_event
2979
2980 Thu Jul 30 12:39:36 1998  Lars Hamann  <lars@gtk.org>
2981
2982         * gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
2983
2984 Wed Jul 29 23:31:50 1998  Lars Hamann  <lars@gtk.org>
2985
2986         * gtk/gtkclist.c (gtk_clist_motion): column resize now works with
2987         horizontal autoscrolling, GtkCTree's 'reorder ability' now works
2988         with horizontal and vertical autoscrolling.
2989
2990 Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2991
2992         * gtk/docs/man: new directory
2993         * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
2994
2995 Tue Jul 28 00:03:20 1998  Lars Hamann  <lars@gtk.org>
2996
2997         * gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
2998         bug
2999
3000 Mon Jul 27 09:18:13 BST 1998  Tony Gale  <gale@gtk.org>
3001
3002         * docs/gtk_tut.sgml: GtkTree section from
3003           David Huggins-Daines <bn711@freenet.carleton.ca>,
3004           add a GtkText widget example
3005         * examples/text/* example/tree/* : new examples for the
3006           GtkTree and GtkText widgets
3007         * docs/gtk_tut.sgml: added an appendix to hold complete code
3008           examples that aren't in a full form elsewhere in the
3009           tutorial (e.g. scribble)
3010
3011 Mon Jul 27 00:46:21 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3012
3013         * Released GTK+ 1.1.0
3014
3015 Mon Jul 27 04:18:26 1998  Tim Janik  <timj@gtk.org>
3016
3017         * gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
3018         the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
3019
3020 Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
3021
3022         * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
3023         values are looked up.
3024
3025         * gtk/gtktypeutils.h:
3026         * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
3027         gtk_type_enums_find_value to lookup enum values.
3028
3029         * gtk/gtkctree.h: 
3030         * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
3031         GtkCTreeExpansionType. fixed signal creations to pass the enum
3032         types not just the base type GTK_TYPE_ENUM.
3033
3034         * gtk/gtkclist.h: 
3035         * gtk/gtkclist.c: fixed signal creations to pass the real enum
3036         types not just the base type GTK_TYPE_ENUM.
3037
3038 Sun Jul 26 14:50:07 1998  Stefan Jeske  <stefan@gtk.org>
3039
3040         * gtk/testgtk.c : 
3041         Began cleanup, e.g. use gtk_widget_show_all instead of many 
3042         gtk_widget_show's. Completely rewrote the button box sample
3043         (only one window now). Removed "miscellaneous" button.
3044
3045 Sun Jul 26 14:48:14 1998  Stefan Jeske  <stefan@gtk.org>
3046
3047         * gtk/gtkvbbox.c (gtk_vbutton_box_size_allocate): 
3048         Fixed wrong allocation for GTK_BUTTONBOX_END.
3049         (allocation->x  =>  allocation->y)
3050
3051 Sun Jul 26 14:06:37 1998  Lars Hamann  <lars@gtk.org>
3052
3053         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release)
3054         (abort_column_resize) (gtk_clist_key_press): fix for pointer grab
3055         
3056         * gtk/gtkctree.c (real_tree_select): added check to avoid double
3057         selected rows
3058         (gtk_ctree_button_press)
3059         (gtk_ctree_button_release): fix for pointer grab
3060
3061 Sat Jul 25 13:16:00 1998 Damon Chaplin  <DAChaplin@msn.com>
3062
3063         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): 
3064         Fixed initialization problem - dirty memory could cause problems.
3065         Also checked that bitmapped fonts can be scaled when showing the
3066         available sizes.
3067
3068 Sat Jul 25 02:25:03 1998  Lars Hamann  <lars@gtk.org>
3069
3070         * gtk/gtkctree.c (gtk_ctree_sort_recursive)
3071         (gtk_ctree_sort_recursive): test for node != NULL
3072         (gtk_ctree_is_visible) (gtk_ctree_realize) (gtk_ctree_unrealize)
3073         (gtk_ctree_last) : added sanity checks
3074         * gtk/gtkclist.c (gtk_clist_button_press): removed "no_focus_row"
3075
3076 Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
3077
3078         * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
3079
3080 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
3081
3082         * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
3083
3084 Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>
3085
3086         * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
3087         to check out binding priorities. someone should really write
3088         gtkrc-mode for emacs.
3089
3090         * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
3091         * gtk/testgtk.c (main): and move it here ;). this test says something
3092         on release of C-9. (this works only if the mouse pointer is on a
3093         spinbutton and there is no focus widget).
3094
3095         * gtk/gtkrc.h:
3096         * gtk/gtkrc.c:
3097         export gtk_rc_parse_color, gtk_rc_parse_state and a new function
3098         gtk_rc_parse_priority to parse path priority types.
3099         export rc tokens.
3100         feature binding parsing.
3101
3102 Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>
3103
3104         * gtk/gtkbindings.h: 
3105         * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
3106         feature binding parsing in rc files.
3107         * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
3108         * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
3109         order the bindings with lowest priority first.
3110
3111 Wed Jul 22 15:21:08 PDT 1998 Manish Singh <yosh@gimp.org>
3112
3113         * gdk/gdkrgb.c: actually builds and runs properly on big
3114         endian machines now, because we #include config.h. Also
3115         fixed up a compile error in the WORDS_BIGENDIAN case in
3116         gdk_rgb_convert_565_gray. I made the fix by looking at
3117         patterns in the other code; Raph can you verify this?
3118
3119         * gdk/gdkthreads.c: #include <unistd.h> to quell compiler
3120         warnings
3121
3122 Wed Jul 22 23:00:44 1998  Lars Hamann  <lars@gtk.org>
3123
3124         * gtk/gtkctree.c (tree_select/unselect) (tree_expand/collapse) 
3125         (tree_toggle_expansion) (real_select/unselect_row)
3126         (gtk_ctree_select/unselect) : few fixes for gtk_signal_emits
3127
3128 Wed Jul 15 17:44:47 1998  Owen Taylor  <otaylor@redhat.com>
3129
3130         * gtk/gtktext.c (new_text_property): We free things from
3131         the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
3132
3133         * Fix up line start cache when splitting a property
3134         during an insert.
3135
3136 Wed Jul 15 21:15:52 1998  Owen Taylor  <otaylor@redhat.com>
3137
3138         * gtk/gtkwidget.c: restauration => restoration
3139
3140 Thu Jul 16 20:11:36 1998  Owen Taylor  <otaylor@redhat.com>
3141
3142         * gdk/gdkxid.c (gdk_xid_table_lookup): If xid_ht
3143         hasn't been created yet, don't do the lookup.
3144
3145 1998-07-20  Raph Levien  <raph@acm.org>
3146
3147         * gdk/gdkrgb.c: More cleanups in the config process.
3148
3149 1998-07-20  Raph Levien  <raph@acm.org>
3150
3151         * gdkrgb.c: Fixed minor config bug preventing big-endian
3152         architectures from working.
3153
3154 Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>
3155
3156         * gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
3157         activity indicator. It is settable now as a fraction of the
3158         total width/height using gtk_progress_bar_set_activity_blocks.
3159         Renamed gtk_progress_bar_set_number_of_blocks to
3160         gtk_progress_bar_set_discrete_blocks.
3161
3162 Mon Jul 20 21:28:18 1998  Lars Hamann  <lars@gtk.org>
3163
3164         * gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
3165         (gtk_ctree_pre_recursive_to_depth): new functions, recursive process
3166         tree to specified depth
3167         (gtk_ctree_expand_to_depth): expand tree to specified depth
3168         (gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
3169
3170 Sun Jul 19 23:51:05 1998  Lars Hamann  <lars@gtk.org>
3171
3172         * gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
3173         of GTK_CLIST_ADD_MOD
3174         * gtk/testgtk.c (add1000_clist): changed pixmap
3175
3176 Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>
3177
3178         * gtk/gtkmain.h: 
3179         * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
3180
3181         * gtk/gtktypeutils.h:
3182         * gtk/gtkitemfactory.h: remove "void" from prototypes again.
3183
3184 Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>
3185
3186         * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
3187         CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
3188         (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
3189         CHILD_ARG_POSITION
3190         (gtk_notebook_reorder_child): new funktion to change position of a
3191         notebook page
3192         (gtk_notebook_draw_arrow): draw left/right arrow with
3193         GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
3194
3195         * gtk/gtkstyle.c (gtk_default_draw_arrow):
3196         added GTK_SHADOW_ETCHED_IN/OUT
3197
3198 Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>
3199
3200         * gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
3201           gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
3202         Introduced generic GtkProgress widget. Derived GtkProgressBar from
3203         GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
3204
3205 Fri Jul 17 23:49:28 PDT 1998 Manish Singh <yosh@gimp.org>
3206
3207         * gtk/gtktypeutils.h
3208         * gtk/gtkitemfactory.h: explicitly specify void in prototype
3209
3210 Fri Jul 17 17:54:02 1998  Lars Hamann  <lars@gtk.org>
3211
3212         * gtk/gtkclist.c (scroll_vertical): fix to avoid flicker at begin/end
3213         of list
3214
3215 Fri Jul 17 05:30:47 1998  Tim Janik  <timj@gtk.org>
3216
3217         * gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
3218         sropped the approach of copying all signal specific data into a
3219         GtkHandlerInfo structure. we rather keep the signal data on the stack
3220         in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
3221         avoids multiple lookups of the signal pointer and works savely together
3222         with destroy notifiers of handlers.
3223
3224         * gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
3225         someone destroys the entry on the ::activate signal.
3226
3227 Fri Jul 17 01:21:32 1998  Tim Janik  <timj@gtk.org>
3228
3229         * gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
3230         instead of ypad (typo).
3231         (gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
3232         border around the allocation).
3233         (gtk_arrow_init): the static requisition needs to be setup in this
3234         function rather than gtk_widget_new(), so arrow creation works without
3235         the gtk_arrow_new() constructing.
3236         (gtk_arrow_expose): return TRUE, since we actually handled the expose.
3237
3238         * gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
3239         implementation for GtkWidget::size_request, so size requisition for
3240         simple statically sized widgets like GtkArrow works.
3241
3242 Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
3243
3244         * gtk-config.in: minor changes to gtk-config: --cflags doesn't
3245         prepend -I@libdir@/glib/include anymore, since glib-config handles
3246         it; --libs strips out redundant -L<path>'s properly (there was
3247         code in there to do it before, but it didn't work)
3248
3249 Thu Jul 16 18:24:41 1998  Tim Janik  <timj@gtk.org>
3250
3251         * gtk/gtknotebook.h: 
3252         * gtk/gtknotebook.c: signdness corrections all ove the place.
3253         implementation of object arguments: GtkNotebook::enable_popup,
3254         GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
3255         GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
3256         begun implementation of child args, we have GtkNotebook::tab_label, but
3257         GtkNotebook::menu_label and GtkNotebook::position still lack the
3258         implementation.
3259         (gtk_notebook_remove_page):
3260         (gtk_notebook_current_page): allow negative indices (-1) as alias for
3261         the last page.
3262
3263         * gtk/gtkentry.h:
3264         * gtk/gtkentry.c: GtkType and macro fixups. implementation of object
3265         arguments GtkEntry::max_length and GtkEntry::visibility.
3266         (gtk_entry_adjust_scroll): queue a redraw.
3267
3268         * gtk/gtkeditable.h:
3269         * gtk/gtkeditable.c: GtkType und macro fixups. implementation of
3270         object arguments GtkEditable::text_position and GtkEditable::editable.
3271         new (action) signal GtkEditable::set_editable.
3272         provide a default handler for GtkEditable::changed that queues a redraw.
3273
3274         * gtk/gtktext.h: 
3275         * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
3276         set_editable.
3277
3278 Thu Jul 16 14:42:11 1998  Lars Hamann  <lars@gtk.org>
3279
3280         * gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
3281         case of drag_target == NULL
3282         * gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
3283         Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
3284         * gtk/gtkfilesel.c (gtk_file_selection_file_button,
3285         gtk_dir_selection_file_button): fix due to changes in clist's
3286         select_row signal.
3287
3288 Thu Jul 16 01:27:15 1998  Tim Janik  <timj@gtk.org>
3289
3290         * gtk/gtkwidget.h:
3291         * gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
3292         similar to gtk_widget_set_uposition(). that is: -1=unspecified,
3293         -2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
3294         to be gint16s rather than guint16s, since that's what the code expected
3295         (for a long time actually).
3296
3297         * gtk/gtkviewport.c:
3298         added support for object arguments: GtkViewport::shadow_type,
3299         GtkViewport::vadjustment and GtkViewport::hadjustment.
3300         (gtk_viewport_add): chain gtk_bin_add.
3301
3302         * gtk/gtkscrolledwindow.c: 
3303         added support for object argument: GtkScrolledWindow::hscrollbar_policy,
3304         GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
3305
3306         * gtk/gtkadjustment.h: 
3307         * gtk/gtkadjustment.c: 
3308         * gtk/gtkctree.h: 
3309         * gtk/gtkclist.h: 
3310         * gtk/gtkctree.c: 
3311         * gtk/gtkclist.c:
3312         * gtk/gtkscrolledwindow.h:
3313         * gtk/gtkscrolledwindow.c:
3314         * gtk/gtkviewport.h:
3315         * gtk/gtkviewport.c:
3316         GtkType and macro fixups.
3317
3318 Thu Jul 16 01:10:02 1998  Lars Hamann  <lars@gtk.org>
3319
3320         * gtk/gtkctree.h :
3321         * gtk/gtkctree.c :
3322         Added focus handling, horizontal and vertical autoscrolling,
3323         extended Selection Mode, key bindings
3324         Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
3325         Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
3326         Removed gtk_ctree_clear.
3327         
3328         * gtk/gtkclist.h :
3329         * gtk/gtkclist.c : 
3330         Added focus handling, horizontal and vertical autoscrolling,
3331         extended Selection Mode, key bindings
3332
3333 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
3334
3335         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
3336         source tree. For more information on GdkRgb, please see:
3337         http://www.levien.com/gdkrgb/
3338
3339         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
3340         bothers me slightly that the feature is in gdk, and this file is
3341         in gtk, but it's probably ok.
3342
3343         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
3344
3345         * gdk/gdkrgb.c:
3346         * gdk/gdkrgb.h: Added this module.
3347
3348         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
3349
3350         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
3351
3352 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
3353
3354         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
3355         to this function. it needs to relookup the signal multiple times.
3356         this fixes spurious segfaults that could show up with signal intensive
3357         code, when classes are created during a pending emission (which is
3358         normal case).
3359
3360 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
3361
3362         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
3363         child if it isn't a label.
3364
3365 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
3366
3367         * gtk/gtkdialog.h: 
3368         * gtk/gtkseparator.h: 
3369         * gtk/gtkhseparator.h: 
3370         * gtk/gtkvseparator.h: macro and GtkType fixups.
3371
3372 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
3373
3374         * gtk/testgtk.c (create_cursors): display the current cursor name.
3375
3376         * gtk/gtktypeutils.h: 
3377         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
3378         the fundamental type definition. the GtkArg union now only covers
3379         the required storage types for argument values. adapted the GTK_VALUE_*
3380         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
3381
3382         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
3383         code, fixed int/float collection. fixed a bug in the sanity checking
3384         code for GtkObjects.
3385
3386         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
3387         argument collection code.
3388
3389         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
3390         macros when distinguishing the return type.
3391
3392 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
3393
3394         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
3395           is not NULL before trying to g_list_remove the child. A patch
3396           from Michael Lausch.
3397
3398 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
3399
3400         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
3401         collection (always casted to doubles upon argument passing).
3402
3403 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
3404
3405         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
3406         object_init_func for derived objects with the object's ->klass field
3407         still pointing to the corresponding base class, otherwise overridden
3408         class functions could get called with partly-initialized objects.
3409         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
3410
3411 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
3412
3413         * gtk/gtkobject.h:
3414         * gtk/gtkobject.c:
3415         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
3416
3417         * gtk/gtkcontainer.h:
3418         * gtk/gtkcontainer.c:
3419         (gtk_container_child_arg_get_info): new function which wraps
3420         gtk_arg_get_info().
3421
3422 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
3423
3424         * gtk/gtkcontainer.c:
3425         (gtk_container_arg_get): 
3426         (gtk_container_arg_set): 
3427         * gtk/gtkobject.c:
3428         (gtk_object_arg_set): 
3429         (gtk_object_arg_get):
3430         strictly check for the associated get/set arg functions. if an
3431         arg is readable or writable, the associated class functions *must*
3432         be provided.
3433
3434 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
3435
3436         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
3437         padding into account if there is an accelerator.
3438
3439 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
3440
3441         * gtk/gtkcontainer.c:
3442         (gtk_container_add_with_args): collect the arguments with
3443         gtk_container_child_args_collect, not through gtk_object_args_collect.
3444         (gtk_container_child_set): likewise.
3445
3446 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
3447
3448         * gtk/gtktypeutils.h: 
3449         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
3450         which is derived from GTK_TYPE_STRING.
3451
3452         * gtk/gtkbindings.c: reworked the argument type handling.
3453
3454 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3455
3456         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
3457           so that it seems to allow normal operation in those modes,
3458           although you will only see black  (GIMP toolbar now pops up,
3459           just don't create a new image and GIMP now works in 4 bit.)
3460
3461 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3462
3463         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
3464           array, which was too low (?)
3465
3466 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
3467
3468         * gtk/gtkcontainer.h: 
3469         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
3470         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
3471         we now export a new function gtk_container_child_args_collect().
3472         for consistency with the object arguments, a few functions got renamed:
3473         gtk_container_child_arg_get -> gtk_container_child_get,
3474         gtk_container_child_arg_set -> gtk_container_child_set,
3475         gtk_container_child_arg_getv -> gtk_container_child_getv,
3476         gtk_container_child_arg_setv -> gtk_container_child_setv,
3477         gtk_container_add_with_argv -> gtk_container_addv.
3478         note, gtk_container_add_with_args() remained, because its equivalent
3479         would be gtk_container_add(,, ...) which would break all existing code.
3480         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
3481         we expect the `arg_name' argument to be a const static string now.
3482         (gtk_container_get_child_arg_type): function removed.
3483
3484 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
3485
3486         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
3487         this is a static inline function that collects command line arguments
3488         from a va_list. this file can just be included in all places that
3489         need this functionality.
3490
3491         * gtk/gtkarg.h: 
3492         * gtk/gtkarg.c: new files which implement most of the argument
3493         handling stuff from gtkobject.c. also collected a few more
3494         gtk_arg_* utility functions from else places.
3495
3496         * gtk/gtkobject.h: 
3497         * gtk/gtkobject.c: moved most of the argument handling code into
3498         gtkarg.c. we now export gtk_object_args_collect() as a non-public
3499         method with a blind va_list pointer.
3500         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
3501         const static string now.
3502         (gtk_object_get_arg_type): function got removed.
3503
3504         * gtk/gtkwidget.c: 
3505         (gtk_widget_set): 
3506         (gtk_widget_new): adaptions for gtk_object_args_collect().
3507
3508         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
3509         fundamental type name so as to have a valid prefix, e.g. "bool"->
3510         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
3511         though that should probably be something like GtkNone since the
3512         type itself is called GTK_TYPE_NONE.
3513         even the internal type names need to avoid name clashes and must live
3514         in their own namespace, several code portions rely on that.
3515         we should relly have typedefs such as typedef gchar* GtkString; so the
3516         fundamental type names can be used for code dumpers just like with all
3517         the Gtk/Gdk types.
3518
3519 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
3520
3521         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
3522         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
3523         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
3524         (GTK_RELIEF_HALF).
3525         (gtk_button_paint): set the background for prelighted buttons with
3526         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
3527         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
3528         the shadow type (otherwise we get strange shadows for coloured buttons).
3529         (gtk_button_set_relief): queue a redraw after changing
3530         the relief.
3531         (gtk_button_class_init): 
3532         (gtk_button_set_arg): 
3533         (gtk_button_get_arg): added object argument "GtkButton::relief".
3534
3535         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
3536
3537 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
3538
3539         * gtk/gtkbutton.h:
3540         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
3541         GTK_BIN (button)->child to button->child to keep source compatibility.
3542
3543         * gtk/gtkoptionmenu.c:
3544         * gtk/gtkclist.c:
3545         * gtkcheckbutton.c: don't refer to button->child, but
3546         GTK_BIN (button)->child instead.
3547
3548 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
3549
3550         * docs/gtkfaq.sgml: update anon CVS info
3551
3552 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
3553
3554         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
3555         functions.
3556
3557         * gdk/gdkwindow.c:
3558         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
3559         to XFree() calls.
3560
3561 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3562
3563         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
3564         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
3565
3566 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
3567
3568         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
3569
3570 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
3571
3572         * gtk/gtkwidget.h:
3573         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
3574
3575         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
3576         error that prevented signal to entry addition for signals with
3577         parameters.
3578
3579 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
3580
3581         * ltconfig: fix for properly detecting shared lib support on
3582         SunPro cc (taken from libtool 1.2.a)
3583
3584 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
3585
3586         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
3587
3588 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
3589
3590         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
3591         rc set pattern is favoured, this is needed for overriding of style
3592         patterns with subsequently parsed rc files.
3593
3594 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
3595
3596         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
3597         error messages.
3598
3599 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
3600
3601         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
3602         modifier as well.
3603         (gtk_accelerator_name): add "<Release>" to the accelerator name if
3604         neccessary.
3605
3606         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
3607         account.
3608
3609         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
3610         default handler for key-release events, which checks for activation
3611         of GDK_RELEASE_MASK key bindings.
3612
3613         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
3614
3615 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
3616
3617         * gtk/gtkarrow.h: GtkType and macro fixups.
3618         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
3619         "GtkArrow::shadow_type".
3620
3621 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
3622
3623         * gtk/gtkalignment.h:
3624         * gtk/gtkbin.h: GtkType and macro fixups.
3625         
3626         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
3627         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
3628         GtkAlignment::xscale, GtkAlignment::yscale.
3629
3630 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
3631
3632         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
3633         fucntions from all parent types upon class initialization.
3634
3635         * gtk/gtkcontainer.c:
3636         (gtk_container_get_type): announce gtk_container_base_class_init to
3637         the type system.
3638         (gtk_container_base_class_init): new function to feature base class
3639         initialization.
3640         (gtk_container_get_child_arg): 
3641         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
3642         and set_child_arg methods of the class indicated through the argument
3643         name.
3644
3645         * gtk/gtkobject.c:
3646         (gtk_object_base_class_init): new function to feature base class
3647         initialization.
3648         (gtk_object_init_type): announce gtk_object_base_class_init to the type
3649         system.
3650         (gtk_object_class_init): setup the get_arg and set_arg pointers for
3651         GtkObjectClass.
3652         (gtk_object_setv): 
3653         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
3654         instead of bothering the type system with this.
3655
3656         * gtk/gtkaccellabel.c: 
3657         * gtk/gtkbutton.c: 
3658         * gtk/gtkradiobutton.c: 
3659         * gtk/gtktable.c:
3660         * gtk/gtktogglebutton.c: 
3661         * gtk/gtktipsquery.c: 
3662         * gtk/gtkbox.c: 
3663         * gtk/gtkpacker.c: 
3664         * gtk/gtkwidget.c: 
3665         * gtk/gtkwindow.c: 
3666         * gtk/gtkframe.c: 
3667         * gtk/gtkmisc.c:
3668         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
3669         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
3670         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
3671         arg functions to take a GtkObject argument.
3672
3673         gtk/gtkadjustment.c:
3674         gtk/gtkalignment.c:
3675         gtk/gtkarrow.c:
3676         gtk/gtkaspectframe.c:
3677         gtk/gtkbbox.c:
3678         gtk/gtkbin.c:
3679         gtk/gtkcheckbutton.c:
3680         gtk/gtkcheckmenuitem.c:
3681         gtk/gtkclist.c:
3682         gtk/gtkcolorsel.c:
3683         gtk/gtkcombo.c:
3684         gtk/gtkctree.c:
3685         gtk/gtkcurve.c:
3686         gtk/gtkdata.c:
3687         gtk/gtkdialog.c:
3688         gtk/gtkdrawingarea.c:
3689         gtk/gtkeditable.c:
3690         gtk/gtkentry.c:
3691         gtk/gtkeventbox.c:
3692         gtk/gtkfilesel.c:
3693         gtk/gtkfixed.c:
3694         gtk/gtkfontsel.c:
3695         gtk/gtkgamma.c:
3696         gtk/gtkhandlebox.c:
3697         gtk/gtkhbbox.c:
3698         gtk/gtkhbox.c:
3699         gtk/gtkhpaned.c:
3700         gtk/gtkhruler.c:
3701         gtk/gtkhscale.c:
3702         gtk/gtkhscrollbar.c:
3703         gtk/gtkhseparator.c:
3704         gtk/gtkimage.c:
3705         gtk/gtkinputdialog.c:
3706         gtk/gtkitem.c:
3707         gtk/gtkitemfactory.c:
3708         gtk/gtklist.c:
3709         gtk/gtklistitem.c:
3710         gtk/gtkmenu.c:
3711         gtk/gtkmenubar.c:
3712         gtk/gtkmenuitem.c:
3713         gtk/gtkmenushell.c:
3714         gtk/gtknotebook.c:
3715         gtk/gtkoptionmenu.c:
3716         gtk/gtkpaned.c:
3717         gtk/gtkpixmap.c:
3718         gtk/gtkpreview.c:
3719         gtk/gtkprogressbar.c:
3720         gtk/gtkradiomenuitem.c:
3721         gtk/gtkrange.c:
3722         gtk/gtkruler.c:
3723         gtk/gtkscale.c:
3724         gtk/gtkscrollbar.c:
3725         gtk/gtkscrolledwindow.c:
3726         gtk/gtkseparator.c:
3727         gtk/gtkspinbutton.c:
3728         gtk/gtkstatusbar.c:
3729         gtk/gtktext.c:
3730         gtk/gtktoolbar.c:
3731         gtk/gtktooltips.c:
3732         gtk/gtktree.c:
3733         gtk/gtktreeitem.c:
3734         gtk/gtkvbbox.c:
3735         gtk/gtkvbox.c:
3736         gtk/gtkviewport.c:
3737         gtk/gtkvpaned.c:
3738         gtk/gtkvruler.c:
3739         gtk/gtkvscale.c:
3740         gtk/gtkvscrollbar.c:
3741         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
3742         match the modified GtkTypeInfo structure.
3743
3744 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
3745
3746         * gtk/testgtk.c: use rand() instead of random() for portability
3747
3748 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
3749
3750         * configure.in
3751         * acconfig.h
3752         * gdk/gdk.c: use native Xlib XConvertCase if it's available
3753
3754 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
3755
3756         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
3757         XConvertCase() functionality from X11R6 on X11R5 systems.
3758
3759 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
3760
3761         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
3762         gdk_string_height, gdk_char_height to retrieve the exact
3763         height of a text.
3764
3765 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
3766
3767         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
3768           by Stefan Mars <mars@lysator.liu.se>
3769         * examples/clist/clist.c examples/clist/Makefile: example code
3770           for GtkCList widget from the Tutorial
3771
3772 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
3773
3774         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
3775         if the container is not visible, we might be a toplevel! this holds
3776         for all other base container implementations as well, that are
3777         candidates to derive toplevels from. in general the resizing code will
3778         care about visibility itself.
3779         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
3780         * gtk/gtkbox.c (gtk_box_remove): likewise.
3781
3782         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
3783         gtk_window_set_hints(), since we haven't calculated the new position
3784         yet.
3785
3786         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
3787         *mask are alway initialized in a sane way, regardless of the return
3788         value.
3789
3790 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
3791
3792         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
3793         to gtk_container_child_arg_setv, but takes a variable argument list.
3794         new function gtk_container_get_child_arg_type, which is needed by
3795         gtk_object_collect_args.
3796
3797         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
3798         take a function pointer to figure the argument type.
3799         adapted callers to pass gtk_object_get_arg_type.
3800         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
3801         gtk_object_get_arg_type..
3802
3803         * gtk/gtkpacker.h: 
3804         * gtk/gtkpacker.c:
3805         (gtk_packer_reorder_child): new function to change the packing order
3806         of a child.
3807         (gtk_packer_size_request): 
3808         (gtk_packer_size_allocate): take container->border_width into acount.
3809
3810         * gtk/gtkpacker.c: implemented widget arguments:
3811         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
3812         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
3813         implemented child arguments:
3814         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
3815         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
3816         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
3817         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
3818
3819         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
3820         not the alignment.
3821
3822         * gtk/gtkeventbox.h:
3823         * gtk/gtkeventbox.c: GtkType and macro fixups.
3824
3825         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
3826         sensitivity of an entry.
3827
3828         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
3829         for insensitive base and text.
3830
3831         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
3832         widget state dependent.
3833         (gtk_entry_style_set): likewise.
3834         (gtk_entry_state_changed): set background color on state changes.
3835         (gtk_entry_draw_text): for non selected text, use state dependent
3836         colors.
3837
3838         * gtk/gtktogglebutton.c: support for widget arguments
3839         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
3840
3841 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
3842
3843         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
3844         code for 1.0.x-like parameters. Changed internal interface of
3845         gtk_spin_button_real_spin. Several fixes to avoid emission of
3846         "value_changed" where possible.
3847
3848 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
3849
3850         * gtk-boxed.defs: s/GkWidget/GtkWidget/
3851
3852 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
3853
3854         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
3855         to select the resize_mode for the idle-labels container.
3856
3857         * gtk/gtkframe.h: 
3858         * gtk/gtkframe.c: GtkType and macro corrections.
3859
3860         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
3861         support widget argument "GtkRadioButton::group".
3862
3863 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
3864
3865         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
3866         unconditionally if resize_mode has changed.
3867
3868         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
3869         GTK_RESIZE_QUEUE on the scrolled window.
3870         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
3871
3872 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
3873
3874         * gtk/gtkcontainer.h:
3875         * gtk/gtkcontainer.c:
3876         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
3877         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
3878         (gtk_container_queue_resize): new function to queue a container for
3879         a *size* reallocation (doesn't affect its position, and thus its
3880         parent is left untouched usually).
3881         (gtk_container_get_resize_container): new function to retrive the next
3882         most resize container which is not itself queued for a resize.
3883         (gtk_container_idle_sizer): new function to carefully process the
3884         container_resize_queue since it can change during invokation of
3885         gtk_container_check_resize().
3886         (gtk_container_resize_children): total rework of this function to
3887         properly handle resize containers. makes a lot of assumptions whitch
3888         are stated in the comments.
3889
3890         * gtk/gtkcontainer.c:
3891         (gtk_container_real_check_resize): only requeue ourselves if we are not
3892         a resize container.
3893         (gtk_container_clear_resize_widgets): care for automatic deletion of our
3894         resize_widgets list on size_allocate through a handler connection.
3895
3896         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
3897         focus and default widget of a window, so to take the burden from
3898         gtk_widget_unparent.
3899
3900         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
3901         to be clever, but actually messed up the resize_children logic and
3902         caused unneccessary allocations on its whole branch. besides this,
3903         it messed up the display by not invoking a redraw after the allocation.
3904
3905         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
3906         that it is the child again that is queued for a resize.
3907         (gtk_table_attach): likewise.
3908         (gtk_table_remove): likewise.
3909
3910 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3911
3912         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
3913         gtk_entry_adjust_scroll.  Required if you change the cursor
3914         position and want to sync it up with your code (Midnight Commander
3915         gtk front end needs this).
3916
3917         * gtk/gtktable.c: Deal with tables that have size 0, 0.
3918
3919 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
3920
3921         * examples/README.1ST: new file to explain how the
3922           code examples should be extracted from the tutorial.
3923
3924 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
3925
3926         * gtk/gtkctree.c (draw_row): added new "line style"
3927         GTK_CTREE_LINES_TABBED 
3928         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
3929         search the glist pointer of an GtkCTreeRow
3930
3931 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
3932  
3933         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
3934         from, and clean up, the dependencies.  Generate to intermediate
3935         files to prevent problems with Ctrl-C.
3936
3937         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
3938
3939 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
3940
3941         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
3942         - Bug fix for precision problem causing occasional double emission 
3943           of "value_changed" signal (hopefully works now).
3944         - API change (should be binary compatible) : 
3945           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
3946           Modified cursor example appropriately.
3947           To spin by something other than step_/page_increment, use
3948           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
3949         - Made GTK_SHADOW_NONE the default. ;)
3950         - Fixed casting of GtkAdjustment* to GtkWidget* in
3951           gtk_spin_button_value_changed.
3952
3953 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
3954
3955         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
3956         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
3957         resize widget list before queuing the container for a new reize.
3958         (gtk_container_need_resize): changed return value to FALSE, since this
3959         used to indicate that no further resizes are needed.
3960         (gtk_container_set_arg): 
3961         (gtk_container_get_arg): 
3962         (gtk_container_class_init): implemented GtkContainer::resize_mode
3963         argument.
3964
3965         (gtk_container_resize_children): when we walk up the tree of a resize
3966         widget we need to stop if we are the current parent.
3967
3968         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
3969         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
3970         (gtk_widget_hide_all): retrive the toplevel widget from via
3971         gtk_widget_get_resize_container().
3972
3973 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
3974
3975         * gtk/gtklist.c (gtk_list_button_press): Only respond
3976           to selection with button 1. This allows context-sensitive
3977           menus to work correctly.
3978
3979 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
3980
3981         * gtk/gtkaccelgroup.c: 
3982         * gtk/gtkbindings.c: 
3983         * gtk/gtkcontainer.c:
3984         * gtk/gtkitemfactory.c:
3985         * gtk/gtkobject.c: 
3986         * gtk/gtksignal.c:
3987         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
3988         g_quark_from_static_string calls to save memory.
3989
3990         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
3991         function _after_ the new data has been setup.
3992         minor changes to object data functions to feature the GQuark type.
3993
3994 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
3995
3996         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
3997           from argv.
3998
3999 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
4000
4001         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
4002           to be more readable perl, to spit out stuff that looks
4003           more like readable C, and to pipe output through indent
4004           so output looks a lot like readable C. No functional
4005           changes.
4006
4007 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
4008
4009         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
4010           necessary when switching to a masked pixmap. (Based on a patch
4011           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
4012
4013 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
4014
4015         * gtk/gtkeditable.[ch]: Added action signals for keyboard
4016           bindings. (move_cursor, kill_word, etc, etc, etc). 
4017
4018           removed the time argument from
4019           gtk_editable_cut/copy/paste_clipboard (source but not
4020           binary incompatible...) Instead get time from
4021           gtk_get_current_event ().
4022         
4023         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
4024           signals.
4025
4026 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
4027
4028         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
4029
4030         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
4031              parent class to GtkNotebookClass when splitting the widget in
4032              two.  Also updated some comments.
4033
4034         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
4035                button without a font selected.
4036
4037              Fixed bug in set_font_name - I hadn't updated the code to
4038                search for the style in the font_style clist - it was
4039                still assuming the style row was equal to its index,
4040                but it isn't any more.
4041         
4042              Changed 'Reset' button on filter page to 'Clear Filter'.
4043              Deleted old code relating to the old 'Filter Fonts' toggle
4044              Updated some comments.
4045              Cleared 'Actual Fontname' if no font is set.
4046
4047         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
4048              destroying the GtkFontSelection instead of the
4049              GtkFontSelectionDialog.
4050
4051 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
4052
4053         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
4054           flag to make all warnings fatal errors.
4055
4056         * gtk/testthreads.c: moved <pthreads.h> include inside 
4057           #ifdef USE_PTHREADS
4058
4059 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
4060
4061         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
4062           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
4063
4064         - Added new function gtk_container_set_resize_mode() for
4065           fine-grained control of where resize-queueing is done.
4066
4067         - Removed GtkContainer::need_resize and GtkWindow::move_resize
4068         - Added GtkContainer::check_resize to replace need_resize.
4069
4070         - Added function gtk_container_check_resize() to trigger
4071           queued resizes, and gtk_container_resize_children() to
4072           Figure which children need to be size-allocated. (logic
4073           moved from gtkwindow.c)
4074
4075         - Reorganized code in gtkwindow.c
4076         
4077         - Set the resize-mode for viewports so that resizes within
4078           a viewport don't propagate out of it. 
4079         
4080 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4081
4082         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
4083
4084         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
4085         g_return_val_if_fail, because the function *does* return a value.
4086
4087 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
4088
4089         * gtk/gtkaccellabel.h:
4090         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
4091         request the size of the accelerator portion of an accel label.
4092         (gtk_accel_label_size_request): don't request for the accelerators size.
4093         (gtk_accel_label_expose_event): only draw the accelerator if we got
4094         enough extra space.
4095
4096         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
4097         width from children.
4098
4099         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
4100         object (after removal has been requested) check if there is still an
4101         accelerator remaining to avoid adding two accelerators on an object.
4102         this can happen for locked accelerators (or accelerator-frozen widgets).
4103         (gtk_menu_size_request): feature childrens accelerator width in size
4104         requests.
4105
4106         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
4107         gtk_widget_freeze_accelerators() for dynamically created menu items.
4108
4109         * gtk/gtksignal.h: 
4110         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
4111         which will return a handler_id > 0 if the specified function is pending
4112         for `signal_id'.
4113
4114         * gtk/gtkwidget.h:
4115         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
4116         a signal handler function to stop accelerator addition.
4117         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
4118         which will prevent (undo) any accelerators from being added to or
4119         removed from a widget.
4120
4121 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
4122
4123         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
4124         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
4125         acceleration, new API gtk_spin_button_set_snap_to_ticks.
4126
4127 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
4128
4129         * gdk/gdk.h:
4130         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
4131         the current GdkWindow the pointer is on if there is any.
4132         
4133         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
4134         and one column, so we don't construction logic at all. changed a few
4135         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
4136         unsigned int wraps.
4137
4138         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
4139         portion, added an additional check for parent != widget.
4140
4141         * more GtkType and macro fixups.
4142
4143 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4144
4145         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
4146         "clip" parameter, which is the clipping rectangle to use.  This
4147         eliminates the extremely annoying flicker when exposing parts of
4148         the handlebox.
4149
4150 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
4151
4152         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
4153         resizing
4154
4155 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
4156
4157         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
4158         != 0 on the argument.
4159
4160         * gtk/gtktable.h: 
4161         * gtk/gtktable.c: new function gtk_table_resize() which allowes
4162         shrinking and expanding of tables. implementation of widget arguments
4163         and child arguments. many signedness corrections.
4164
4165 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
4166
4167         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
4168         not only the child, otherwise we might end up taking away other
4169         childrens space after the resize.
4170
4171         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
4172         an unknown menu path from any source, that path must always be flagged
4173         as "modified", since we don't really know whether it has its default
4174         value or not.
4175
4176         * gtk/gtktree.c:
4177         * gtk/gtkpacker.c:
4178         * gtk/gtknotebook.c:
4179         * gtk/gtkmenushell.c:
4180         * gtk/gtklist.c:
4181         * gtk/gtkpaned.c:
4182         * gtk/gtkfixed.c: 
4183         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
4184
4185         * gtk/gtkbox.h: 
4186         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
4187         arguments. implemented child arguments.
4188
4189         * more GtkType and macro fixups.
4190
4191 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
4192
4193         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
4194
4195         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
4196         and gtk_clist_get_hadjustment.
4197
4198         * gtk/gtkcontainer.c:
4199         implementation of children arguments, new class member functions
4200         (child_type), (get_child_arg) and (set_child_arg) plus a new field
4201         n_child_args.
4202         (gtk_container_child_type): new function which returns the type of a
4203         child that the container expects for its next addition.
4204         (gtk_container_add_child_arg_type): new function to introduce a new
4205         child argument at class creation time.
4206         (gtk_container_query_child_args): new function to query all child
4207         arguments that are supported by a container class.
4208         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
4209         child argument.
4210         (gtk_container_child_arg_setv): new function to set a child argument for
4211         a certain container and child combination.
4212         (gtk_container_add_with_args):
4213         (gtk_container_add_with_argv): new functions to feature addition of a
4214         new child in combination with the setting of certain child arguments.
4215
4216         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
4217         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
4218         this should really be done through class cretion hooks some day.
4219
4220         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
4221         guint : 16.
4222
4223         * gtk/gtkpacker.h:
4224         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
4225         follow the gtk convention for lower case variable names (important
4226         for language wrappers and widget arguments), and made them guint : 16.
4227
4228         * examples/packer/pack.c: adaptions for the case converted GtkPacker
4229         fields.
4230
4231 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
4232
4233         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
4234         change the character pair for single line comments.
4235         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
4236         GtkItemFactoryClass.
4237         (gtk_item_factory_parse_rc_string): likewise.
4238
4239 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
4240
4241         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
4242         lists from the klass structure to a static structure
4243         in gtkfontsel.c; cleans up global the namespace.
4244
4245 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
4246
4247         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
4248         bug with /*< skip >*/ and remove warning.
4249         
4250 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
4251
4252         * gtk/Makefile.am: Made the gtkmarshal.* generation
4253         rules maintainer-only.
4254
4255 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
4256
4257         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
4258           gtk/Makefile.am gtk/makenums.pl 
4259
4260         Removed out the G_ENUM/FLAGS mechanism in favor
4261         of a perl script that parses the standard headers
4262         (with occasional /*< nick=foo >*/ style overrides)
4263         and extracts the enumerations.
4264
4265           gtk/maketypes.awk: Small improvments to the
4266           translation of names. (Avoid splitting gc into
4267           g_c_.)
4268         
4269 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
4270
4271         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
4272         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
4273         
4274 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
4275
4276         * gtk/gtkentry.c:
4277         - Restored gtk_entry_adjust_scroll to static 
4278         - Changed text positioning code so that we always
4279           display as large a portion of the text as possible.
4280
4281 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
4282
4283         * gtk/gtktext.c (gtk_text_finalize): Free internal
4284         structures of text widget. Also, unreference pixmaps
4285         when unrealizing.
4286         
4287 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
4288
4289         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
4290         3.3.1 bug workaround to number keys starting at 1.
4291
4292 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
4293
4294         * docs/gtk_tut.sgml: Fixed urls for complete example
4295         source for scribble+widget-writing examples.
4296
4297 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
4298
4299         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
4300         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
4301         specs of the form c #abcdef [ more keys ] properly.
4302
4303 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
4304
4305         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
4306         (gtk_spin_button_set_shadow_type):
4307         New API to set the shadow type of the arrow panel.
4308
4309 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
4310
4311         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
4312         code for drawing the child in two places at once. Unfortunately,
4313         not only does it not work anymore (because reparenting has
4314         been fixed), but it also triggers reparent/expose loops
4315         in some cases.
4316
4317         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
4318         an unecessary unrealize.
4319
4320 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
4321
4322         * gdk/gdkwindow.c (gdk_window_reparent): Update the
4323           old and new parents' child window lists properly.
4324
4325 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
4326
4327         * gtk/gtkpacker.h:
4328         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
4329         and GtkSideType, to be consistent with the rest of Gtk's enum
4330         definitions. wrapped the enum definitions with the G_ eunm wrappers.
4331         spelled out the GTK_ANCHOR_* enum values, since single letters don't
4332         work out corectly as nick-names (left the old values as aliases).
4333         some signdness corrections (border-width, spacing), could stand more.
4334
4335 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4336
4337         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
4338           Added gtkpacker
4339
4340         * examples/packer/pack.c, examples/packer/Makefile: Added
4341           gtkpacker example
4342
4343 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
4344
4345         * gtk/gtktext.c (remove_cache_line): Fixed broken
4346         list-removal code.
4347
4348         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
4349         Check bounds before deleting.
4350
4351 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
4352
4353         * autogen.sh: Support ACLOCAL_FLAGS
4354
4355 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
4356
4357         * gtk-config.in: Added missing quotes.
4358
4359 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
4360
4361         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
4362
4363 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
4364
4365         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
4366         G_COMPILED_WITH_DEBUGGING.
4367
4368         * configure.in (fd_set): Explain check better.
4369
4370         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
4371         the version from which gtk+'s libtool forked.  Needed for people
4372         who use post-1.2 alphas of libtool.
4373
4374 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
4375
4376         * glib/* Moved to glib module
4377
4378         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
4379           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
4380
4381           configuration changes for the above:
4382          
4383           - Use AM_PATH_GLIB by default to find glib; also accept
4384             a --with-glib option for using an uninstalled glib.
4385          
4386           - Put --enable-debug information into config.h so
4387             that we rebuild when it changes. (was in glibconfig.h)
4388
4389 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
4390
4391         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
4392
4393         * gtk/gtknotebook.h (struct _GtkNotebookClass):
4394         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
4395         added missing argument (according to Joseph Coleman's bug report)
4396
4397         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
4398         function to fix notebook focus handling
4399         
4400 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
4401
4402         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
4403           glib/gutils.c glib/testglib.c glib/gdataset.c
4404           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
4405           gtk/gtktext.c gtk/gtkbindings.c:
4406
4407          renamed g_const_pointer => gconstpointer
4408
4409 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
4410
4411         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
4412         invoked with (NULL, NULL); (this worked sometime ago).
4413
4414         * gtk/gtktypeutils.h: 
4415         * gtk/gtktypeutils.c: enum and flags type creation can now be done
4416         through gtk_type_register_enum() and gtk_type_register_flags(),
4417         which allow to specify the enum value arrays directly.
4418         the NULL terminated value arrays can be retrived through
4419         gtk_type_enum_get_values() and gtk_type_flags_get_values();
4420         (gtk_type_children_types): new function to query derived types.
4421
4422 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
4423
4424         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
4425         environment to genmarshal.pl.
4426         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
4427         rule), and removed it where not needed (in the dependencies).
4428
4429         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
4430
4431 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
4432
4433         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
4434         was just g_direct_hash.
4435
4436 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
4437
4438         * configure.in: x_libs=, not $x_libs=. Enough said.
4439           (Case only hit for --disable-xshm)
4440         
4441 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
4442
4443         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
4444           when testing for X libraries, don't replace them. Because
4445           the user might have specified the path to the X libraries
4446           themself before running configure.
4447
4448         * examples/**.c: Changed all gpointer * to gpointer
4449         
4450 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4451
4452         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
4453         fleur_cursor field.  Now the cursor is created/destroyed on demand
4454         by the routines that need it.
4455
4456         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
4457         (gtk_handle_box_motion): The fleur cursor is created and destroyed
4458         only when needed.
4459
4460 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
4461
4462         * gtk/gtktypeutils.h: 
4463         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
4464         gtk_enum_set_values to gtk_type_enum_get_values and
4465         gtk_type_enum_set_values respectively, since they are actually type
4466         system features.
4467
4468         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
4469         my last commit. ;)
4470
4471 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
4472
4473         * gtk/gtkselection.h: 
4474         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
4475         gtk_selection_data_free.
4476
4477         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
4478         for "selection_received", which was completely bogus.
4479         * other fixups to gtk_signal_new() calls all over the place.
4480
4481         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
4482         * gtk/gtktypebuiltins_vars.c: type variable implementations.
4483         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
4484         declarations.
4485         * gtk/gtktypebuiltins_evals.c: enum value arrays.
4486         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
4487         gtk.defs.
4488         * gtk/gtk.defs: generated file with scheme syntax for type definitions
4489         of gtk and gdk structures and enums.
4490         * gtk/gtktypeutils.h: 
4491         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
4492         macros anymore (this fixes binary incompatibility with new enum
4493         definitions).
4494
4495         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
4496         key bindings for this widget.
4497         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
4498         handler.
4499
4500         * gtk/gtkobject.h:
4501         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
4502         again. new functions gtk_object_class_user_signal_new () and
4503         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
4504         flag on the signal creation.
4505
4506 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
4507
4508         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
4509
4510 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
4511
4512         * gdk/gdkprivate.h: 
4513         * gdk/gdktypes.h: 
4514         * gtk/gtkprivate.h: 
4515         * gtk/gtkwidget.h: 
4516         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
4517
4518         * reworked enum value array generation code. gtk.defs is a generated
4519         file now.
4520
4521 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
4522
4523         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
4524         check menu items in the compatibility code (this required me to remove
4525         the "<check>" part from the menu item name, grrr).
4526
4527 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
4528
4529         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
4530         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
4531         
4532 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
4533
4534         * gtk/gtkitemfactory.h: 
4535         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
4536         additions to the dumping code to feature GtkPatternSpec.
4537         even found a bug to fix in the original code ;)
4538         
4539 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
4540
4541         * gtk/gtkitemfactory.c: support different types of callbacks, to
4542         maintain existing code.
4543
4544 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
4545
4546         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
4547
4548         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
4549         this should eventually be done by gentypeinfo.el somewhen.
4550         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
4551
4552         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
4553         enum values of an enum type.
4554
4555         * gtk/gtk.defs:
4556         * gtk/gtkcurve.h: 
4557         * gtk/gtkobject.h: 
4558         * gtk/gtkprivate.h: 
4559         * gtk/gtkwidget.h:
4560         * gtk/gtkenums.h: 
4561         brought enum/flags definitions in sync, added a few more enum
4562         definitions for bindings and pattern matching.
4563
4564         * some more macro and GtkType fixups in various places.
4565
4566         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
4567         as a key-release modifier for the binding system.
4568
4569 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
4570
4571         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
4572         was a stale list pointer that is already present in GtkMenuShell.
4573
4574         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
4575         GtkMenuShell::selection_done which is emitted after the menu shell
4576         poped down again and all possible menu items have been activated.
4577
4578 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
4579
4580         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
4581         before activation of the menuitem, so the menu is actually taken off the
4582         screen prior to any menu item activation.
4583
4584         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
4585         for NULL nodes.
4586
4587         * gtk/gtkwidget.h:
4588         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
4589         the emission of the "add-accelerator" signal on a widget. this is
4590         usefull to prevent accelerator installation on certain widgets.
4591
4592         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
4593         labels left justified, by setting their alignment. stop accelerator
4594         installation for the menu items, since we use dynamic menus.
4595
4596 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
4597
4598         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
4599         should *really* use GtkItemFactory. this is only for preserving source
4600         compatibility where possible, use of GtkMenuFactory is deprecated as of
4601         now.
4602
4603         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
4604         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
4605         missed this possibility when i added gtk_object_class_add_user_signal
4606         in late january.
4607
4608         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
4609
4610 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
4611
4612         * gtk/gtkaccelgroup.h: 
4613         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
4614
4615         * gtk/gtkaccellabel.h: 
4616         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
4617         display of the accelerators associated with a certain widget.
4618
4619         * gtk/gtkitemfactory.h: 
4620         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
4621         parsing and accelerator handling.
4622
4623         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
4624         positioning a menu.
4625         (gtk_menu_map): removed the allocation code.
4626         (gtk_menu_size_allocate): care for redrawing of children and resize
4627         our widget->window correctly.
4628         (gtk_menu_key_press): feature the new accelerator groups.
4629
4630         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
4631         submenu if neccessary.
4632
4633         * gtk/gtkmenuitem.c:
4634         * gtk/gtkcheckmenuitem.c:
4635         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
4636         function variants.
4637
4638         * gdk/gdk.c:
4639         (gdk_keyval_from_name): 
4640         (gdk_keyval_name): new functions for keyval<->key-name associations.
4641         (gdk_keyval_to_upper): 
4642         (gdk_keyval_to_lower): 
4643         (gdk_keyval_is_upper): 
4644         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
4645         regards to their cases.
4646
4647 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
4648
4649         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
4650         widget's class path.
4651         (gtk_widget_path): new function to calculate a widget's name path.
4652
4653         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
4654         pattern matching, features reversed pattern matches.
4655
4656 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
4657
4658         * examples/extract.sh, examples/extract.awk:
4659           New files to automagically extract code examples from the
4660           tutorial.
4661
4662 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
4663
4664         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
4665         * gtk/gtkcontainer.c (gtk_container_focus_move):
4666         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
4667
4668 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
4669
4670         * docs/gtk_tut.sgml: minor changes to support auto
4671           extraction of example code
4672
4673 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
4674
4675         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
4676           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
4677
4678 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
4679
4680         * docs/gtk_tut.sgml:
4681           - new section on Events
4682           - change all delete_event callbacks to include
4683             a GdkEvent parameter
4684           - clean up the formatting
4685
4686         * examples - helloworld.c, helloworld2.c, notebook.c,
4687           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
4688           rulers.c, table.c, wheelbarrow.c: change all delete_event
4689            callbacks to include a GdkEvent parameter.
4690
4691 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4692
4693         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
4694         field of crossing events.
4695         (struct _GdkEventCrossing): Added the following fields: time, x,
4696         y, x_root, y_root, mode, focus, state.
4697
4698         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
4699         crossing event structure.
4700
4701         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
4702         changes to the crossing event structure.
4703
4704 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
4705
4706         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
4707
4708 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
4709
4710         * docs/gtk_tut.sgml:
4711            - GtkTooltips, update to current API
4712            - change all 'gpointer *data' to 'gpointer data'
4713            - other minor changes
4714
4715 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
4716
4717         * configure.in (LDFLAGS): Bomb out with a moderately
4718           helpful message if detection of X libraries fails.
4719
4720 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
4721
4722   [ Combination of:
4723      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
4724      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
4725
4726         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
4727           gtk/gtksignal.c gtk/gtktext.c: 
4728
4729           Fixups for warnings from adding const to type of GHashFunc,
4730           GCompareFunc
4731         
4732         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
4733           ansi-warnings fixups.
4734
4735 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
4736
4737         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
4738         Locate child at (border_width,border_width), not
4739         (2*border_width,2*border_width). [ The border is _outside_
4740         widget->window ]
4741         
4742         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
4743           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
4744
4745 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4746
4747         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
4748         used in gnome-libs
4749
4750 1998-05-22    <sopwith@redhat.com>
4751
4752         * gtk/gtkeventbox.c: Pass size_allocate on to the child
4753         regardless of whether it is visible or not. Also
4754         locate child at (border_width,border_width), not (0,0)
4755
4756 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
4757
4758         * gtk/gtkhandlebox.c: Added style_set handler.
4759
4760 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
4761  [ From: Chris Lahey  <clahey@umich.edu> ]
4762         
4763         * gtk/gtkeditable.c, gtk/gtkeditable.h,
4764           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
4765           and set_position functions to get and set the cursor position.
4766
4767         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
4768           signal status. Make GtkText do user-controlled insertion
4769           and deletion through the Editable widget so that these
4770           signals are properly emitted.
4771
4772         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
4773           display asterisks instead of empty space when visible = FALSE)
4774
4775 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
4776
4777         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
4778         signal.
4779
4780 1998-05-21    <sopwith@redhat.com>
4781
4782         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
4783         custom routine for loading images specified in gtkrc's.
4784
4785 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
4786
4787         * configure.in: Use pthread_attr_init() as a test function,
4788         since most of the rest of -lpthread is macros on DU4.
4789
4790 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
4791
4792         * gtk/gtkcombo.c: implemented completion in the entry.
4793
4794 1998-05-18    <sopwith@moebuis.labs.redhat.com>
4795
4796         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
4797
4798 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
4799
4800         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
4801         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
4802         to be of runtype GTK_RUN_LAST.
4803
4804         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
4805         "need-resize".
4806
4807         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
4808         "widget-selected".
4809
4810 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
4811
4812         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
4813         text retrived from GtkEntry. only intercept the Tab key if there
4814         was some text to complete.
4815
4816 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
4817
4818         Basic thread-awareness:
4819
4820         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
4821
4822         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
4823         gdk_threads_[init/enter/leave] for applications, plus
4824         gdk_threads_wake to wake the mainloop thread out of
4825         the select().
4826
4827         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
4828
4829 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
4830
4831         * gtk/testgtk.c (list_clear): Account for the fact
4832         that gtk_list_clear_items is not inclusive. (Clears
4833         [start, end))
4834
4835 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
4836
4837         * gdk/gdk.c: include gdkkeysyms.h always
4838         
4839
4840 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
4841
4842         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
4843         the visibility_notify_event method and changed method order.
4844
4845 1998-05-14    <sopwith@moebuis.labs.redhat.com>
4846
4847         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
4848
4849 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
4850
4851         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
4852         from Olli Helenius <ollhel@batman.jytol.fi>.
4853
4854         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
4855         freeing types.
4856         (gtk_type_set_chunk_alloc): new function to allow allocation of new
4857         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
4858         thorugh g_malloc).
4859
4860         * gtk/gtkobject.c (gtk_object_finalize): free an object through
4861         gtk_type_free().
4862
4863         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
4864         GtkButtons to 16.
4865         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
4866         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
4867
4868 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
4869
4870         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
4871           GPOINTER_TO_UINT fixes.
4872
4873         * gtk/gtksignal.c: Include <string.h> for memset.
4874
4875 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
4876         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
4877
4878         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
4879         Cleanups, comments and the ability to have rulers with 
4880         a reversed direction.
4881
4882 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
4883
4884         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
4885         that Sopwith missed when changing stat => lstat.
4886
4887 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
4888
4889         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
4890           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
4891         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
4892
4893         * gdk/gdk.c: Print sizeof() results
4894         as g_print("%ld", (glong)sizeof(foo)), to deal with
4895         sizeof() being long on Alpha's.
4896
4897         * gtk/testgtk.c: include <string.h> for strlen
4898
4899 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
4900         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
4901         
4902         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
4903         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
4904
4905         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
4906
4907 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
4908         (From: Christopher James Lahey <clahey@umich.edu>)
4909         
4910         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
4911           gtk/testgtk.c:
4912
4913         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
4914         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
4915         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
4916         the default relief for the toolbars buttons. Added an
4917         toggle for the toolbar test in testgtk.c.
4918
4919 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
4920
4921         * docs/gtk-config.1: Rewritten and hopefully improved.
4922
4923 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
4924
4925         * docs/Makefile.am
4926         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
4927
4928 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4929
4930         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
4931         GtkPreview's visual and colormap, otherwise things can BadMatch.
4932
4933         * gtk/testgtk.c (create_color_preview): 
4934         (create_gray_preview): Removed pushing/popping of visual/colormap
4935         now that GtkPreview does things correctly.
4936
4937         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
4938         (gtk_color_selection_draw_wheel): Pick the style from the correct
4939         place (the colorsel->wheel_area widget) so that the GCs will match
4940         with where we are going to paint to.
4941
4942         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
4943         of visual/colormap now that GtkColorSelection does things the
4944         right way.
4945
4946 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
4947
4948         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
4949         previously unused window->need_resize flag to mark if a window's
4950         descendents changed size while the window was not visible. In this
4951         case, when the window becomes visible, we reallocate everything,
4952         since we didn't keep track of what actually changed.
4953
4954         (Fixes bug where changing the popdown strings of a
4955         combo to something of the same length caused them to
4956         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
4957
4958 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
4959
4960         [security audit by Alan Cox]
4961
4962         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
4963         exceed maximum assumed size.
4964
4965         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
4966         not exceed maximum assumed size.
4967         (gtk_menu_factory_remove): likewise.
4968         (gtk_menu_factory_find_recurse): likewise.
4969
4970 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
4971
4972         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
4973         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
4974         redrawn if that is still neccessary. don't allow queueing of already
4975         destructed objects.
4976         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
4977         widgets which are in the queue can be destroyed safely, handle
4978         requeueing properly.
4979         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
4980         widgets which are in the queue can be destroyed/unrealized safely.
4981
4982 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
4983
4984         * gtkfaq.sgml: add question on multi-threading,
4985           minor URL cleanups.
4986
4987 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
4988
4989         * configure.in (cflags_set): preserve automake CFLAGS.
4990
4991         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
4992         and libgdk-1.1.la. this means we need to change certain portions of
4993         the Makefile.am on major/minor version bumps.
4994
4995         * ltmain.sh: the -release option is not required anymore.
4996         
4997         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
4998         of the first argument to be of type GtkObject. unconditionally compile
4999         this function. removed __GNUC__ dependancy of the gtk_object_ref and
5000         gtk_object_unref macro wrappers for this function.
5001
5002 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
5003
5004         * gtk/gtkobject.h:
5005         * gtk/gtkobject.c:
5006         (gtk_object_data_try_key):
5007         (gtk_object_data_force_id): these are now macros substituting the old
5008         functions. we just use the corresponding g_dataset_* functions for
5009         key->id associations. (this is to assure unique key<->id associations).
5010
5011 1998-05-10  Stefan Jeske  <stefan@gtk.org>
5012
5013         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
5014         to gboolean.
5015
5016         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
5017
5018 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
5019
5020         * configure.in (LIBS): Try to figure out if this
5021         is Digital Unix and we need -std1 to get the
5022         right prototypes.
5023
5024 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
5025
5026         * docs/gtk_tut_it.sgml: update of Italian tutorial
5027           translation from Daniele Canazza <dcanazz@tin.it>
5028
5029 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
5030
5031         * gtk/gtkfeatures.h.in: new file used as template for
5032         * gtk/gtkfeatures.h: new file to define macros indicating newly
5033         introduced features, such as GTK_HAVE_SIGNAL_INIT.
5034
5035         * gtk/gtksignal.c:
5036         (gtk_signal_emitv_by_name):
5037         (gtk_signal_emitv):
5038         new functions to emit signals with an already provided parameter set.
5039         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
5040         (gtk_signal_real_emit): prototype changes, so this functions always
5041         gets its parameters and signal structure as arguments.
5042         (gtk_signal_emit): provide the signal structure and parameter list for
5043         gtk_signal_real_emit.
5044         (gtk_signal_emit_by_name): likewise.
5045
5046 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
5047
5048         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
5049         signal connections through unsetting GTK_CONNECTED.
5050         (gtk_signal_handler_insert): reflect the presence of signal connections
5051         through setting GTK_CONNECTED.
5052         (gtk_signal_real_emit): only check for handler emissions if the object
5053         has the GTK_CONNECTED flag set.
5054         (gtk_signal_handler_pending): don't check for pending handlers if the
5055         GTK_CONNECTED flag is not set for this object.
5056
5057         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
5058         a GtkObject has signal handler connections.
5059
5060         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
5061         set for this object call gtk_signal_handlers_destroy().
5062         
5063         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
5064         multiple processing of macro args.
5065
5066         * gtk/gtktypeutils.c:
5067         * gtk/gtkobject.c:
5068         * gtk/gtkwidget.c:
5069         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
5070
5071 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
5072
5073         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
5074         draw-queue when we are done. 
5075
5076         (gtk_widget_queue_draw/_queu_resize): Always return
5077         FALSE and avoid having two idles at the same time.
5078         
5079 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
5080
5081         * gtk/gtktext.c: Various fixes to make sure cache
5082         lines are freed if line_start_cache doesn't point to the
5083         beginning of the cache.
5084
5085 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
5086
5087         * style_set improvements for GtkText and GtkEntry
5088
5089 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
5090
5091         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
5092         been initialized.
5093
5094 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
5095
5096         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
5097         data chunks through a global object data structure list. unlink
5098         object data before invoking its destroy function.
5099         (gtk_object_finalize): slight modification to allow usage of object
5100         data during object finalization.
5101
5102 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
5103
5104         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
5105         signal names, e.g. "signal-name" is now an alias for "signal_name".
5106         (gtk_signal_handler_new): allocate handlers through a global handler
5107         structure list, that's faster than memchunks.
5108         (gtk_emission_new): allocate emissions through a global emission
5109         structure list, that's faster than memchunks.
5110
5111 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
5112
5113         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
5114
5115         * ltmain.sh: added a new commandline flag -postfix similar to -release,
5116         but will immediately change the library name.
5117
5118         * gdk/Makefile.am:
5119         * gtk/Makefile.am: specify -postfix and -version-info
5120
5121         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
5122         GTK_BINARY_AGE. calculate LT_* variables for libtool.
5123
5124 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5125
5126         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
5127         background (fg_set -> bg_set confusion).
5128
5129 1998-05-06  Stefan Jeske  <stefan@gtk.org>
5130
5131         * gtk/testgtk.c (unselect_all): Removed code that caused an
5132         endless loop.
5133
5134 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
5135
5136         * gtk/gtksignal.c: reimplemented the signal storage system to use a
5137         linear array rather than a hash table.
5138         be carefull *not* to keep any GtkSignal pointers across invokations
5139         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
5140         general code cleanups, made all allocations through memchunks.
5141         (gtk_signal_lookup): we now do the lookup of signals through a key_id
5142         for the signal names to avoid multiple hashing of the signal name on
5143         lookups for the several hirarchy levels of an object.
5144
5145 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
5146
5147         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
5148         to speed things up and remove code duplication.
5149
5150         Reintegrated buffer overflow patches, and added
5151         some extra paranoia.
5152         
5153 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
5154
5155         * gdk/gdk.c (gdk_event_translate): A guint * was
5156         being passed where X expected a Keysym *, and
5157         keysyms are long's on Alpha Linux. This was causing
5158         segfaults in Xlib, apparently because of alignment.
5159         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
5160         
5161 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
5162
5163         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
5164         set GDK_EXPOSURE_MASK for DrawingAreas
5165
5166 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
5167
5168         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
5169         (superceded by RC file reparsing capabilities)
5170
5171         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
5172         events. (Shouldn't be sent to the InputOnly leader, which
5173         it is now by gdk_event_send_clientmessage_toall
5174
5175         * gtk/testgtk.c: Added extra button to rcfiles test
5176         to send out _GDK_READ_RCFILES events.
5177         
5178 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
5179
5180         * gtk/gtkselection.c (gtk_selection_clear): Fixed
5181         reversed conditionals that caused segfault on some
5182         platforms.
5183
5184 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
5185
5186         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
5187         cast to GTK_OBJECT for gtk_object_ref.
5188
5189 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
5190
5191         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
5192         checking for signal initialization in gtksignal.c.
5193
5194         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
5195         a long debugging period ;)
5196
5197 1998-05-05  Stefan Jeske  <stefan@gtk.org>
5198
5199         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
5200         New function to wrap XSetDashes; modified gtkctree.c to use it.
5201
5202 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5203
5204         * configure.in: Added $x_libs in the other_libraries field in the
5205         check for XShapeCombineMask.
5206
5207 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
5208
5209         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
5210         gtk_type_is_a().
5211         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
5212         linear array rather than a hash table. it actually speeded up testgtk
5213         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
5214         pointers across invokations of gtk_type_node_next_and_invalidate() and
5215         therefore gtk_type_unique()!
5216
5217         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
5218         inheritance of a class pointer.
5219         (GTK_OBJECT): modifications for speedups.
5220         (GTK_IS_OBJECT): likewise.
5221         (GTK_OBJECT_CLASS): likewise.
5222         (suggested by owen).
5223
5224         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
5225
5226         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
5227
5228         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
5229         since its derivation changed 4 month ago ;(. showed up with the unique
5230         type name checking code in gtk_type_unique().
5231
5232         * random guint->GtkType and macro fixups.
5233
5234 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
5235
5236         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
5237         Configure events that would result in a negative
5238         size.
5239
5240 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
5241
5242         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
5243         "glibconfig.h" and another about writing another IRC
5244         client.
5245
5246 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
5247
5248         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
5249         parameters to log are doubles. Digital Unix apparently
5250         is missing the argument in its prototype.
5251
5252 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
5253
5254         * gtk/gtklabel.c (gtk_label_state_changed): Don't
5255         force a clear until the widget is actually on
5256         screen.
5257
5258 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
5259
5260         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
5261         to make this consistent with the gtk-1-0 tree.
5262
5263 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
5264
5265         * configure.in acheader.h gdk/gdkwindow.c 
5266         Check for Shape extension both on the client and server
5267         side. (And, more importantly, check for the shape extension
5268         so we may include -lXext even when compiling with --disable-xshm)
5269
5270         Don't set override_redirect on all shaped windows. It isn't
5271         necessary.
5272
5273         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
5274         and foreign windows. Use this to check if we
5275         need to get the colormap from X.
5276
5277 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
5278
5279         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
5280         between the default and the button always in GTK_STATE_NORMAL.
5281
5282         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
5283         callback.
5284
5285 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
5286
5287         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
5288           Fix a buffer overflow on pixmaps that claim to have
5289           more than 31 characters per pixel.
5290
5291           (gdk_pixmap_read_string): Don't wrap around strings longer
5292           than half of address space ;-)
5293
5294         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
5295         that were used for printing integers.
5296
5297         * */* (almost):
5298
5299         Style: All 
5300           int foo () { ... }
5301         changed to
5302           int foo (void) { ... }
5303
5304         Even where there were proper prototypes elsewhere.
5305
5306         * gdk/gxid.c (handle_claim_device): Some extra checks.
5307         It isn't safe against being fed bad X id's, but at
5308         least it should be safe against deleting all your
5309         files.
5310
5311 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
5312
5313         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
5314         to set the adjustments value when there is no current emission.
5315         [ Removed by mutual agreement owt 5/3/1998 ]
5316
5317         * gtk/gtksignal.c: added new functions to retrive the number of
5318         existing emissions for a certain signal.
5319         (gtk_signal_n_emissions): new function.
5320         (gtk_signal_n_emissions_by_name): new function.
5321
5322 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
5323
5324         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
5325         set the current focus_child of a container, does proper referencing and
5326         adjusts the vadjustment/hadjustment associated with the focus widget.
5327
5328         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
5329         containers via gtk_container_set_focus_child.
5330
5331         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
5332         where appropriate.
5333
5334         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
5335         child since not every child removal goes through this function (this
5336         showed up after gtk_container_set_focus_child() started to reference the
5337         focus_child of a container).
5338
5339         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
5340         of a container from gtk_container_remove into this place.
5341
5342 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
5343
5344         * gtk/gtksignal.c: added new functions to operate on intermediate
5345         function pointers. implemented incremental blocking.
5346         (gtk_signal_disconnect_by_func): new function.
5347         (gtk_signal_handler_block_by_func): new function.
5348         (gtk_signal_handler_unblock_by_func): new function
5349
5350 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
5351
5352         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
5353         Always show the scrollbars when the policy is
5354         GTK_POLICY_ALWAYS...
5355
5356 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
5357
5358         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
5359         "value_changed" if we really passed a new value.
5360         (gtk_adjustment_changed): new function to emit the "changed" signal.
5361         (gtk_adjustment_set_value): new function to emit the "value_changed"
5362         signal.
5363
5364 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
5365
5366         * gtk/gtkcombo.c: Further changes to the way the window
5367         is popped up so that it will be compatible with 
5368         auto-scrolling in the future.
5369
5370 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
5371
5372         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
5373         the combo-list is empty since that will cause the combo to operate
5374         on a non existing GtkList window.
5375         (gtk_combo_get_pos): provide the combo list with a usfull default
5376         height if empty.
5377         (gtk_combo_popup_button_press): grab the focus.
5378         (gtk_combo_activate): grab the focus.
5379
5380 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
5381
5382         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
5383         function to reset the RC styles for a heirarchy
5384
5385         Clear the window background if necessary in
5386         gtk_window_style_set.
5387
5388         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
5389         rereads all previously read RC files.
5390
5391         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
5392         (Should it just be called gdk_get_toplevels?)
5393
5394         * gtk/testgtk.c: New test to reload RC files.
5395
5396 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
5397
5398         * gtk/gtkclist.h:
5399         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
5400         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
5401         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
5402         the GTK_ prefix (this solution involved less changes in the
5403         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
5404         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
5405         from lars & stefan to support the derivation of GtkCtree.
5406
5407         * gtkctree.h:
5408         * gtkctree.c:
5409         initial import of a tree widget derived from gtkclist, courtesy
5410         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
5411         it just damn rocks!
5412
5413 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
5414
5415         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
5416         for us.
5417         (gtk_list_insert_items):
5418         (gtk_list_remove_items_internal): 
5419         (gtk_list_clear_items): 
5420         remove a possible pointer grab, we might get thrown into a loop
5421         otherwise.
5422         (gtk_list_button_press): grab the pointer *before* selecting the child,
5423         because selection of items may cause the lists children to change,
5424         resulting in a grab release.
5425         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
5426         children.
5427         (gtk_list_shutdown): remove all children from the list.
5428         (gtk_real_list_unselect_child): 
5429         (gtk_real_list_select_child): *always* put our internal structures into
5430         sane state *before* signal emisions (i.e. list->selection updates prior
5431         to gtk_list_item_[de]select() calls).
5432
5433         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
5434         focused child walks out of the window.
5435         removed CAN_FOCUS for the combo arrow's button since it doesn't react
5436         to keyboard events ("clicked" connection is missing).
5437
5438 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
5439
5440         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
5441         getting colormap for FOREIGN windows to go along with
5442         Raster's fix for visuals.
5443
5444 Merges from gtk-1-0
5445 ===================
5446         
5447 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
5448
5449         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
5450         Check to catch the case when the viewport fits in either
5451         direction or both, instead of flip-flopping infinitely.
5452
5453         Only show/hide the scrollbars once at the end.
5454
5455 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
5456
5457         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
5458         Include the scrollbars in the foreach call.
5459         (gtk-fortier-980405-0.patch; 
5460          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
5461
5462         The notebook widget
5463         really should also include its tabs, but that might cause
5464         problems for programs if they
5465
5466 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
5467
5468         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
5469         resize if the size actually changed. 
5470         (gtk-johannes-980414-0.patch ;  
5471          johannes@nada.kth.se (Johannes Keukelaar) )
5472
5473 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
5474
5475         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
5476           ltmain.sh ltconfig config.sub config.guess:
5477
5478         Reverted back to libtool-1.2 (plus minor patches) so as not to
5479         force the issue for everyone else.
5480
5481 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
5482
5483         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
5484         Updated to libtool 1.2a.
5485
5486         * gtk/gtkclist.c: Draw the in-between lines with style->base
5487         instead of style->white.
5488         
5489 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
5490
5491         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
5492         Cache the colormap and children of a window locally
5493         instead of fetching them from the server when needed.
5494         Huge performance difference for creating/destroying
5495         windows.
5496
5497         * gtk/gtkstyle.c: Find the depth from the cached
5498         visual, instead of asking the server.
5499
5500         * gtk.m4: Distribute the new version which tries to
5501         figure out what went wrong and give helpful error
5502         messages.
5503
5504         * ltmain.sh ltconfig config.sub config.sh: 
5505         Updated to libtool 1.2a
5506
5507         * gtk/gtktext.c: Fixed a bug where the drawn level
5508         was being messed up when the text was scrolled
5509         during a deletion.
5510         
5511 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
5512
5513         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
5514         the filesystem under you (fix from Josh)
5515
5516 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
5517
5518         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
5519         if the viewport already exists before iterating over it, maybe we
5520         haven't been constructed yet.
5521
5522 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
5523
5524         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
5525         the GtkBin widget already has a child.
5526
5527         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
5528         check that child->parent == NULL;
5529
5530 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
5531
5532         * gtk/gtkselection.c (gtk_selection_clear): Only return
5533         FALSE when the clear event is been rejected, not when
5534         widget has already lost the selection. (Which should
5535         only happen when we are setting the selection to another
5536         widget ourself.)
5537         
5538 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
5539
5540         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
5541
5542         Removed the "check visibility after gtk_widget_unparent" bug 
5543         in hopefully the last three places.
5544
5545 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
5546
5547         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
5548         rc-files.
5549
5550 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
5551
5552         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
5553         for CAN_FOCUS widgets.
5554
5555         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
5556         adjustments for the table.
5557         (create_list): feature automatic adjustment of the scrolled window to
5558         always contain the focused child.
5559         (create_main_window): keep the focussed button always inside of the
5560         scrolled windoww.
5561
5562         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
5563         adjustments, to contain the allocation of the currently focused child.
5564         (gtk_container_set_focus_hadjustment): new functin to set the
5565         horizontal focus adjustment.
5566         (gtk_container_set_focus_vadjustment): new functin to set the vertical
5567         focus adjustment.
5568
5569         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
5570         clamp the currents adjustment page into a specific range.
5571
5572         * random GtkType fixups for gtk_*_get_type() functions.
5573
5574 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
5575
5576         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
5577         Account for the fact that gtk_tree_item_remove_subtree
5578         will be called recursively. 
5579
5580         Handle removing a collapsed subtree.
5581
5582         (From Andy Dustman <adustman@comstar.net>)
5583         
5584         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
5585         root tree when removing items from a non-previously
5586         mapped tree.
5587
5588         * gtk/testgtk.c: Added a remove_subtree button.
5589         
5590 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
5591
5592         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
5593         before object removing data. This change fixes a bug where 
5594         removing the last weak references would cause it to be 
5595         triggered.
5596
5597 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
5598
5599         * gdk/Makefile.am: Removed mostly useless dependency that
5600         was causing problems for SGI's make, when used with
5601         the 'make dist' form of GTK+. (Dependency caused dependencies
5602         to be redone when BUILT_SOURCES changed)
5603
5604 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
5605
5606         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
5607         like a menu.
5608         
5609         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
5610         to gtkitem.c so dragging can also work in lists.
5611
5612         * gtk/gtklist.[ch]: Track child enter events and use
5613         those to allow dragging the selection. 
5614
5615 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
5616
5617         * gtk/gtktext.c: Try enabling background pixmaps for editable text
5618         widgets.  There is a bit of flashing, but not too bad. If you
5619         don't want the flashing, you can always not set a background
5620         pixmap.
5621
5622 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
5623
5624         * gtk/gtktext.c: Fixed a bug where the drawn level
5625         was being messed up when the text was scrolled
5626         during a deletion.
5627         
5628 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5629
5630         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
5631         bug:  There is no need to set the ExposureMask in the XGrabPointer
5632         (this caused DnD programs to crash).
5633
5634 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
5635
5636         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
5637         field to be of type guint.
5638         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
5639         ref_count>0;
5640         (gtk_accelerator_table_install): keep a per object list of accelerator
5641         tables that refer to this object.
5642         (gtk_accelerator_table_remove): remove the accelerator table from the
5643         per object list.
5644         (gtk_accelerator_table_clean): warn if there are any object references
5645         left in an accelerator table upon destruction.
5646         (gtk_accelerator_tables_delete): new function to delete object
5647         references from the accelerator tables associated with this object.
5648
5649         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
5650         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
5651         of an accelerator can be prevented by gtk_signal_emit_stop().
5652         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
5653         so there are no stale pointers in accelerator tables left.
5654
5655 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5656
5657         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
5658         visible before we unparent it.
5659
5660 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
5661
5662         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
5663         running_timeouts list with the tmp_list link itself, not with a new
5664         GList structure pointing to our link. that would fill up memory and
5665         causes the GList.data fields of the running_timeouts list to point to
5666         GList structures and not GtkTimeoutFunction structures which is a
5667         *really* bad thing.
5668         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
5669         the above entry ;).
5670
5671 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
5672
5673         * gtk/gtkradiomenuitem.h: 
5674         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
5675         ala gtk_radio_button_set_group.
5676         (gtk_radio_menu_item_init): assure that we always have at least a group
5677         that points to self.
5678
5679         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
5680         added g_return_if_fail() statements.
5681         (gtk_radio_button_init): assure that we always have at least a group
5682         that points to self.
5683
5684 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
5685
5686         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
5687
5688 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
5689
5690         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
5691         (Damon Chaplin), which i got wrong when applying Damon's patch the last
5692         time.
5693
5694 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
5695
5696         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
5697         that when we are running with a non-installed colormap,
5698         in 8-bit pseudo-color, we actually are using the system
5699         visual. (Fixes *Bad Match* errors on Digital Unix machines
5700         with multiple 8-bit pseudo-color visuals)
5701
5702 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5703
5704         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
5705         by whoever thought that randomly changing ints to unsigned int
5706         without reviewing the code was a good idea.  It is, btw not
5707         mentioned in the ChangeLog as usual, but I know it was not Elliot
5708         the culprit this time. 
5709
5710 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
5711
5712         * Released GTK+ 1.0.0