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