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