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