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