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