]> Pileus Git - ~andy/gtk/blob - ChangeLog
#include fixes (reported by Asbjoern Pettersen).
[~andy/gtk] / ChangeLog
1 Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>
2
3         * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
4         Pettersen).
5
6 Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
7
8         * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
9           added all logical operations to gc->function.
10
11 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
12
13         * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
14         gtk_widget_size_allocate instead of gtk_widget_queue_resize
15         if the visibility state of a scrollbar changes.
16
17 Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>
18
19         * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
20
21 Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>
22
23         * gtk/gtkclist.c: Renamed my_merge and my_mergesort to
24         gtk_clist_merge and gtk_clist_mergesort. :)
25
26 1998-08-06  Martin Baulig  <martin@home-of-linux.org>
27
28         * gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
29         `mergesort' -> `my_mergesort'.
30
31 Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>
32
33         * gtk/gtkenums.h: new enum GtkSortType.
34         
35         * gtk/gtkclist.h:
36         * gtk/gtkclist.c:
37         Added sorting capabilities to GtkCList. New APIs :
38         gtk_clist_set_compare_func, gtk_clist_set_sort_column,
39         gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort. 
40         New internal functions : default_compare, merge, mergesort.
41
42         (gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
43         
44         (gtk_clist_insert): Modified to handle gtk_clist_append and the
45         auto sort flag. Changed the return value from void to gint to
46         return the row number where the element was actually inserted.
47
48         (gtk_clist_swap_rows): Return immediately if auto sort flag is set.
49         
50         * gtk/gtkctree.h:
51         * gtk/gtkctree.c:
52         Removed the auto_sort flag, replaced ctree->node_compare with
53         clist->compare all over the place, modified default_compare to
54         match clist's needs. Removed APIĀ“s : gtk_ctree_set_auto_sort,
55         gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
56
57         * gtk/testgtk.c: Modified clist/ctree samples to demonstrate
58         sorting. The lists can be sorted by a column by clicking the 
59         corresponding title button.
60         
61 Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
62
63         * Released GTK+ 1.1.1
64
65 Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>
66
67         * gtk/gtkctree.h:
68         * gtk/gtkctree.c:
69         (gtk_ctree_find): changed to return a gboolean
70         (gtk_ctree_insert_gnode): new function for recursive insertion of a
71         GNode tree.
72         (gtk_ctree_real_select_recursive): fix for extended selection
73         (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
74         (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
75
76 Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>
77
78         * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
79         GLib version 1.1.1 is now required at minimum.
80
81         * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
82         of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
83
84 Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>
85  
86         * gtk/gtktext.c (gtk_text_forward_delete): Undraw the
87           cursor before (possibly) deleting the cursor's text
88           property.
89  
90         * gtk/gtktext.c (correct_cache_delete): More attempts
91           to clean the line-start cache up after inserting
92           a property. Among other things, make sure to
93           fix up text->current_line, since it is used to 
94           refetch the changed lines.
95  
96 Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>
97
98         * gtk/gtktable.[ch]: Empty rows/columns of the table
99         should not have been marked as being able to shrink.
100         (Fixes problem with shrinking scrollbarless GIMP canvases)
101
102 1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
103
104         * gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
105         function to find a row by its data pointer using a custom
106         comparison function.
107
108 Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>
109
110         * gtk/gtkclist.c: draw the buttons during a "draw" as well,
111           this fixes a bug when the whole widget is made non-sesitive
112           the buttons weren't redrawn
113
114 Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>
115
116         * gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
117         * gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
118         * gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
119
120 Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>
121
122         * gdk/gdkwindow.c (gdk_window_reparent): Change 
123           window_private->parent pointer when reparenting.
124
125 Sat Aug  1 22:17:00 1998  Raph Levien  <raph@acm.org>
126
127         * gdk/gdkrgb.c: made some minor config changes to unify GdkRgb
128         with the standalone release.
129
130 Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
131
132         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
133         (gtk_clist_button_release) (new_column_width): Few fixes for
134         column resize. Store resize column in clist->drag_pos.
135
136 Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
137
138         * gtk/gtkctree.h 
139         * gtk/gtkctree.c 
140         * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
141         to GtkCTreeNode *node.
142
143         * gtk/gtklist.h : added extended selection mode and auto scrolling.
144         (struct _GtkList): removed unneeded variables timer, button,
145         selection_start_pos, selection_end_pos, scroll_direction, have_grab.
146         Added new variables undo_selection, undo_unselection, last_focus_child,
147         undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
148         drag_selection, add_mode.
149  
150         New functions :
151         (gtk_list_extend_selection), (gtk_list_start_selection),
152         (gtk_list_end_selection), (gtk_list_select_all),
153         (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
154         (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
155         (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
156         (gtk_list_undo_selection), (gtk_list_end_drag_selection)
157         
158         * gtk/gtklist.c : 
159         (gtk_list_enter_notify): removed, because auto scrolling now works
160         with gtk_list_motion_notify
161  
162         New functions, needed for auto scrolling :
163         (gtk_list_motion_notify) (gtk_list_move_focus_child)
164  
165         New functions for extended selection support :
166         (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
167         (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
168         (gtk_list_focus_lost)
169         
170         (gtk_list_set_focus_child): modified gtk_container_set_focus_child
171         function to support auto scrolling, and avoid out-of-sync errors in
172         case auf GTK_SELECTION_BROWSE
173         (gtk_list_focus): modified gtk_container_focus function to avoid out
174         off sync errors in case auf GTK_SELECTION_EXTENDED
175
176         * gtk/gtklistitem.h 
177         * gtk/gtklistitem.c :
178         New signal functions for key binding support :
179         (toggle_focus_row), (select_all), (list_item), (unselect_all)
180         (list_item), (undo_selection), (start_selection), (end_selection)
181         (extend_selection), (scroll_horizontal), (scroll_vertical),
182         (toggle_add_mode)
183         (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
184         GDK_KEY_RELEASE_MASK
185         (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
186  
187         * gtk/gtkcombo.c :
188         (gtk_combo_popup_button_press):  grab pointer for combo->list
189         (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
190         (gtk_combo_list_key_press): take care of which child HAS_GRAB
191         (gtk_comb_init): don't connect combo->button with button_release_event
192
193 Thu Jul 30 12:39:36 1998  Lars Hamann  <lars@gtk.org>
194
195         * gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
196
197 Wed Jul 29 23:31:50 1998  Lars Hamann  <lars@gtk.org>
198
199         * gtk/gtkclist.c (gtk_clist_motion): column resize now works with
200         horizontal autoscrolling, GtkCTree's 'reorder ability' now works
201         with horizontal and vertical autoscrolling.
202
203 Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
204
205         * gtk/docs/man: new directory
206         * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
207
208 Tue Jul 28 00:03:20 1998  Lars Hamann  <lars@gtk.org>
209
210         * gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
211         bug
212
213 Mon Jul 27 09:18:13 BST 1998  Tony Gale  <gale@gtk.org>
214
215         * docs/gtk_tut.sgml: GtkTree section from
216           David Huggins-Daines <bn711@freenet.carleton.ca>,
217           add a GtkText widget example
218         * examples/text/* example/tree/* : new examples for the
219           GtkTree and GtkText widgets
220         * docs/gtk_tut.sgml: added an appendix to hold complete code
221           examples that aren't in a full form elsewhere in the
222           tutorial (e.g. scribble)
223
224 Mon Jul 27 00:46:21 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
225
226         * Released GTK+ 1.1.0
227
228 Mon Jul 27 04:18:26 1998  Tim Janik  <timj@gtk.org>
229
230         * gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
231         the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
232
233 Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
234
235         * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
236         values are looked up.
237
238         * gtk/gtktypeutils.h:
239         * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
240         gtk_type_enums_find_value to lookup enum values.
241
242         * gtk/gtkctree.h: 
243         * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
244         GtkCTreeExpansionType. fixed signal creations to pass the enum
245         types not just the base type GTK_TYPE_ENUM.
246
247         * gtk/gtkclist.h: 
248         * gtk/gtkclist.c: fixed signal creations to pass the real enum
249         types not just the base type GTK_TYPE_ENUM.
250
251 Sun Jul 26 14:50:07 1998  Stefan Jeske  <stefan@gtk.org>
252
253         * gtk/testgtk.c : 
254         Began cleanup, e.g. use gtk_widget_show_all instead of many 
255         gtk_widget_show's. Completely rewrote the button box sample
256         (only one window now). Removed "miscellaneous" button.
257
258 Sun Jul 26 14:48:14 1998  Stefan Jeske  <stefan@gtk.org>
259
260         * gtk/gtkvbbox.c (gtk_vbutton_box_size_allocate): 
261         Fixed wrong allocation for GTK_BUTTONBOX_END.
262         (allocation->x  =>  allocation->y)
263
264 Sun Jul 26 14:06:37 1998  Lars Hamann  <lars@gtk.org>
265
266         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release)
267         (abort_column_resize) (gtk_clist_key_press): fix for pointer grab
268         
269         * gtk/gtkctree.c (real_tree_select): added check to avoid double
270         selected rows
271         (gtk_ctree_button_press)
272         (gtk_ctree_button_release): fix for pointer grab
273
274 Sat Jul 25 13:16:00 1998 Damon Chaplin  <DAChaplin@msn.com>
275
276         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): 
277         Fixed initialization problem - dirty memory could cause problems.
278         Also checked that bitmapped fonts can be scaled when showing the
279         available sizes.
280
281 Sat Jul 25 02:25:03 1998  Lars Hamann  <lars@gtk.org>
282
283         * gtk/gtkctree.c (gtk_ctree_sort_recursive)
284         (gtk_ctree_sort_recursive): test for node != NULL
285         (gtk_ctree_is_visible) (gtk_ctree_realize) (gtk_ctree_unrealize)
286         (gtk_ctree_last) : added sanity checks
287         * gtk/gtkclist.c (gtk_clist_button_press): removed "no_focus_row"
288
289 Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
290
291         * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
292
293 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
294
295         * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
296
297 Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>
298
299         * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
300         to check out binding priorities. someone should really write
301         gtkrc-mode for emacs.
302
303         * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
304         * gtk/testgtk.c (main): and move it here ;). this test says something
305         on release of C-9. (this works only if the mouse pointer is on a
306         spinbutton and there is no focus widget).
307
308         * gtk/gtkrc.h:
309         * gtk/gtkrc.c:
310         export gtk_rc_parse_color, gtk_rc_parse_state and a new function
311         gtk_rc_parse_priority to parse path priority types.
312         export rc tokens.
313         feature binding parsing.
314
315 Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>
316
317         * gtk/gtkbindings.h: 
318         * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
319         feature binding parsing in rc files.
320         * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
321         * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
322         order the bindings with lowest priority first.
323
324 Wed Jul 22 15:21:08 PDT 1998 Manish Singh <yosh@gimp.org>
325
326         * gdk/gdkrgb.c: actually builds and runs properly on big
327         endian machines now, because we #include config.h. Also
328         fixed up a compile error in the WORDS_BIGENDIAN case in
329         gdk_rgb_convert_565_gray. I made the fix by looking at
330         patterns in the other code; Raph can you verify this?
331
332         * gdk/gdkthreads.c: #include <unistd.h> to quell compiler
333         warnings
334
335 Wed Jul 22 23:00:44 1998  Lars Hamann  <lars@gtk.org>
336
337         * gtk/gtkctree.c (tree_select/unselect) (tree_expand/collapse) 
338         (tree_toggle_expansion) (real_select/unselect_row)
339         (gtk_ctree_select/unselect) : few fixes for gtk_signal_emits
340
341 Wed Jul 15 17:44:47 1998  Owen Taylor  <otaylor@redhat.com>
342
343         * gtk/gtktext.c (new_text_property): We free things from
344         the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
345
346         * Fix up line start cache when splitting a property
347         during an insert.
348
349 1998-07-20  Raph Levien  <raph@acm.org>
350
351         * gdk/gdkrgb.c: More cleanups in the config process.
352
353 1998-07-20  Raph Levien  <raph@acm.org>
354
355         * gdkrgb.c: Fixed minor config bug preventing big-endian
356         architectures from working.
357
358 Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>
359
360         * gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
361         activity indicator. It is settable now as a fraction of the
362         total width/height using gtk_progress_bar_set_activity_blocks.
363         Renamed gtk_progress_bar_set_number_of_blocks to
364         gtk_progress_bar_set_discrete_blocks.
365
366 Mon Jul 20 21:28:18 1998  Lars Hamann  <lars@gtk.org>
367
368         * gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
369         (gtk_ctree_pre_recursive_to_depth): new functions, recursive process
370         tree to specified depth
371         (gtk_ctree_expand_to_depth): expand tree to specified depth
372         (gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
373
374 Sun Jul 19 23:51:05 1998  Lars Hamann  <lars@gtk.org>
375
376         * gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
377         of GTK_CLIST_ADD_MOD
378         * gtk/testgtk.c (add1000_clist): changed pixmap
379
380 Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>
381
382         * gtk/gtkmain.h: 
383         * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
384
385         * gtk/gtktypeutils.h:
386         * gtk/gtkitemfactory.h: remove "void" from prototypes again.
387
388 Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>
389
390         * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
391         CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
392         (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
393         CHILD_ARG_POSITION
394         (gtk_notebook_reorder_child): new funktion to change position of a
395         notebook page
396         (gtk_notebook_draw_arrow): draw left/right arrow with
397         GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
398
399         * gtk/gtkstyle.c (gtk_default_draw_arrow):
400         added GTK_SHADOW_ETCHED_IN/OUT
401
402 Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>
403
404         * gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
405           gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
406         Introduced generic GtkProgress widget. Derived GtkProgressBar from
407         GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
408
409 Fri Jul 17 23:49:28 PDT 1998 Manish Singh <yosh@gimp.org>
410
411         * gtk/gtktypeutils.h
412         * gtk/gtkitemfactory.h: explicitly specify void in prototype
413
414 Fri Jul 17 17:54:02 1998  Lars Hamann  <lars@gtk.org>
415
416         * gtk/gtkclist.c (scroll_vertical): fix to avoid flicker at begin/end
417         of list
418
419 Fri Jul 17 05:30:47 1998  Tim Janik  <timj@gtk.org>
420
421         * gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
422         sropped the approach of copying all signal specific data into a
423         GtkHandlerInfo structure. we rather keep the signal data on the stack
424         in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
425         avoids multiple lookups of the signal pointer and works savely together
426         with destroy notifiers of handlers.
427
428         * gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
429         someone destroys the entry on the ::activate signal.
430
431 Fri Jul 17 01:21:32 1998  Tim Janik  <timj@gtk.org>
432
433         * gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
434         instead of ypad (typo).
435         (gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
436         border around the allocation).
437         (gtk_arrow_init): the static requisition needs to be setup in this
438         function rather than gtk_widget_new(), so arrow creation works without
439         the gtk_arrow_new() constructing.
440         (gtk_arrow_expose): return TRUE, since we actually handled the expose.
441
442         * gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
443         implementation for GtkWidget::size_request, so size requisition for
444         simple statically sized widgets like GtkArrow works.
445
446 Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
447
448         * gtk-config.in: minor changes to gtk-config: --cflags doesn't
449         prepend -I@libdir@/glib/include anymore, since glib-config handles
450         it; --libs strips out redundant -L<path>'s properly (there was
451         code in there to do it before, but it didn't work)
452
453 Thu Jul 16 18:24:41 1998  Tim Janik  <timj@gtk.org>
454
455         * gtk/gtknotebook.h: 
456         * gtk/gtknotebook.c: signdness corrections all ove the place.
457         implementation of object arguments: GtkNotebook::enable_popup,
458         GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
459         GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
460         begun implementation of child args, we have GtkNotebook::tab_label, but
461         GtkNotebook::menu_label and GtkNotebook::position still lack the
462         implementation.
463         (gtk_notebook_remove_page):
464         (gtk_notebook_current_page): allow negative indices (-1) as alias for
465         the last page.
466
467         * gtk/gtkentry.h:
468         * gtk/gtkentry.c: GtkType and macro fixups. implementation of object
469         arguments GtkEntry::max_length and GtkEntry::visibility.
470         (gtk_entry_adjust_scroll): queue a redraw.
471
472         * gtk/gtkeditable.h:
473         * gtk/gtkeditable.c: GtkType und macro fixups. implementation of
474         object arguments GtkEditable::text_position and GtkEditable::editable.
475         new (action) signal GtkEditable::set_editable.
476         provide a default handler for GtkEditable::changed that queues a redraw.
477
478         * gtk/gtktext.h: 
479         * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
480         set_editable.
481
482 Thu Jul 16 14:42:11 1998  Lars Hamann  <lars@gtk.org>
483
484         * gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
485         case of drag_target == NULL
486         * gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
487         Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
488         * gtk/gtkfilesel.c (gtk_file_selection_file_button,
489         gtk_dir_selection_file_button): fix due to changes in clist's
490         select_row signal.
491
492 Thu Jul 16 01:27:15 1998  Tim Janik  <timj@gtk.org>
493
494         * gtk/gtkwidget.h:
495         * gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
496         similar to gtk_widget_set_uposition(). that is: -1=unspecified,
497         -2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
498         to be gint16s rather than guint16s, since that's what the code expected
499         (for a long time actually).
500
501         * gtk/gtkviewport.c:
502         added support for object arguments: GtkViewport::shadow_type,
503         GtkViewport::vadjustment and GtkViewport::hadjustment.
504         (gtk_viewport_add): chain gtk_bin_add.
505
506         * gtk/gtkscrolledwindow.c: 
507         added support for object argument: GtkScrolledWindow::hscrollbar_policy,
508         GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
509
510         * gtk/gtkadjustment.h: 
511         * gtk/gtkadjustment.c: 
512         * gtk/gtkctree.h: 
513         * gtk/gtkclist.h: 
514         * gtk/gtkctree.c: 
515         * gtk/gtkclist.c:
516         * gtk/gtkscrolledwindow.h:
517         * gtk/gtkscrolledwindow.c:
518         * gtk/gtkviewport.h:
519         * gtk/gtkviewport.c:
520         GtkType and macro fixups.
521
522 Thu Jul 16 01:10:02 1998  Lars Hamann  <lars@gtk.org>
523
524         * gtk/gtkctree.h :
525         * gtk/gtkctree.c :
526         Added focus handling, horizontal and vertical autoscrolling,
527         extended Selection Mode, key bindings
528         Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
529         Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
530         Removed gtk_ctree_clear.
531         
532         * gtk/gtkclist.h :
533         * gtk/gtkclist.c : 
534         Added focus handling, horizontal and vertical autoscrolling,
535         extended Selection Mode, key bindings
536
537 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
538
539         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
540         source tree. For more information on GdkRgb, please see:
541         http://www.levien.com/gdkrgb/
542
543         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
544         bothers me slightly that the feature is in gdk, and this file is
545         in gtk, but it's probably ok.
546
547         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
548
549         * gdk/gdkrgb.c:
550         * gdk/gdkrgb.h: Added this module.
551
552         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
553
554         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
555
556 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
557
558         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
559         to this function. it needs to relookup the signal multiple times.
560         this fixes spurious segfaults that could show up with signal intensive
561         code, when classes are created during a pending emission (which is
562         normal case).
563
564 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
565
566         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
567         child if it isn't a label.
568
569 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
570
571         * gtk/gtkdialog.h: 
572         * gtk/gtkseparator.h: 
573         * gtk/gtkhseparator.h: 
574         * gtk/gtkvseparator.h: macro and GtkType fixups.
575
576 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
577
578         * gtk/testgtk.c (create_cursors): display the current cursor name.
579
580         * gtk/gtktypeutils.h: 
581         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
582         the fundamental type definition. the GtkArg union now only covers
583         the required storage types for argument values. adapted the GTK_VALUE_*
584         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
585
586         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
587         code, fixed int/float collection. fixed a bug in the sanity checking
588         code for GtkObjects.
589
590         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
591         argument collection code.
592
593         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
594         macros when distinguishing the return type.
595
596 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
597
598         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
599           is not NULL before trying to g_list_remove the child. A patch
600           from Michael Lausch.
601
602 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
603
604         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
605         collection (always casted to doubles upon argument passing).
606
607 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
608
609         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
610         object_init_func for derived objects with the object's ->klass field
611         still pointing to the corresponding base class, otherwise overridden
612         class functions could get called with partly-initialized objects.
613         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
614
615 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
616
617         * gtk/gtkobject.h:
618         * gtk/gtkobject.c:
619         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
620
621         * gtk/gtkcontainer.h:
622         * gtk/gtkcontainer.c:
623         (gtk_container_child_arg_get_info): new function which wraps
624         gtk_arg_get_info().
625
626 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
627
628         * gtk/gtkcontainer.c:
629         (gtk_container_arg_get): 
630         (gtk_container_arg_set): 
631         * gtk/gtkobject.c:
632         (gtk_object_arg_set): 
633         (gtk_object_arg_get):
634         strictly check for the associated get/set arg functions. if an
635         arg is readable or writable, the associated class functions *must*
636         be provided.
637
638 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
639
640         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
641         padding into account if there is an accelerator.
642
643 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
644
645         * gtk/gtkcontainer.c:
646         (gtk_container_add_with_args): collect the arguments with
647         gtk_container_child_args_collect, not through gtk_object_args_collect.
648         (gtk_container_child_set): likewise.
649
650 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
651
652         * gtk/gtktypeutils.h: 
653         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
654         which is derived from GTK_TYPE_STRING.
655
656         * gtk/gtkbindings.c: reworked the argument type handling.
657
658 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
659
660         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
661           so that it seems to allow normal operation in those modes,
662           although you will only see black  (GIMP toolbar now pops up,
663           just don't create a new image and GIMP now works in 4 bit.)
664
665 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
666
667         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
668           array, which was too low (?)
669
670 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
671
672         * gtk/gtkcontainer.h: 
673         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
674         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
675         we now export a new function gtk_container_child_args_collect().
676         for consistency with the object arguments, a few functions got renamed:
677         gtk_container_child_arg_get -> gtk_container_child_get,
678         gtk_container_child_arg_set -> gtk_container_child_set,
679         gtk_container_child_arg_getv -> gtk_container_child_getv,
680         gtk_container_child_arg_setv -> gtk_container_child_setv,
681         gtk_container_add_with_argv -> gtk_container_addv.
682         note, gtk_container_add_with_args() remained, because its equivalent
683         would be gtk_container_add(,, ...) which would break all existing code.
684         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
685         we expect the `arg_name' argument to be a const static string now.
686         (gtk_container_get_child_arg_type): function removed.
687
688 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
689
690         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
691         this is a static inline function that collects command line arguments
692         from a va_list. this file can just be included in all places that
693         need this functionality.
694
695         * gtk/gtkarg.h: 
696         * gtk/gtkarg.c: new files which implement most of the argument
697         handling stuff from gtkobject.c. also collected a few more
698         gtk_arg_* utility functions from else places.
699
700         * gtk/gtkobject.h: 
701         * gtk/gtkobject.c: moved most of the argument handling code into
702         gtkarg.c. we now export gtk_object_args_collect() as a non-public
703         method with a blind va_list pointer.
704         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
705         const static string now.
706         (gtk_object_get_arg_type): function got removed.
707
708         * gtk/gtkwidget.c: 
709         (gtk_widget_set): 
710         (gtk_widget_new): adaptions for gtk_object_args_collect().
711
712         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
713         fundamental type name so as to have a valid prefix, e.g. "bool"->
714         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
715         though that should probably be something like GtkNone since the
716         type itself is called GTK_TYPE_NONE.
717         even the internal type names need to avoid name clashes and must live
718         in their own namespace, several code portions rely on that.
719         we should relly have typedefs such as typedef gchar* GtkString; so the
720         fundamental type names can be used for code dumpers just like with all
721         the Gtk/Gdk types.
722
723 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
724
725         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
726         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
727         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
728         (GTK_RELIEF_HALF).
729         (gtk_button_paint): set the background for prelighted buttons with
730         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
731         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
732         the shadow type (otherwise we get strange shadows for coloured buttons).
733         (gtk_button_set_relief): queue a redraw after changing
734         the relief.
735         (gtk_button_class_init): 
736         (gtk_button_set_arg): 
737         (gtk_button_get_arg): added object argument "GtkButton::relief".
738
739         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
740
741 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
742
743         * gtk/gtkbutton.h:
744         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
745         GTK_BIN (button)->child to button->child to keep source compatibility.
746
747         * gtk/gtkoptionmenu.c:
748         * gtk/gtkclist.c:
749         * gtkcheckbutton.c: don't refer to button->child, but
750         GTK_BIN (button)->child instead.
751
752 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
753
754         * docs/gtkfaq.sgml: update anon CVS info
755
756 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
757
758         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
759         functions.
760
761         * gdk/gdkwindow.c:
762         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
763         to XFree() calls.
764
765 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
766
767         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
768         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
769
770 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
771
772         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
773
774 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
775
776         * gtk/gtkwidget.h:
777         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
778
779         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
780         error that prevented signal to entry addition for signals with
781         parameters.
782
783 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
784
785         * ltconfig: fix for properly detecting shared lib support on
786         SunPro cc (taken from libtool 1.2.a)
787
788 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
789
790         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
791
792 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
793
794         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
795         rc set pattern is favoured, this is needed for overriding of style
796         patterns with subsequently parsed rc files.
797
798 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
799
800         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
801         error messages.
802
803 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
804
805         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
806         modifier as well.
807         (gtk_accelerator_name): add "<Release>" to the accelerator name if
808         neccessary.
809
810         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
811         account.
812
813         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
814         default handler for key-release events, which checks for activation
815         of GDK_RELEASE_MASK key bindings.
816
817         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
818
819 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
820
821         * gtk/gtkarrow.h: GtkType and macro fixups.
822         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
823         "GtkArrow::shadow_type".
824
825 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
826
827         * gtk/gtkalignment.h:
828         * gtk/gtkbin.h: GtkType and macro fixups.
829         
830         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
831         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
832         GtkAlignment::xscale, GtkAlignment::yscale.
833
834 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
835
836         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
837         fucntions from all parent types upon class initialization.
838
839         * gtk/gtkcontainer.c:
840         (gtk_container_get_type): announce gtk_container_base_class_init to
841         the type system.
842         (gtk_container_base_class_init): new function to feature base class
843         initialization.
844         (gtk_container_get_child_arg): 
845         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
846         and set_child_arg methods of the class indicated through the argument
847         name.
848
849         * gtk/gtkobject.c:
850         (gtk_object_base_class_init): new function to feature base class
851         initialization.
852         (gtk_object_init_type): announce gtk_object_base_class_init to the type
853         system.
854         (gtk_object_class_init): setup the get_arg and set_arg pointers for
855         GtkObjectClass.
856         (gtk_object_setv): 
857         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
858         instead of bothering the type system with this.
859
860         * gtk/gtkaccellabel.c: 
861         * gtk/gtkbutton.c: 
862         * gtk/gtkradiobutton.c: 
863         * gtk/gtktable.c:
864         * gtk/gtktogglebutton.c: 
865         * gtk/gtktipsquery.c: 
866         * gtk/gtkbox.c: 
867         * gtk/gtkpacker.c: 
868         * gtk/gtkwidget.c: 
869         * gtk/gtkwindow.c: 
870         * gtk/gtkframe.c: 
871         * gtk/gtkmisc.c:
872         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
873         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
874         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
875         arg functions to take a GtkObject argument.
876
877         gtk/gtkadjustment.c:
878         gtk/gtkalignment.c:
879         gtk/gtkarrow.c:
880         gtk/gtkaspectframe.c:
881         gtk/gtkbbox.c:
882         gtk/gtkbin.c:
883         gtk/gtkcheckbutton.c:
884         gtk/gtkcheckmenuitem.c:
885         gtk/gtkclist.c:
886         gtk/gtkcolorsel.c:
887         gtk/gtkcombo.c:
888         gtk/gtkctree.c:
889         gtk/gtkcurve.c:
890         gtk/gtkdata.c:
891         gtk/gtkdialog.c:
892         gtk/gtkdrawingarea.c:
893         gtk/gtkeditable.c:
894         gtk/gtkentry.c:
895         gtk/gtkeventbox.c:
896         gtk/gtkfilesel.c:
897         gtk/gtkfixed.c:
898         gtk/gtkfontsel.c:
899         gtk/gtkgamma.c:
900         gtk/gtkhandlebox.c:
901         gtk/gtkhbbox.c:
902         gtk/gtkhbox.c:
903         gtk/gtkhpaned.c:
904         gtk/gtkhruler.c:
905         gtk/gtkhscale.c:
906         gtk/gtkhscrollbar.c:
907         gtk/gtkhseparator.c:
908         gtk/gtkimage.c:
909         gtk/gtkinputdialog.c:
910         gtk/gtkitem.c:
911         gtk/gtkitemfactory.c:
912         gtk/gtklist.c:
913         gtk/gtklistitem.c:
914         gtk/gtkmenu.c:
915         gtk/gtkmenubar.c:
916         gtk/gtkmenuitem.c:
917         gtk/gtkmenushell.c:
918         gtk/gtknotebook.c:
919         gtk/gtkoptionmenu.c:
920         gtk/gtkpaned.c:
921         gtk/gtkpixmap.c:
922         gtk/gtkpreview.c:
923         gtk/gtkprogressbar.c:
924         gtk/gtkradiomenuitem.c:
925         gtk/gtkrange.c:
926         gtk/gtkruler.c:
927         gtk/gtkscale.c:
928         gtk/gtkscrollbar.c:
929         gtk/gtkscrolledwindow.c:
930         gtk/gtkseparator.c:
931         gtk/gtkspinbutton.c:
932         gtk/gtkstatusbar.c:
933         gtk/gtktext.c:
934         gtk/gtktoolbar.c:
935         gtk/gtktooltips.c:
936         gtk/gtktree.c:
937         gtk/gtktreeitem.c:
938         gtk/gtkvbbox.c:
939         gtk/gtkvbox.c:
940         gtk/gtkviewport.c:
941         gtk/gtkvpaned.c:
942         gtk/gtkvruler.c:
943         gtk/gtkvscale.c:
944         gtk/gtkvscrollbar.c:
945         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
946         match the modified GtkTypeInfo structure.
947
948 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
949
950         * gtk/testgtk.c: use rand() instead of random() for portability
951
952 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
953
954         * configure.in
955         * acconfig.h
956         * gdk/gdk.c: use native Xlib XConvertCase if it's available
957
958 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
959
960         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
961         XConvertCase() functionality from X11R6 on X11R5 systems.
962
963 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
964
965         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
966         gdk_string_height, gdk_char_height to retrieve the exact
967         height of a text.
968
969 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
970
971         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
972           by Stefan Mars <mars@lysator.liu.se>
973         * examples/clist/clist.c examples/clist/Makefile: example code
974           for GtkCList widget from the Tutorial
975
976 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
977
978         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
979         if the container is not visible, we might be a toplevel! this holds
980         for all other base container implementations as well, that are
981         candidates to derive toplevels from. in general the resizing code will
982         care about visibility itself.
983         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
984         * gtk/gtkbox.c (gtk_box_remove): likewise.
985
986         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
987         gtk_window_set_hints(), since we haven't calculated the new position
988         yet.
989
990         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
991         *mask are alway initialized in a sane way, regardless of the return
992         value.
993
994 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
995
996         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
997         to gtk_container_child_arg_setv, but takes a variable argument list.
998         new function gtk_container_get_child_arg_type, which is needed by
999         gtk_object_collect_args.
1000
1001         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
1002         take a function pointer to figure the argument type.
1003         adapted callers to pass gtk_object_get_arg_type.
1004         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
1005         gtk_object_get_arg_type..
1006
1007         * gtk/gtkpacker.h: 
1008         * gtk/gtkpacker.c:
1009         (gtk_packer_reorder_child): new function to change the packing order
1010         of a child.
1011         (gtk_packer_size_request): 
1012         (gtk_packer_size_allocate): take container->border_width into acount.
1013
1014         * gtk/gtkpacker.c: implemented widget arguments:
1015         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
1016         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
1017         implemented child arguments:
1018         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
1019         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
1020         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
1021         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
1022
1023         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
1024         not the alignment.
1025
1026         * gtk/gtkeventbox.h:
1027         * gtk/gtkeventbox.c: GtkType and macro fixups.
1028
1029         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
1030         sensitivity of an entry.
1031
1032         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
1033         for insensitive base and text.
1034
1035         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
1036         widget state dependent.
1037         (gtk_entry_style_set): likewise.
1038         (gtk_entry_state_changed): set background color on state changes.
1039         (gtk_entry_draw_text): for non selected text, use state dependent
1040         colors.
1041
1042         * gtk/gtktogglebutton.c: support for widget arguments
1043         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
1044
1045 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
1046
1047         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
1048         code for 1.0.x-like parameters. Changed internal interface of
1049         gtk_spin_button_real_spin. Several fixes to avoid emission of
1050         "value_changed" where possible.
1051
1052 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
1053
1054         * gtk-boxed.defs: s/GkWidget/GtkWidget/
1055
1056 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
1057
1058         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
1059         to select the resize_mode for the idle-labels container.
1060
1061         * gtk/gtkframe.h: 
1062         * gtk/gtkframe.c: GtkType and macro corrections.
1063
1064         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
1065         support widget argument "GtkRadioButton::group".
1066
1067 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
1068
1069         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
1070         unconditionally if resize_mode has changed.
1071
1072         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
1073         GTK_RESIZE_QUEUE on the scrolled window.
1074         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
1075
1076 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
1077
1078         * gtk/gtkcontainer.h:
1079         * gtk/gtkcontainer.c:
1080         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
1081         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
1082         (gtk_container_queue_resize): new function to queue a container for
1083         a *size* reallocation (doesn't affect its position, and thus its
1084         parent is left untouched usually).
1085         (gtk_container_get_resize_container): new function to retrive the next
1086         most resize container which is not itself queued for a resize.
1087         (gtk_container_idle_sizer): new function to carefully process the
1088         container_resize_queue since it can change during invokation of
1089         gtk_container_check_resize().
1090         (gtk_container_resize_children): total rework of this function to
1091         properly handle resize containers. makes a lot of assumptions whitch
1092         are stated in the comments.
1093
1094         * gtk/gtkcontainer.c:
1095         (gtk_container_real_check_resize): only requeue ourselves if we are not
1096         a resize container.
1097         (gtk_container_clear_resize_widgets): care for automatic deletion of our
1098         resize_widgets list on size_allocate through a handler connection.
1099
1100         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
1101         focus and default widget of a window, so to take the burden from
1102         gtk_widget_unparent.
1103
1104         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
1105         to be clever, but actually messed up the resize_children logic and
1106         caused unneccessary allocations on its whole branch. besides this,
1107         it messed up the display by not invoking a redraw after the allocation.
1108
1109         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
1110         that it is the child again that is queued for a resize.
1111         (gtk_table_attach): likewise.
1112         (gtk_table_remove): likewise.
1113
1114 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1115
1116         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
1117         gtk_entry_adjust_scroll.  Required if you change the cursor
1118         position and want to sync it up with your code (Midnight Commander
1119         gtk front end needs this).
1120
1121         * gtk/gtktable.c: Deal with tables that have size 0, 0.
1122
1123 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
1124
1125         * examples/README.1ST: new file to explain how the
1126           code examples should be extracted from the tutorial.
1127
1128 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
1129
1130         * gtk/gtkctree.c (draw_row): added new "line style"
1131         GTK_CTREE_LINES_TABBED 
1132         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
1133         search the glist pointer of an GtkCTreeRow
1134
1135 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
1136  
1137         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
1138         from, and clean up, the dependencies.  Generate to intermediate
1139         files to prevent problems with Ctrl-C.
1140
1141         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
1142
1143 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
1144
1145         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
1146         - Bug fix for precision problem causing occasional double emission 
1147           of "value_changed" signal (hopefully works now).
1148         - API change (should be binary compatible) : 
1149           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
1150           Modified cursor example appropriately.
1151           To spin by something other than step_/page_increment, use
1152           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
1153         - Made GTK_SHADOW_NONE the default. ;)
1154         - Fixed casting of GtkAdjustment* to GtkWidget* in
1155           gtk_spin_button_value_changed.
1156
1157 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
1158
1159         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
1160         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
1161         resize widget list before queuing the container for a new reize.
1162         (gtk_container_need_resize): changed return value to FALSE, since this
1163         used to indicate that no further resizes are needed.
1164         (gtk_container_set_arg): 
1165         (gtk_container_get_arg): 
1166         (gtk_container_class_init): implemented GtkContainer::resize_mode
1167         argument.
1168
1169         (gtk_container_resize_children): when we walk up the tree of a resize
1170         widget we need to stop if we are the current parent.
1171
1172         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
1173         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
1174         (gtk_widget_hide_all): retrive the toplevel widget from via
1175         gtk_widget_get_resize_container().
1176
1177 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
1178
1179         * gtk/gtklist.c (gtk_list_button_press): Only respond
1180           to selection with button 1. This allows context-sensitive
1181           menus to work correctly.
1182
1183 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
1184
1185         * gtk/gtkaccelgroup.c: 
1186         * gtk/gtkbindings.c: 
1187         * gtk/gtkcontainer.c:
1188         * gtk/gtkitemfactory.c:
1189         * gtk/gtkobject.c: 
1190         * gtk/gtksignal.c:
1191         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
1192         g_quark_from_static_string calls to save memory.
1193
1194         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
1195         function _after_ the new data has been setup.
1196         minor changes to object data functions to feature the GQuark type.
1197
1198 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
1199
1200         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
1201           from argv.
1202
1203 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
1204
1205         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
1206           to be more readable perl, to spit out stuff that looks
1207           more like readable C, and to pipe output through indent
1208           so output looks a lot like readable C. No functional
1209           changes.
1210
1211 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
1212
1213         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
1214           necessary when switching to a masked pixmap. (Based on a patch
1215           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
1216
1217 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
1218
1219         * gtk/gtkeditable.[ch]: Added action signals for keyboard
1220           bindings. (move_cursor, kill_word, etc, etc, etc). 
1221
1222           removed the time argument from
1223           gtk_editable_cut/copy/paste_clipboard (source but not
1224           binary incompatible...) Instead get time from
1225           gtk_get_current_event ().
1226         
1227         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
1228           signals.
1229
1230 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
1231
1232         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
1233
1234         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
1235              parent class to GtkNotebookClass when splitting the widget in
1236              two.  Also updated some comments.
1237
1238         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
1239                button without a font selected.
1240
1241              Fixed bug in set_font_name - I hadn't updated the code to
1242                search for the style in the font_style clist - it was
1243                still assuming the style row was equal to its index,
1244                but it isn't any more.
1245         
1246              Changed 'Reset' button on filter page to 'Clear Filter'.
1247              Deleted old code relating to the old 'Filter Fonts' toggle
1248              Updated some comments.
1249              Cleared 'Actual Fontname' if no font is set.
1250
1251         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
1252              destroying the GtkFontSelection instead of the
1253              GtkFontSelectionDialog.
1254
1255 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
1256
1257         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
1258           flag to make all warnings fatal errors.
1259
1260         * gtk/testthreads.c: moved <pthreads.h> include inside 
1261           #ifdef USE_PTHREADS
1262
1263 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
1264
1265         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
1266           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
1267
1268         - Added new function gtk_container_set_resize_mode() for
1269           fine-grained control of where resize-queueing is done.
1270
1271         - Removed GtkContainer::need_resize and GtkWindow::move_resize
1272         - Added GtkContainer::check_resize to replace need_resize.
1273
1274         - Added function gtk_container_check_resize() to trigger
1275           queued resizes, and gtk_container_resize_children() to
1276           Figure which children need to be size-allocated. (logic
1277           moved from gtkwindow.c)
1278
1279         - Reorganized code in gtkwindow.c
1280         
1281         - Set the resize-mode for viewports so that resizes within
1282           a viewport don't propagate out of it. 
1283         
1284 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1285
1286         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
1287
1288         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
1289         g_return_val_if_fail, because the function *does* return a value.
1290
1291 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
1292
1293         * gtk/gtkaccellabel.h:
1294         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
1295         request the size of the accelerator portion of an accel label.
1296         (gtk_accel_label_size_request): don't request for the accelerators size.
1297         (gtk_accel_label_expose_event): only draw the accelerator if we got
1298         enough extra space.
1299
1300         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
1301         width from children.
1302
1303         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
1304         object (after removal has been requested) check if there is still an
1305         accelerator remaining to avoid adding two accelerators on an object.
1306         this can happen for locked accelerators (or accelerator-frozen widgets).
1307         (gtk_menu_size_request): feature childrens accelerator width in size
1308         requests.
1309
1310         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
1311         gtk_widget_freeze_accelerators() for dynamically created menu items.
1312
1313         * gtk/gtksignal.h: 
1314         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
1315         which will return a handler_id > 0 if the specified function is pending
1316         for `signal_id'.
1317
1318         * gtk/gtkwidget.h:
1319         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
1320         a signal handler function to stop accelerator addition.
1321         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
1322         which will prevent (undo) any accelerators from being added to or
1323         removed from a widget.
1324
1325 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
1326
1327         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
1328         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
1329         acceleration, new API gtk_spin_button_set_snap_to_ticks.
1330
1331 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
1332
1333         * gdk/gdk.h:
1334         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
1335         the current GdkWindow the pointer is on if there is any.
1336         
1337         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
1338         and one column, so we don't construction logic at all. changed a few
1339         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
1340         unsigned int wraps.
1341
1342         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
1343         portion, added an additional check for parent != widget.
1344
1345         * more GtkType and macro fixups.
1346
1347 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1348
1349         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
1350         "clip" parameter, which is the clipping rectangle to use.  This
1351         eliminates the extremely annoying flicker when exposing parts of
1352         the handlebox.
1353
1354 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
1355
1356         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
1357         resizing
1358
1359 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
1360
1361         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
1362         != 0 on the argument.
1363
1364         * gtk/gtktable.h: 
1365         * gtk/gtktable.c: new function gtk_table_resize() which allowes
1366         shrinking and expanding of tables. implementation of widget arguments
1367         and child arguments. many signedness corrections.
1368
1369 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
1370
1371         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
1372         not only the child, otherwise we might end up taking away other
1373         childrens space after the resize.
1374
1375         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
1376         an unknown menu path from any source, that path must always be flagged
1377         as "modified", since we don't really know whether it has its default
1378         value or not.
1379
1380         * gtk/gtktree.c:
1381         * gtk/gtkpacker.c:
1382         * gtk/gtknotebook.c:
1383         * gtk/gtkmenushell.c:
1384         * gtk/gtklist.c:
1385         * gtk/gtkpaned.c:
1386         * gtk/gtkfixed.c: 
1387         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
1388
1389         * gtk/gtkbox.h: 
1390         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
1391         arguments. implemented child arguments.
1392
1393         * more GtkType and macro fixups.
1394
1395 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
1396
1397         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
1398
1399         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
1400         and gtk_clist_get_hadjustment.
1401
1402         * gtk/gtkcontainer.c:
1403         implementation of children arguments, new class member functions
1404         (child_type), (get_child_arg) and (set_child_arg) plus a new field
1405         n_child_args.
1406         (gtk_container_child_type): new function which returns the type of a
1407         child that the container expects for its next addition.
1408         (gtk_container_add_child_arg_type): new function to introduce a new
1409         child argument at class creation time.
1410         (gtk_container_query_child_args): new function to query all child
1411         arguments that are supported by a container class.
1412         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
1413         child argument.
1414         (gtk_container_child_arg_setv): new function to set a child argument for
1415         a certain container and child combination.
1416         (gtk_container_add_with_args):
1417         (gtk_container_add_with_argv): new functions to feature addition of a
1418         new child in combination with the setting of certain child arguments.
1419
1420         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
1421         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
1422         this should really be done through class cretion hooks some day.
1423
1424         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
1425         guint : 16.
1426
1427         * gtk/gtkpacker.h:
1428         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
1429         follow the gtk convention for lower case variable names (important
1430         for language wrappers and widget arguments), and made them guint : 16.
1431
1432         * examples/packer/pack.c: adaptions for the case converted GtkPacker
1433         fields.
1434
1435 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
1436
1437         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
1438         change the character pair for single line comments.
1439         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
1440         GtkItemFactoryClass.
1441         (gtk_item_factory_parse_rc_string): likewise.
1442
1443 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
1444
1445         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
1446         lists from the klass structure to a static structure
1447         in gtkfontsel.c; cleans up global the namespace.
1448
1449 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
1450
1451         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
1452         bug with /*< skip >*/ and remove warning.
1453         
1454 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
1455
1456         * gtk/Makefile.am: Made the gtkmarshal.* generation
1457         rules maintainer-only.
1458
1459 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
1460
1461         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
1462           gtk/Makefile.am gtk/makenums.pl 
1463
1464         Removed out the G_ENUM/FLAGS mechanism in favor
1465         of a perl script that parses the standard headers
1466         (with occasional /*< nick=foo >*/ style overrides)
1467         and extracts the enumerations.
1468
1469           gtk/maketypes.awk: Small improvments to the
1470           translation of names. (Avoid splitting gc into
1471           g_c_.)
1472         
1473 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
1474
1475         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
1476         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
1477         
1478 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
1479
1480         * gtk/gtkentry.c:
1481         - Restored gtk_entry_adjust_scroll to static 
1482         - Changed text positioning code so that we always
1483           display as large a portion of the text as possible.
1484
1485 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
1486
1487         * gtk/gtktext.c (gtk_text_finalize): Free internal
1488         structures of text widget. Also, unreference pixmaps
1489         when unrealizing.
1490         
1491 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
1492
1493         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
1494         3.3.1 bug workaround to number keys starting at 1.
1495
1496 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
1497
1498         * docs/gtk_tut.sgml: Fixed urls for complete example
1499         source for scribble+widget-writing examples.
1500
1501 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
1502
1503         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
1504         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
1505         specs of the form c #abcdef [ more keys ] properly.
1506
1507 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
1508
1509         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
1510         (gtk_spin_button_set_shadow_type):
1511         New API to set the shadow type of the arrow panel.
1512
1513 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
1514
1515         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
1516         code for drawing the child in two places at once. Unfortunately,
1517         not only does it not work anymore (because reparenting has
1518         been fixed), but it also triggers reparent/expose loops
1519         in some cases.
1520
1521         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
1522         an unecessary unrealize.
1523
1524 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
1525
1526         * gdk/gdkwindow.c (gdk_window_reparent): Update the
1527           old and new parents' child window lists properly.
1528
1529 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
1530
1531         * gtk/gtkpacker.h:
1532         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
1533         and GtkSideType, to be consistent with the rest of Gtk's enum
1534         definitions. wrapped the enum definitions with the G_ eunm wrappers.
1535         spelled out the GTK_ANCHOR_* enum values, since single letters don't
1536         work out corectly as nick-names (left the old values as aliases).
1537         some signdness corrections (border-width, spacing), could stand more.
1538
1539 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1540
1541         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
1542           Added gtkpacker
1543
1544         * examples/packer/pack.c, examples/packer/Makefile: Added
1545           gtkpacker example
1546
1547 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
1548
1549         * gtk/gtktext.c (remove_cache_line): Fixed broken
1550         list-removal code.
1551
1552         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
1553         Check bounds before deleting.
1554
1555 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
1556
1557         * autogen.sh: Support ACLOCAL_FLAGS
1558
1559 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
1560
1561         * gtk-config.in: Added missing quotes.
1562
1563 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
1564
1565         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
1566
1567 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
1568
1569         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
1570         G_COMPILED_WITH_DEBUGGING.
1571
1572         * configure.in (fd_set): Explain check better.
1573
1574         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
1575         the version from which gtk+'s libtool forked.  Needed for people
1576         who use post-1.2 alphas of libtool.
1577
1578 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
1579
1580         * glib/* Moved to glib module
1581
1582         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
1583           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
1584
1585           configuration changes for the above:
1586          
1587           - Use AM_PATH_GLIB by default to find glib; also accept
1588             a --with-glib option for using an uninstalled glib.
1589          
1590           - Put --enable-debug information into config.h so
1591             that we rebuild when it changes. (was in glibconfig.h)
1592
1593 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
1594
1595         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
1596
1597         * gtk/gtknotebook.h (struct _GtkNotebookClass):
1598         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
1599         added missing argument (according to Joseph Coleman's bug report)
1600
1601         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
1602         function to fix notebook focus handling
1603         
1604 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
1605
1606         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
1607           glib/gutils.c glib/testglib.c glib/gdataset.c
1608           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
1609           gtk/gtktext.c gtk/gtkbindings.c:
1610
1611          renamed g_const_pointer => gconstpointer
1612
1613 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
1614
1615         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
1616         invoked with (NULL, NULL); (this worked sometime ago).
1617
1618         * gtk/gtktypeutils.h: 
1619         * gtk/gtktypeutils.c: enum and flags type creation can now be done
1620         through gtk_type_register_enum() and gtk_type_register_flags(),
1621         which allow to specify the enum value arrays directly.
1622         the NULL terminated value arrays can be retrived through
1623         gtk_type_enum_get_values() and gtk_type_flags_get_values();
1624         (gtk_type_children_types): new function to query derived types.
1625
1626 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
1627
1628         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
1629         environment to genmarshal.pl.
1630         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
1631         rule), and removed it where not needed (in the dependencies).
1632
1633         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
1634
1635 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
1636
1637         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
1638         was just g_direct_hash.
1639
1640 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
1641
1642         * configure.in: x_libs=, not $x_libs=. Enough said.
1643           (Case only hit for --disable-xshm)
1644         
1645 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
1646
1647         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
1648           when testing for X libraries, don't replace them. Because
1649           the user might have specified the path to the X libraries
1650           themself before running configure.
1651
1652         * examples/**.c: Changed all gpointer * to gpointer
1653         
1654 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1655
1656         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
1657         fleur_cursor field.  Now the cursor is created/destroyed on demand
1658         by the routines that need it.
1659
1660         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
1661         (gtk_handle_box_motion): The fleur cursor is created and destroyed
1662         only when needed.
1663
1664 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
1665
1666         * gtk/gtktypeutils.h: 
1667         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
1668         gtk_enum_set_values to gtk_type_enum_get_values and
1669         gtk_type_enum_set_values respectively, since they are actually type
1670         system features.
1671
1672         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
1673         my last commit. ;)
1674
1675 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
1676
1677         * gtk/gtkselection.h: 
1678         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
1679         gtk_selection_data_free.
1680
1681         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
1682         for "selection_received", which was completely bogus.
1683         * other fixups to gtk_signal_new() calls all over the place.
1684
1685         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
1686         * gtk/gtktypebuiltins_vars.c: type variable implementations.
1687         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
1688         declarations.
1689         * gtk/gtktypebuiltins_evals.c: enum value arrays.
1690         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
1691         gtk.defs.
1692         * gtk/gtk.defs: generated file with scheme syntax for type definitions
1693         of gtk and gdk structures and enums.
1694         * gtk/gtktypeutils.h: 
1695         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
1696         macros anymore (this fixes binary incompatibility with new enum
1697         definitions).
1698
1699         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
1700         key bindings for this widget.
1701         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
1702         handler.
1703
1704         * gtk/gtkobject.h:
1705         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
1706         again. new functions gtk_object_class_user_signal_new () and
1707         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
1708         flag on the signal creation.
1709
1710 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
1711
1712         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
1713
1714 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
1715
1716         * gdk/gdkprivate.h: 
1717         * gdk/gdktypes.h: 
1718         * gtk/gtkprivate.h: 
1719         * gtk/gtkwidget.h: 
1720         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
1721
1722         * reworked enum value array generation code. gtk.defs is a generated
1723         file now.
1724
1725 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
1726
1727         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
1728         check menu items in the compatibility code (this required me to remove
1729         the "<check>" part from the menu item name, grrr).
1730
1731 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
1732
1733         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
1734         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
1735         
1736 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
1737
1738         * gtk/gtkitemfactory.h: 
1739         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
1740         additions to the dumping code to feature GtkPatternSpec.
1741         even found a bug to fix in the original code ;)
1742         
1743 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
1744
1745         * gtk/gtkitemfactory.c: support different types of callbacks, to
1746         maintain existing code.
1747
1748 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
1749
1750         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
1751
1752         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
1753         this should eventually be done by gentypeinfo.el somewhen.
1754         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
1755
1756         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
1757         enum values of an enum type.
1758
1759         * gtk/gtk.defs:
1760         * gtk/gtkcurve.h: 
1761         * gtk/gtkobject.h: 
1762         * gtk/gtkprivate.h: 
1763         * gtk/gtkwidget.h:
1764         * gtk/gtkenums.h: 
1765         brought enum/flags definitions in sync, added a few more enum
1766         definitions for bindings and pattern matching.
1767
1768         * some more macro and GtkType fixups in various places.
1769
1770         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
1771         as a key-release modifier for the binding system.
1772
1773 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
1774
1775         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
1776         was a stale list pointer that is already present in GtkMenuShell.
1777
1778         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
1779         GtkMenuShell::selection_done which is emitted after the menu shell
1780         poped down again and all possible menu items have been activated.
1781
1782 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
1783
1784         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
1785         before activation of the menuitem, so the menu is actually taken off the
1786         screen prior to any menu item activation.
1787
1788         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
1789         for NULL nodes.
1790
1791         * gtk/gtkwidget.h:
1792         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
1793         the emission of the "add-accelerator" signal on a widget. this is
1794         usefull to prevent accelerator installation on certain widgets.
1795
1796         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
1797         labels left justified, by setting their alignment. stop accelerator
1798         installation for the menu items, since we use dynamic menus.
1799
1800 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
1801
1802         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
1803         should *really* use GtkItemFactory. this is only for preserving source
1804         compatibility where possible, use of GtkMenuFactory is deprecated as of
1805         now.
1806
1807         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
1808         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
1809         missed this possibility when i added gtk_object_class_add_user_signal
1810         in late january.
1811
1812         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
1813
1814 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
1815
1816         * gtk/gtkaccelgroup.h: 
1817         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
1818
1819         * gtk/gtkaccellabel.h: 
1820         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
1821         display of the accelerators associated with a certain widget.
1822
1823         * gtk/gtkitemfactory.h: 
1824         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
1825         parsing and accelerator handling.
1826
1827         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
1828         positioning a menu.
1829         (gtk_menu_map): removed the allocation code.
1830         (gtk_menu_size_allocate): care for redrawing of children and resize
1831         our widget->window correctly.
1832         (gtk_menu_key_press): feature the new accelerator groups.
1833
1834         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
1835         submenu if neccessary.
1836
1837         * gtk/gtkmenuitem.c:
1838         * gtk/gtkcheckmenuitem.c:
1839         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
1840         function variants.
1841
1842         * gdk/gdk.c:
1843         (gdk_keyval_from_name): 
1844         (gdk_keyval_name): new functions for keyval<->key-name associations.
1845         (gdk_keyval_to_upper): 
1846         (gdk_keyval_to_lower): 
1847         (gdk_keyval_is_upper): 
1848         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
1849         regards to their cases.
1850
1851 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
1852
1853         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
1854         widget's class path.
1855         (gtk_widget_path): new function to calculate a widget's name path.
1856
1857         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
1858         pattern matching, features reversed pattern matches.
1859
1860 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
1861
1862         * examples/extract.sh, examples/extract.awk:
1863           New files to automagically extract code examples from the
1864           tutorial.
1865
1866 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
1867
1868         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
1869         * gtk/gtkcontainer.c (gtk_container_focus_move):
1870         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
1871
1872 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
1873
1874         * docs/gtk_tut.sgml: minor changes to support auto
1875           extraction of example code
1876
1877 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
1878
1879         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
1880           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
1881
1882 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
1883
1884         * docs/gtk_tut.sgml:
1885           - new section on Events
1886           - change all delete_event callbacks to include
1887             a GdkEvent parameter
1888           - clean up the formatting
1889
1890         * examples - helloworld.c, helloworld2.c, notebook.c,
1891           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
1892           rulers.c, table.c, wheelbarrow.c: change all delete_event
1893            callbacks to include a GdkEvent parameter.
1894
1895 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1896
1897         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
1898         field of crossing events.
1899         (struct _GdkEventCrossing): Added the following fields: time, x,
1900         y, x_root, y_root, mode, focus, state.
1901
1902         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
1903         crossing event structure.
1904
1905         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
1906         changes to the crossing event structure.
1907
1908 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
1909
1910         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
1911
1912 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
1913
1914         * docs/gtk_tut.sgml:
1915            - GtkTooltips, update to current API
1916            - change all 'gpointer *data' to 'gpointer data'
1917            - other minor changes
1918
1919 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
1920
1921         * configure.in (LDFLAGS): Bomb out with a moderately
1922           helpful message if detection of X libraries fails.
1923
1924 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
1925
1926   [ Combination of:
1927      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
1928      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
1929
1930         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
1931           gtk/gtksignal.c gtk/gtktext.c: 
1932
1933           Fixups for warnings from adding const to type of GHashFunc,
1934           GCompareFunc
1935         
1936         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
1937           ansi-warnings fixups.
1938
1939 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
1940
1941         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
1942         Locate child at (border_width,border_width), not
1943         (2*border_width,2*border_width). [ The border is _outside_
1944         widget->window ]
1945         
1946         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
1947           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
1948
1949 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1950
1951         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
1952         used in gnome-libs
1953
1954 1998-05-22    <sopwith@redhat.com>
1955
1956         * gtk/gtkeventbox.c: Pass size_allocate on to the child
1957         regardless of whether it is visible or not. Also
1958         locate child at (border_width,border_width), not (0,0)
1959
1960 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
1961
1962         * gtk/gtkhandlebox.c: Added style_set handler.
1963
1964 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
1965  [ From: Chris Lahey  <clahey@umich.edu> ]
1966         
1967         * gtk/gtkeditable.c, gtk/gtkeditable.h,
1968           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
1969           and set_position functions to get and set the cursor position.
1970
1971         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
1972           signal status. Make GtkText do user-controlled insertion
1973           and deletion through the Editable widget so that these
1974           signals are properly emitted.
1975
1976         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
1977           display asterisks instead of empty space when visible = FALSE)
1978
1979 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
1980
1981         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
1982         signal.
1983
1984 1998-05-21    <sopwith@redhat.com>
1985
1986         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
1987         custom routine for loading images specified in gtkrc's.
1988
1989 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
1990
1991         * configure.in: Use pthread_attr_init() as a test function,
1992         since most of the rest of -lpthread is macros on DU4.
1993
1994 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
1995
1996         * gtk/gtkcombo.c: implemented completion in the entry.
1997
1998 1998-05-18    <sopwith@moebuis.labs.redhat.com>
1999
2000         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
2001
2002 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
2003
2004         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
2005         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
2006         to be of runtype GTK_RUN_LAST.
2007
2008         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
2009         "need-resize".
2010
2011         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
2012         "widget-selected".
2013
2014 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
2015
2016         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
2017         text retrived from GtkEntry. only intercept the Tab key if there
2018         was some text to complete.
2019
2020 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
2021
2022         Basic thread-awareness:
2023
2024         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
2025
2026         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
2027         gdk_threads_[init/enter/leave] for applications, plus
2028         gdk_threads_wake to wake the mainloop thread out of
2029         the select().
2030
2031         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
2032
2033 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
2034
2035         * gtk/testgtk.c (list_clear): Account for the fact
2036         that gtk_list_clear_items is not inclusive. (Clears
2037         [start, end))
2038
2039 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
2040
2041         * gdk/gdk.c: include gdkkeysyms.h always
2042         
2043
2044 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
2045
2046         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
2047         the visibility_notify_event method and changed method order.
2048
2049 1998-05-14    <sopwith@moebuis.labs.redhat.com>
2050
2051         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
2052
2053 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
2054
2055         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
2056         from Olli Helenius <ollhel@batman.jytol.fi>.
2057
2058         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
2059         freeing types.
2060         (gtk_type_set_chunk_alloc): new function to allow allocation of new
2061         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
2062         thorugh g_malloc).
2063
2064         * gtk/gtkobject.c (gtk_object_finalize): free an object through
2065         gtk_type_free().
2066
2067         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
2068         GtkButtons to 16.
2069         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
2070         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
2071
2072 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
2073
2074         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
2075           GPOINTER_TO_UINT fixes.
2076
2077         * gtk/gtksignal.c: Include <string.h> for memset.
2078
2079 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
2080         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
2081
2082         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
2083         Cleanups, comments and the ability to have rulers with 
2084         a reversed direction.
2085
2086 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
2087
2088         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
2089         that Sopwith missed when changing stat => lstat.
2090
2091 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
2092
2093         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
2094           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
2095         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
2096
2097         * gdk/gdk.c: Print sizeof() results
2098         as g_print("%ld", (glong)sizeof(foo)), to deal with
2099         sizeof() being long on Alpha's.
2100
2101         * gtk/testgtk.c: include <string.h> for strlen
2102
2103 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
2104         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
2105         
2106         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
2107         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
2108
2109         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
2110
2111 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
2112         (From: Christopher James Lahey <clahey@umich.edu>)
2113         
2114         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
2115           gtk/testgtk.c:
2116
2117         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
2118         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
2119         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
2120         the default relief for the toolbars buttons. Added an
2121         toggle for the toolbar test in testgtk.c.
2122
2123 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
2124
2125         * docs/gtk-config.1: Rewritten and hopefully improved.
2126
2127 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
2128
2129         * docs/Makefile.am
2130         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
2131
2132 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2133
2134         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
2135         GtkPreview's visual and colormap, otherwise things can BadMatch.
2136
2137         * gtk/testgtk.c (create_color_preview): 
2138         (create_gray_preview): Removed pushing/popping of visual/colormap
2139         now that GtkPreview does things correctly.
2140
2141         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
2142         (gtk_color_selection_draw_wheel): Pick the style from the correct
2143         place (the colorsel->wheel_area widget) so that the GCs will match
2144         with where we are going to paint to.
2145
2146         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
2147         of visual/colormap now that GtkColorSelection does things the
2148         right way.
2149
2150 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
2151
2152         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
2153         previously unused window->need_resize flag to mark if a window's
2154         descendents changed size while the window was not visible. In this
2155         case, when the window becomes visible, we reallocate everything,
2156         since we didn't keep track of what actually changed.
2157
2158         (Fixes bug where changing the popdown strings of a
2159         combo to something of the same length caused them to
2160         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
2161
2162 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
2163
2164         [security audit by Alan Cox]
2165
2166         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
2167         exceed maximum assumed size.
2168
2169         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
2170         not exceed maximum assumed size.
2171         (gtk_menu_factory_remove): likewise.
2172         (gtk_menu_factory_find_recurse): likewise.
2173
2174 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
2175
2176         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
2177         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
2178         redrawn if that is still neccessary. don't allow queueing of already
2179         destructed objects.
2180         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
2181         widgets which are in the queue can be destroyed safely, handle
2182         requeueing properly.
2183         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
2184         widgets which are in the queue can be destroyed/unrealized safely.
2185
2186 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
2187
2188         * gtkfaq.sgml: add question on multi-threading,
2189           minor URL cleanups.
2190
2191 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
2192
2193         * configure.in (cflags_set): preserve automake CFLAGS.
2194
2195         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
2196         and libgdk-1.1.la. this means we need to change certain portions of
2197         the Makefile.am on major/minor version bumps.
2198
2199         * ltmain.sh: the -release option is not required anymore.
2200         
2201         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
2202         of the first argument to be of type GtkObject. unconditionally compile
2203         this function. removed __GNUC__ dependancy of the gtk_object_ref and
2204         gtk_object_unref macro wrappers for this function.
2205
2206 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
2207
2208         * gtk/gtkobject.h:
2209         * gtk/gtkobject.c:
2210         (gtk_object_data_try_key):
2211         (gtk_object_data_force_id): these are now macros substituting the old
2212         functions. we just use the corresponding g_dataset_* functions for
2213         key->id associations. (this is to assure unique key<->id associations).
2214
2215 1998-05-10  Stefan Jeske  <stefan@gtk.org>
2216
2217         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
2218         to gboolean.
2219
2220         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
2221
2222 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
2223
2224         * configure.in (LIBS): Try to figure out if this
2225         is Digital Unix and we need -std1 to get the
2226         right prototypes.
2227
2228 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
2229
2230         * docs/gtk_tut_it.sgml: update of Italian tutorial
2231           translation from Daniele Canazza <dcanazz@tin.it>
2232
2233 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
2234
2235         * gtk/gtkfeatures.h.in: new file used as template for
2236         * gtk/gtkfeatures.h: new file to define macros indicating newly
2237         introduced features, such as GTK_HAVE_SIGNAL_INIT.
2238
2239         * gtk/gtksignal.c:
2240         (gtk_signal_emitv_by_name):
2241         (gtk_signal_emitv):
2242         new functions to emit signals with an already provided parameter set.
2243         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
2244         (gtk_signal_real_emit): prototype changes, so this functions always
2245         gets its parameters and signal structure as arguments.
2246         (gtk_signal_emit): provide the signal structure and parameter list for
2247         gtk_signal_real_emit.
2248         (gtk_signal_emit_by_name): likewise.
2249
2250 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
2251
2252         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
2253         signal connections through unsetting GTK_CONNECTED.
2254         (gtk_signal_handler_insert): reflect the presence of signal connections
2255         through setting GTK_CONNECTED.
2256         (gtk_signal_real_emit): only check for handler emissions if the object
2257         has the GTK_CONNECTED flag set.
2258         (gtk_signal_handler_pending): don't check for pending handlers if the
2259         GTK_CONNECTED flag is not set for this object.
2260
2261         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
2262         a GtkObject has signal handler connections.
2263
2264         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
2265         set for this object call gtk_signal_handlers_destroy().
2266         
2267         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
2268         multiple processing of macro args.
2269
2270         * gtk/gtktypeutils.c:
2271         * gtk/gtkobject.c:
2272         * gtk/gtkwidget.c:
2273         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
2274
2275 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
2276
2277         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
2278         draw-queue when we are done. 
2279
2280         (gtk_widget_queue_draw/_queu_resize): Always return
2281         FALSE and avoid having two idles at the same time.
2282         
2283 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
2284
2285         * gtk/gtktext.c: Various fixes to make sure cache
2286         lines are freed if line_start_cache doesn't point to the
2287         beginning of the cache.
2288
2289 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
2290
2291         * style_set improvements for GtkText and GtkEntry
2292
2293 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
2294
2295         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
2296         been initialized.
2297
2298 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
2299
2300         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
2301         data chunks through a global object data structure list. unlink
2302         object data before invoking its destroy function.
2303         (gtk_object_finalize): slight modification to allow usage of object
2304         data during object finalization.
2305
2306 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
2307
2308         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
2309         signal names, e.g. "signal-name" is now an alias for "signal_name".
2310         (gtk_signal_handler_new): allocate handlers through a global handler
2311         structure list, that's faster than memchunks.
2312         (gtk_emission_new): allocate emissions through a global emission
2313         structure list, that's faster than memchunks.
2314
2315 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
2316
2317         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
2318
2319         * ltmain.sh: added a new commandline flag -postfix similar to -release,
2320         but will immediately change the library name.
2321
2322         * gdk/Makefile.am:
2323         * gtk/Makefile.am: specify -postfix and -version-info
2324
2325         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
2326         GTK_BINARY_AGE. calculate LT_* variables for libtool.
2327
2328 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2329
2330         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
2331         background (fg_set -> bg_set confusion).
2332
2333 1998-05-06  Stefan Jeske  <stefan@gtk.org>
2334
2335         * gtk/testgtk.c (unselect_all): Removed code that caused an
2336         endless loop.
2337
2338 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
2339
2340         * gtk/gtksignal.c: reimplemented the signal storage system to use a
2341         linear array rather than a hash table.
2342         be carefull *not* to keep any GtkSignal pointers across invokations
2343         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
2344         general code cleanups, made all allocations through memchunks.
2345         (gtk_signal_lookup): we now do the lookup of signals through a key_id
2346         for the signal names to avoid multiple hashing of the signal name on
2347         lookups for the several hirarchy levels of an object.
2348
2349 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
2350
2351         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
2352         to speed things up and remove code duplication.
2353
2354         Reintegrated buffer overflow patches, and added
2355         some extra paranoia.
2356         
2357 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
2358
2359         * gdk/gdk.c (gdk_event_translate): A guint * was
2360         being passed where X expected a Keysym *, and
2361         keysyms are long's on Alpha Linux. This was causing
2362         segfaults in Xlib, apparently because of alignment.
2363         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
2364         
2365 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
2366
2367         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
2368         set GDK_EXPOSURE_MASK for DrawingAreas
2369
2370 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
2371
2372         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
2373         (superceded by RC file reparsing capabilities)
2374
2375         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
2376         events. (Shouldn't be sent to the InputOnly leader, which
2377         it is now by gdk_event_send_clientmessage_toall
2378
2379         * gtk/testgtk.c: Added extra button to rcfiles test
2380         to send out _GDK_READ_RCFILES events.
2381         
2382 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
2383
2384         * gtk/gtkselection.c (gtk_selection_clear): Fixed
2385         reversed conditionals that caused segfault on some
2386         platforms.
2387
2388 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
2389
2390         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
2391         cast to GTK_OBJECT for gtk_object_ref.
2392
2393 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
2394
2395         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
2396         checking for signal initialization in gtksignal.c.
2397
2398         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
2399         a long debugging period ;)
2400
2401 1998-05-05  Stefan Jeske  <stefan@gtk.org>
2402
2403         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
2404         New function to wrap XSetDashes; modified gtkctree.c to use it.
2405
2406 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2407
2408         * configure.in: Added $x_libs in the other_libraries field in the
2409         check for XShapeCombineMask.
2410
2411 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
2412
2413         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
2414         gtk_type_is_a().
2415         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
2416         linear array rather than a hash table. it actually speeded up testgtk
2417         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
2418         pointers across invokations of gtk_type_node_next_and_invalidate() and
2419         therefore gtk_type_unique()!
2420
2421         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
2422         inheritance of a class pointer.
2423         (GTK_OBJECT): modifications for speedups.
2424         (GTK_IS_OBJECT): likewise.
2425         (GTK_OBJECT_CLASS): likewise.
2426         (suggested by owen).
2427
2428         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
2429
2430         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
2431
2432         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
2433         since its derivation changed 4 month ago ;(. showed up with the unique
2434         type name checking code in gtk_type_unique().
2435
2436         * random guint->GtkType and macro fixups.
2437
2438 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
2439
2440         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
2441         Configure events that would result in a negative
2442         size.
2443
2444 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
2445
2446         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
2447         "glibconfig.h" and another about writing another IRC
2448         client.
2449
2450 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
2451
2452         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
2453         parameters to log are doubles. Digital Unix apparently
2454         is missing the argument in its prototype.
2455
2456 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
2457
2458         * gtk/gtklabel.c (gtk_label_state_changed): Don't
2459         force a clear until the widget is actually on
2460         screen.
2461
2462 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
2463
2464         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
2465         to make this consistent with the gtk-1-0 tree.
2466
2467 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
2468
2469         * configure.in acheader.h gdk/gdkwindow.c 
2470         Check for Shape extension both on the client and server
2471         side. (And, more importantly, check for the shape extension
2472         so we may include -lXext even when compiling with --disable-xshm)
2473
2474         Don't set override_redirect on all shaped windows. It isn't
2475         necessary.
2476
2477         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
2478         and foreign windows. Use this to check if we
2479         need to get the colormap from X.
2480
2481 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
2482
2483         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
2484         between the default and the button always in GTK_STATE_NORMAL.
2485
2486         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
2487         callback.
2488
2489 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
2490
2491         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
2492           Fix a buffer overflow on pixmaps that claim to have
2493           more than 31 characters per pixel.
2494
2495           (gdk_pixmap_read_string): Don't wrap around strings longer
2496           than half of address space ;-)
2497
2498         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
2499         that were used for printing integers.
2500
2501         * */* (almost):
2502
2503         Style: All 
2504           int foo () { ... }
2505         changed to
2506           int foo (void) { ... }
2507
2508         Even where there were proper prototypes elsewhere.
2509
2510         * gdk/gxid.c (handle_claim_device): Some extra checks.
2511         It isn't safe against being fed bad X id's, but at
2512         least it should be safe against deleting all your
2513         files.
2514
2515 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
2516
2517         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
2518         to set the adjustments value when there is no current emission.
2519         [ Removed by mutual agreement owt 5/3/1998 ]
2520
2521         * gtk/gtksignal.c: added new functions to retrive the number of
2522         existing emissions for a certain signal.
2523         (gtk_signal_n_emissions): new function.
2524         (gtk_signal_n_emissions_by_name): new function.
2525
2526 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
2527
2528         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
2529         set the current focus_child of a container, does proper referencing and
2530         adjusts the vadjustment/hadjustment associated with the focus widget.
2531
2532         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
2533         containers via gtk_container_set_focus_child.
2534
2535         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
2536         where appropriate.
2537
2538         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
2539         child since not every child removal goes through this function (this
2540         showed up after gtk_container_set_focus_child() started to reference the
2541         focus_child of a container).
2542
2543         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
2544         of a container from gtk_container_remove into this place.
2545
2546 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
2547
2548         * gtk/gtksignal.c: added new functions to operate on intermediate
2549         function pointers. implemented incremental blocking.
2550         (gtk_signal_disconnect_by_func): new function.
2551         (gtk_signal_handler_block_by_func): new function.
2552         (gtk_signal_handler_unblock_by_func): new function
2553
2554 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
2555
2556         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
2557         Always show the scrollbars when the policy is
2558         GTK_POLICY_ALWAYS...
2559
2560 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
2561
2562         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
2563         "value_changed" if we really passed a new value.
2564         (gtk_adjustment_changed): new function to emit the "changed" signal.
2565         (gtk_adjustment_set_value): new function to emit the "value_changed"
2566         signal.
2567
2568 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
2569
2570         * gtk/gtkcombo.c: Further changes to the way the window
2571         is popped up so that it will be compatible with 
2572         auto-scrolling in the future.
2573
2574 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
2575
2576         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
2577         the combo-list is empty since that will cause the combo to operate
2578         on a non existing GtkList window.
2579         (gtk_combo_get_pos): provide the combo list with a usfull default
2580         height if empty.
2581         (gtk_combo_popup_button_press): grab the focus.
2582         (gtk_combo_activate): grab the focus.
2583
2584 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
2585
2586         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
2587         function to reset the RC styles for a heirarchy
2588
2589         Clear the window background if necessary in
2590         gtk_window_style_set.
2591
2592         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
2593         rereads all previously read RC files.
2594
2595         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
2596         (Should it just be called gdk_get_toplevels?)
2597
2598         * gtk/testgtk.c: New test to reload RC files.
2599
2600 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
2601
2602         * gtk/gtkclist.h:
2603         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
2604         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
2605         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
2606         the GTK_ prefix (this solution involved less changes in the
2607         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
2608         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
2609         from lars & stefan to support the derivation of GtkCtree.
2610
2611         * gtkctree.h:
2612         * gtkctree.c:
2613         initial import of a tree widget derived from gtkclist, courtesy
2614         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
2615         it just damn rocks!
2616
2617 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
2618
2619         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
2620         for us.
2621         (gtk_list_insert_items):
2622         (gtk_list_remove_items_internal): 
2623         (gtk_list_clear_items): 
2624         remove a possible pointer grab, we might get thrown into a loop
2625         otherwise.
2626         (gtk_list_button_press): grab the pointer *before* selecting the child,
2627         because selection of items may cause the lists children to change,
2628         resulting in a grab release.
2629         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
2630         children.
2631         (gtk_list_shutdown): remove all children from the list.
2632         (gtk_real_list_unselect_child): 
2633         (gtk_real_list_select_child): *always* put our internal structures into
2634         sane state *before* signal emisions (i.e. list->selection updates prior
2635         to gtk_list_item_[de]select() calls).
2636
2637         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
2638         focused child walks out of the window.
2639         removed CAN_FOCUS for the combo arrow's button since it doesn't react
2640         to keyboard events ("clicked" connection is missing).
2641
2642 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
2643
2644         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
2645         getting colormap for FOREIGN windows to go along with
2646         Raster's fix for visuals.
2647
2648 Merges from gtk-1-0
2649 ===================
2650         
2651 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
2652
2653         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
2654         Check to catch the case when the viewport fits in either
2655         direction or both, instead of flip-flopping infinitely.
2656
2657         Only show/hide the scrollbars once at the end.
2658
2659 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
2660
2661         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
2662         Include the scrollbars in the foreach call.
2663         (gtk-fortier-980405-0.patch; 
2664          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
2665
2666         The notebook widget
2667         really should also include its tabs, but that might cause
2668         problems for programs if they
2669
2670 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
2671
2672         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
2673         resize if the size actually changed. 
2674         (gtk-johannes-980414-0.patch ;  
2675          johannes@nada.kth.se (Johannes Keukelaar) )
2676
2677 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
2678
2679         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
2680           ltmain.sh ltconfig config.sub config.guess:
2681
2682         Reverted back to libtool-1.2 (plus minor patches) so as not to
2683         force the issue for everyone else.
2684
2685 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
2686
2687         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
2688         Updated to libtool 1.2a.
2689
2690         * gtk/gtkclist.c: Draw the in-between lines with style->base
2691         instead of style->white.
2692         
2693 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
2694
2695         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
2696         Cache the colormap and children of a window locally
2697         instead of fetching them from the server when needed.
2698         Huge performance difference for creating/destroying
2699         windows.
2700
2701         * gtk/gtkstyle.c: Find the depth from the cached
2702         visual, instead of asking the server.
2703
2704         * gtk.m4: Distribute the new version which tries to
2705         figure out what went wrong and give helpful error
2706         messages.
2707
2708         * ltmain.sh ltconfig config.sub config.sh: 
2709         Updated to libtool 1.2a
2710
2711         * gtk/gtktext.c: Fixed a bug where the drawn level
2712         was being messed up when the text was scrolled
2713         during a deletion.
2714         
2715 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
2716
2717         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
2718         the filesystem under you (fix from Josh)
2719
2720 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
2721
2722         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
2723         if the viewport already exists before iterating over it, maybe we
2724         haven't been constructed yet.
2725
2726 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
2727
2728         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
2729         the GtkBin widget already has a child.
2730
2731         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
2732         check that child->parent == NULL;
2733
2734 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
2735
2736         * gtk/gtkselection.c (gtk_selection_clear): Only return
2737         FALSE when the clear event is been rejected, not when
2738         widget has already lost the selection. (Which should
2739         only happen when we are setting the selection to another
2740         widget ourself.)
2741         
2742 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
2743
2744         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
2745
2746         Removed the "check visibility after gtk_widget_unparent" bug 
2747         in hopefully the last three places.
2748
2749 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
2750
2751         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
2752         rc-files.
2753
2754 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
2755
2756         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
2757         for CAN_FOCUS widgets.
2758
2759         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
2760         adjustments for the table.
2761         (create_list): feature automatic adjustment of the scrolled window to
2762         always contain the focused child.
2763         (create_main_window): keep the focussed button always inside of the
2764         scrolled windoww.
2765
2766         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
2767         adjustments, to contain the allocation of the currently focused child.
2768         (gtk_container_set_focus_hadjustment): new functin to set the
2769         horizontal focus adjustment.
2770         (gtk_container_set_focus_vadjustment): new functin to set the vertical
2771         focus adjustment.
2772
2773         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
2774         clamp the currents adjustment page into a specific range.
2775
2776         * random GtkType fixups for gtk_*_get_type() functions.
2777
2778 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
2779
2780         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
2781         Account for the fact that gtk_tree_item_remove_subtree
2782         will be called recursively. 
2783
2784         Handle removing a collapsed subtree.
2785
2786         (From Andy Dustman <adustman@comstar.net>)
2787         
2788         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
2789         root tree when removing items from a non-previously
2790         mapped tree.
2791
2792         * gtk/testgtk.c: Added a remove_subtree button.
2793         
2794 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
2795
2796         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
2797         before object removing data. This change fixes a bug where 
2798         removing the last weak references would cause it to be 
2799         triggered.
2800
2801 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
2802
2803         * gdk/Makefile.am: Removed mostly useless dependency that
2804         was causing problems for SGI's make, when used with
2805         the 'make dist' form of GTK+. (Dependency caused dependencies
2806         to be redone when BUILT_SOURCES changed)
2807
2808 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
2809
2810         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
2811         like a menu.
2812         
2813         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
2814         to gtkitem.c so dragging can also work in lists.
2815
2816         * gtk/gtklist.[ch]: Track child enter events and use
2817         those to allow dragging the selection. 
2818
2819 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
2820
2821         * gtk/gtktext.c: Try enabling background pixmaps for editable text
2822         widgets.  There is a bit of flashing, but not too bad. If you
2823         don't want the flashing, you can always not set a background
2824         pixmap.
2825
2826 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
2827
2828         * gtk/gtktext.c: Fixed a bug where the drawn level
2829         was being messed up when the text was scrolled
2830         during a deletion.
2831         
2832 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2833
2834         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
2835         bug:  There is no need to set the ExposureMask in the XGrabPointer
2836         (this caused DnD programs to crash).
2837
2838 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
2839
2840         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
2841         field to be of type guint.
2842         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
2843         ref_count>0;
2844         (gtk_accelerator_table_install): keep a per object list of accelerator
2845         tables that refer to this object.
2846         (gtk_accelerator_table_remove): remove the accelerator table from the
2847         per object list.
2848         (gtk_accelerator_table_clean): warn if there are any object references
2849         left in an accelerator table upon destruction.
2850         (gtk_accelerator_tables_delete): new function to delete object
2851         references from the accelerator tables associated with this object.
2852
2853         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
2854         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
2855         of an accelerator can be prevented by gtk_signal_emit_stop().
2856         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
2857         so there are no stale pointers in accelerator tables left.
2858
2859 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2860
2861         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
2862         visible before we unparent it.
2863
2864 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
2865
2866         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
2867         running_timeouts list with the tmp_list link itself, not with a new
2868         GList structure pointing to our link. that would fill up memory and
2869         causes the GList.data fields of the running_timeouts list to point to
2870         GList structures and not GtkTimeoutFunction structures which is a
2871         *really* bad thing.
2872         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
2873         the above entry ;).
2874
2875 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
2876
2877         * gtk/gtkradiomenuitem.h: 
2878         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
2879         ala gtk_radio_button_set_group.
2880         (gtk_radio_menu_item_init): assure that we always have at least a group
2881         that points to self.
2882
2883         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
2884         added g_return_if_fail() statements.
2885         (gtk_radio_button_init): assure that we always have at least a group
2886         that points to self.
2887
2888 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
2889
2890         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
2891
2892 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
2893
2894         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
2895         (Damon Chaplin), which i got wrong when applying Damon's patch the last
2896         time.
2897
2898 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
2899
2900         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
2901         that when we are running with a non-installed colormap,
2902         in 8-bit pseudo-color, we actually are using the system
2903         visual. (Fixes *Bad Match* errors on Digital Unix machines
2904         with multiple 8-bit pseudo-color visuals)
2905
2906 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2907
2908         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
2909         by whoever thought that randomly changing ints to unsigned int
2910         without reviewing the code was a good idea.  It is, btw not
2911         mentioned in the ChangeLog as usual, but I know it was not Elliot
2912         the culprit this time. 
2913
2914 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
2915
2916         * Released GTK+ 1.0.0