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