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