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