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