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