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