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