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