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