]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-6
configure.in gdk/Makefile.am Put -DFOO stuff into Makefile.am INCLUDES.
[~andy/gtk] / ChangeLog.pre-2-6
1 Tue Dec  1 02:40:22 PST 1998 Manish Singh <yosh@gimp.org>
2
3         * configure.in
4         * gdk/Makefile.am
5         * gtk/Makefile.am: Put -DFOO stuff into Makefile.am INCLUDES.
6         Separate vars for each, for granularity.
7
8 Tue Dec  1 02:19:54 1998  Tim Janik  <timj@gtk.org>
9
10         * gtk/gtkenums.h: fixed a stupid error of mine about the run type
11         values.
12
13 1998-11-30  Elliot Lee  <sopwith@cuc.ml.org>
14
15         * {gdk,gtk}/*.c: Make read-only data structures "static const" to
16         allow them to be shared, mainly including (but not limited to) the
17         GtkTypeInfo structures for each class.
18
19         * gtk/gtkfilesel.c: Add /net to the "leave me alone" directory listing.
20
21 Mon Nov 30 12:17:10 1998  Jeff Garzik  <jgarzik@pobox.com>
22
23         * gtk/gtksignal.c:
24         Surround debug variable with #ifdef to silence gcc.
25
26         * gtk/gtknotebook.c (gtk_notebook_reorder_child):
27         Added initializer to quiet gcc warning.
28         Added assertion to check for null pointer deref.
29
30 Mon Nov 30 10:11:29 1998  Tim Janik  <timj@gtk.org>
31
32         * gtk/testgtkrc: merged testgtkrc with the pre-themes one, removed
33         system specific includes.
34
35         * gtk/gtksignal.c: asured that stop and restart emissions are also
36         checked and processed for not connected objects. fixed up restart
37         emission administration. invoke emission hooks after emission, hooks
38         are not supposed to muck around with the current emission, and
39         may also not cause emission restarts. fixed up stop emission
40         administration.
41
42 Mon Nov 30 06:20:36 1998  Tim Janik  <timj@gtk.org>
43
44         * gtk/testgtk.c: added an event watcher for enter/leave based on
45         signal emission hooks.
46
47         * gtk/gtkobject.c (gtk_object_class_init): made GtkObject::destroy a
48         GTK_RUN_NO_HOOKS signal.
49
50         * gtk/gtksignal.h: 
51         * gtk/gtksignal.c: implemented emission hooks, new hooks can be added
52         to a signal with gtk_signal_add_emission_hook or
53         gtk_signal_add_emission_hook_full, and can be removed again with
54         gtk_signal_remove_emission_hook.
55
56         * gtk/gtkenums.h: remove GTK_RUN_MASK, since it doesn't represent
57         an appropriate mask for signal runtypes for a long time now.
58         added GTK_RUN_NO_HOOKS value, which is used to flag signals
59         that do not allow the running of signal hooks.
60
61 1998-11-26  Michael Krause  <m.krause@tu-harburg.de>
62
63         * gtk/gtknotebook.c (gtk_notebook_switch_page): made 'page_num'
64         argument a gint: switch_page signal delivers valid page numbers
65         again.
66
67 Sun Nov 29 06:12:01 1998  Tim Janik  <timj@gtk.org>
68
69         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_[hv]adjustment): 
70         set composite names.
71
72         * gtk/gtktypeutils.c (gtk_type_unique): removed default initialization
73         check, people must use gtk_type_init().
74         fixed up type allocation for foreign fundamentals.
75
76         * gtk/gtkwidget.h: 
77         * gtk/gtkwidget.c: added gtk_widget_set_composite_name() which is meant
78         for internal use by containers, that want to assign specific composite
79         names to their composite children.
80         added gtk_widget_get_composite_name() which will return a newly
81         allocated string, containing the composite name of a widget. valid
82         composite names can only be retrived from widgets that have a parent
83         assigned and are flagged as GTK_COMPOSITE_CHILD.
84
85         * gtk/gtkcontainer.h:
86         * gtk/gtkcontainer.c: added a new function
87         gtk_container_child_default_composite_name() which will return a
88         newly allocated string, holding the composite name of a containers
89         child. a default implementation is provided which will compose the
90         composite name out of the widgets type and its sequential children
91         id. this implementation can be overidden through a new class function
92         *(composite_name)().
93
94 Sat Nov 28 10:57:59 1998  Owen Taylor  <otaylor@redhat.com>
95
96         * gtk/gtkwindow.c (gtk_window_expose_event): Removed bogus
97         expose_event handler - we had two expose_event
98         handlers!
99
100 Sat Nov 28 03:13:42 1998  Tim Janik  <timj@gtk.org>
101
102         * gtk/gtkscrolledwindow.h: 
103         * gtk/gtkscrolledwindow.c: changed scrolled window inheritance,
104         it inherits from GtkBin now.
105
106         * gtk/gtkbin.c (gtk_bin_unmap): removed superfluous check for
107         visibility of child.
108         (gtk_bin_draw): removed superfluous check for GTK_WIDGET_DRAWABLE().
109         added check so a child gets only drawn if it's visible.
110
111         * gtk/gtkwidget.h: 
112         * gtk/gtkwidget.c: removed gtk_widget_draw_children().
113
114         * gtk/gtkstyle.h: 
115         * gtk/gtkstyle.c: rmoved gtk_reset_widget_shapes.
116
117         * gtk/gtkwidget.h: 
118         * gtk/gtkwidget.c: removed crufty relict: gtk_widget_is_child().
119         added internal function gtk_widget_reset_shapes() from gtkstyle.c.
120
121         * gtk/gtkrc.h:
122         * gtk/gtkrc.c: (gtk_rc_find_pixmap_in_path): removed bogus gscanner
123         argument, changed callers.
124
125         * gtk/gtkmenufactory.c: GtkMenuFactory is deprecated for a long time,
126         it will issue a warning now.
127
128         * gtk/gtkcompat.h: new file to #define aliases for historic
129         function names.
130
131         * changed 8 function names for consistency and provided aliases to keep
132         source compatibility in gtkcompat.h:
133         (gtk_accel_label_get_accel_width): renamed from gtk_accel_label_accelerator_width
134         (gtk_container_set_border_width): renamed from gtk_container_border_width
135         (gtk_notebook_get_current_page): renamed from gtk_notebook_current_page
136         (gtk_packer_configure): renamed from gtk_packer_set_child_packing
137         (gtk_paned_set_gutter_size): renamed from gtk_paned_gutter_size
138         (gtk_paned_set_handle_size): renamed from gtk_paned_handle_size
139         (gtk_scale_get_value_width): renamed from gtk_scale_value_width
140         (gtk_window_set_position): renamed from gtk_window_position
141
142         * renamed a few recently added funtions for consistency:
143         (gtk_notebook_get_tab_label): renamed from gtk_notebook_query_tab_label.
144         (gtk_notebook_get_menu_label): renamed from gtk_notebook_query_menu_label.
145         (gtk_progress_configure): renamed from gtk_progress_reconfigure.
146
147 Fri Nov 27 18:57:20 PST 1998 Manish Singh <yosh@gimp.org>
148
149         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
150         check for existing viewport first, and don't add one if there
151         already is one
152
153 Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
154
155         * gtk/gtkwidget.h: 
156         * gtk/gtkwidget.c: deprecated gtk_widget_freeze_accelerators and
157         gtk_widget_thaw_accelerators, we provide gtk_widget_lock_accelerators
158         and gtk_widget_unlock_accelerators.
159
160         * gtk/gtklayout.h:
161         * gtk/gtklayout.c: implemented incremental freezing facility.
162
163         * gtk/gtktext.h: 
164         * gtk/gtktext.c: implemented incremental freezing facility.
165
166         * gtk/gtkenums.h:
167         * gtk/gtkaccelgroup.h: moved enum GtkAccelFlags into this place.
168
169         * gtk/gtkentry.h:
170         * gtk/gtkentry.c:
171         deprecated gtk_entry_adjust_scroll().
172         
173         * random GtkType, macro and indentation fixes.
174
175 Fri Nov 27 22:50:15 1998  Tim Janik  <timj@gtk.org>
176
177         * gtk/gtkclist.h: 
178         * gtk/gtkclist.c: implemented incremental freezing facility, added
179         a new class member (*refresh)() which takes over the thaw
180         functionality. the clist FROZEN flag got removed on the way.
181         * gtk/gtkctree.c: adaptions to feature the clist refresh functionality
182         and incremental freezing.
183
184         * gtk/gtkcalendar.c: implemented incremental freezing facility.
185
186 Fri Nov 27 11:41:27 1998  Raph Levien  <raph@gimp.org>
187
188         * gdk/gdkinputcommon.h (gdk_input_common_init): Fixed it so that
189         it still includes the core pointer in gdk_input_devices even
190         if the XInput extension is not present in the X server.
191
192 Fri Nov 27 12:17:15 1998  Owen Taylor  <otaylor@redhat.com>
193
194         * gtk/gtkdnd.[ch] (gtk_drag_get_source_widget): New function to
195         get the source widget of a drag.
196
197         * gtk/gtkdnd.[ch]: Target flags GTK_TARGET_SAME_[WIDGET/APP]
198         to restrict certain targets to the same widget or to
199         the same application.
200
201         * gtk/testdnd.c: Test gtk_drag_get_source_widget().
202         
203 Thu Nov 26 19:11:46 1998  Lars Hamann  <lars@gtk.org>
204
205         * gtk/gtk-boxed.defs (GtkCTreeNode): define GtkCTreeNode as boxed type
206         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_CTREE_NODE_TYPE
207         instead of GTK_TYPE_POINTER in signal definitions.
208         (patch from James Henstridge <james@daa.com.au>)
209
210 Thu Nov 26 18:48:44 1998  Lars Hamann  <lars@gtk.org>
211
212         * gtk/gtkclist.c (set_cell_contents)
213         * gtk/gtkctree.c (set_cell_contents): call column_auto_resize only
214         if auto.resize == TRUE
215
216         * gtk/gtknotebook.c (gtk_notebook_set_shape) (gtk_notebook_expose):
217         don't draw tab, if show_tabs == FALSE
218         (bug reports from Alexis Mikhailov / Dave Cole)
219         (gtk_notebook_focus_changed) (gtk_notebook_draw_focus): draw only
220         the focus rectangle, not the hole tab.
221
222 Thu Nov 26 03:18:08 1998  Tim Janik  <timj@gtk.org>
223
224         * gtk/gtkclist.h: 
225         * gtk/gtkctree.h: 
226         * gtk/gtkclist.c:
227         * gtk/gtkctree.c: reverted bogus and undocumented!!! changes from
228         Jay Cox (98/11/23 13:53:26) which `const' qualified char* arrays.
229
230         * gtk/maketypes.awk: changed underline substitution, so we get
231         GTK_TYPE_CTREE_POS instead of the broken GTK_TYPE_C_TREE_POS.
232         * gtk/makeenums.pl: likewise.
233         * gtk/gtkctree.c: adapted type names accordingly.
234
235 Tue Nov 24 11:31:06 1998  Owen Taylor  <otaylor@redhat.com>
236
237         * docs/Changes-1.2.txt: Edited section on the ScrolledWindow.
238
239         * gtk/gtklayout.c (gtk_layout_set_[hv]adjustment): Remove
240         some code duplication.
241
242         * gtk/gtklayout.[ch] Fixed mapping and unmapping of child windows
243         and child widgets when scrolling greater than 32k pixels.
244
245         * testgtk.c: Modified layout test to test scrolling over 
246         long distances.
247
248 Tue Nov 24 11:11:05 1998  Owen Taylor  <otaylor@redhat.com>
249
250         * gtk/gtklayout.[ch]: Fixed up copyright message.
251
252         * gdk/gdkrgb.c (DM): Make the dither matrix constant
253         so it can be shared.
254
255         * gtk/gtkdnd.c: Make cursor bitmaps const.
256
257         * gdk/gdk.h gdk/gdkpixmap.c: Added const to 
258         gdk_pixmap/bitmap_create_from_data.
259
260 Tue Nov 24 07:46:09 1998  Tim Janik  <timj@gtk.org>
261
262         * docs/Changes-1.2.txt: added a section on scrolled windows and
263         scrollable widgets.
264
265 1998-11-24  Andrew T. Veliath  <andrewtv@usa.net>
266
267         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Include radio
268         buttons when setting relief for button items.
269         (gtk_toolbar_set_button_relief): Same.
270
271 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
272
273         * gdk/Makefile.am, gtk/Makefile.am:
274         Removed DEFS "+=" mess that breaks recent automakes.
275         INCLUDES is the correct way to add to CFLAGS from Makefile.am.
276
277         * gdk/gdk.c, gdk/gdkglobals.c, gdk/gdkimage.c, gdk/gdkinput.c,
278         gdk/gdkpixmap.c, gdk/gdkthreads.c, gdk/gdkwindow.c,
279         gdk/gxid_lib.c, gtk/fnmatch.c, gtk/gtkclist.c, gtk/gtkmain.c,
280         gtk/testthreads.c:
281         Include "config.h" instead of "../config.h".
282         Now that DEFS works again, automake will automatically pass us
283         the location of config.h in -I.
284
285 Mon Nov 23 22:10:09 1998  Owen Taylor  <otaylor@redhat.com>
286
287         * gtk/Makefile.am gtk/gtk.h gtk/gtklayout.[ch]
288         gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/gtk.h:
289
290         Added layout widget for scrolling arbitrarily big areas.
291         Added plug/socket widgets for interprocess embedding.
292
293         These widgets still, at some point, need to be
294         made more pure in their use of GDK, as opposed
295         to raw X.
296
297         * gtk/testgtk.c: Added test for layout widget.
298         
299 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
300
301         * gtk/gtkclist.c: (gtk_clist_swap_rows):  Bugfix from
302         Brandon Long <blong@fiction.net> - do the right thing with first
303         and last, which are the absolute values of row arguments row1
304         and row2.
305
306 Mon Nov 23 04:24:55 PST 1998 Manish Singh <yosh@gimp.org>
307
308         * gtk/gtkprogress.c: (gtk_progress_set_adjustment): make a saner
309         default adjustment (from 0 to 100) instead. I'm not sure if this
310         is the correct level for the fix, but gtk_progress_bar_new()'s
311         original default behavior is restored.
312
313 1998-11-23  Martin Baulig  <martin@home-of-linux.org>
314
315         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_5): Define this so
316         we can check for latest GTK features.
317
318 1998-11-23  Havoc Pennington  <hp@pobox.com>
319
320         * gtk/gtktoolbar.c: (gtk_toolbar_set_relief):
321         (gtk_toolbar_insert_element): When setting relief, also affect
322         toggle buttons.
323
324 Sun Nov 22 20:37:06 PST 1998 Manish Singh <yosh@gimp.org>
325
326         * gtk/gtkobject.h: remove extraneous comma
327
328 Mon Nov 23 05:21:50 1998  Tim Janik  <timj@gtk.org>
329
330         * gtk/gtkcontainer.c:
331         (gtk_container_add_with_args): 
332         (gtk_container_addv): 
333         (gtk_container_add): removed assertements for constructed containers
334         again, since this essentially breaks the "child" arg.
335
336         * gtk/gtktooltips.c (gtk_tooltips_force_window): fixup the draw_window
337         reference count, we don't need to reference toplevels that already have
338         destroy notifiers.
339
340         * gtk/gtkscrolledwindow.c: check for the composites existance in
341         _forall since we might not be already constructed.
342
343 Sun Nov 22 14:34:58 CST 1998 Shawn T. Amundson <amundson@gtk.org>
344
345         * Released GTK+ 1.1.5
346
347         * configure.in: require GLib 1.1.5
348
349 Mon Nov 23 03:21:17 1998  Tim Janik  <timj@gtk.org>
350
351         * gtk/gtktext.c (gtk_text_destroy): disconnect hadj & vadj, not
352         2 * hadj.
353         (gtk_text_finalize): only unref the current_font if we have
354         been realized.
355
356 Sat Nov 21 18:41:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
357
358         * configure.in:
359           INSTALL:
360           NEWS:
361           README:
362           gtk+.spec:
363           docs/gtk-config.1: Version incremented to 1.1.5
364
365 Sun Nov 22 16:21:28 1998  Tim Janik  <timj@gtk.org>
366
367         * gtk/gtkprogress.c: added args ::show_text, ::text_xalign,
368         ::text_yalign, ::activity_mode.
369
370         * gtk/gtkprogressbar.c: added construct arg ::adjustment. added args
371         ::bar_style, ::orientation, ::discrete_blocks, ::activity_step,
372         ::activity_blocks.
373         (gtk_progress_bar_new):
374         (gtk_progress_bar_new_with_adjustment): use gtk_widget_new().
375         (gtk_progress_bar_construct): deprecated.
376
377         * gtk/gtkvscrollbar.c:
378         (gtk_vscrollbar_draw_step_back): 
379         (gtk_vscrollbar_draw_step_forw): use "vscrollbar" as detail for
380         gtk_paint_arrow, to be consistent with hscrollbar.
381
382         * gtk/gtktext.c
383         added construct args ::hadjustment, ::vadjustment.
384         added args ::line_wrap, ::word_wrap.
385         (gtk_text_class_init): added scroll_adjustments signal.
386         (gtk_text_new): use gtk_widget_new.
387         (gtk_text_disconnect): remove adjustement with gtk_text_set_adjustments,
388         so we don't screw the reference counts and don't leave signals connected.
389         (gtk_text_destroy): disconnect adjustments signals.
390         (gtk_text_finalize): unref adjustments.
391
392         * gtk/gtkctree.c: added construct args ::n_columns and ::tree_column.
393         added args ::indent, ::spacing, ::show_stub, ::reorderable,
394         ::use_drag_icons, ::line_style and ::expander_style.
395         (gtk_ctree_set_show_stub): renamed from gtk_ctree_show_stub, which is
396         deprecated now.
397
398         * gtk/gtkclist.h: remove GTK_CLIST_CONSTRUCT flag.
399         * gtk/gtkclist.c:
400         removed ::vadjustment and ::hadjustment args, introduced
401         ::scroll_adjustments signal.
402         added ::shadow_type, ::selection_mode and ::row_height args.
403         added n_columns construct arg.
404         (gtk_clist_construct): call gtk_object_constructed().
405         (gtk_clist_set_row_height): if height is passed as 0,
406         revert to automatic height calculation.
407         (gtk_clist_destroy): before unrefing the adjustments, disconnect our
408         signal handlers.
409
410 Fri Nov 21 22:34:58 1998  Tim Janik  <timj@gtk.org>
411
412         * gtk/gtkwidget.c (gtk_widget_new): call gtk_object_default_construct
413         like gtk_object_new.
414         (gtk_widget_destroy): assert that we only destroy constructed widgets.
415
416         * gtk/gtkobject.h (enum GtkArgFlags): new flag GTK_ARG_CONSTRUCT_ONLY
417         to identify args that may only be used for construction.
418         GTK_ARG_CONSTRUCT maybe used as normal arguments besides construction
419         time.
420         * gtk/gtkobject.c (gtk_object_new): invoke gtk_object_default_construct
421         at the end if the object is not fully constructed.
422         (gtk_object_newv): likewise.
423         (gtk_object_destroy): assert that we only destroy constructed objects.
424         (gtk_object_init): setup GTK_CONSTRUCTED from the
425         objects real klass.
426         (gtk_object_default_construct): new function to complete default
427         construction of an object by applying missing construtor args with
428         default values of 0, 0.0 or NULL.
429         (gtk_object_constructed): new function to mark an object as being
430         constructed (used from within constructors).
431
432         * gtk/gtkarg.c (gtk_arg_type_new_static): return the args info pointer
433         so it is immediatedly available for the caller.
434
435         * gtk/gtktypeutils.c (gtk_type_new): pass an object's real class to
436         the object initilizer (GtkObjectInitFunc takes a second arg now, the
437         real klass), and asure that object initializers may temporarily alter
438         the class pointer.
439
440 Fri Nov 20 08:00:30 1998  Tim Janik  <timj@gtk.org>
441
442         * gtk/testgtk.c: change all occourances of gtk_container_add (
443         scrolled_window, widget) to gtk_scrolled_window_add_with_viewport (...)
444         for widget!=(clist, ctree, text, viewport).
445
446         * gtk/gtkcombo.c:
447         (gtk_combo_init): use gtk_scrolled_window_add_with_viewport()
448         to add children to the scrolled window.
449
450         * gtk/gtkscrolledwindow.h:
451         * gtk/gtkscrolledwindow.c:
452         changed scrolled_window->viewport to scrolled_window->child, and use
453         gtk_widget_scroll_adjustements() to set the scroll adjustments for the
454         widget, we do not create an additional viewport anymore.
455         added ::hadjustment and ::vadjustment constructor args.
456         (gtk_scrolled_window_new): use gtk_widget_new() to create the widget.
457         (gtk_scrolled_window_set_hadjustment):
458         (gtk_scrolled_window_set_vadjustment): new functions that superceed
459         gtk_scrolled_window_construct.
460         (gtk_scrolled_window_construct): deprecated this function.
461         
462         * gtk/gtkhscrollbar.c:
463         * gtk/gtkvscrollbar.c:
464         * gtk/gtkhscale.c:
465         * gtk/gtkvscale.c:
466         support a constructor arg "::adjustment", and use gtk_widget_new() for
467         the widget creation.
468
469         * gtk/gtkrange.c: added ::update_policy arg.
470         (gtk_range_set_adjustment): if adjustment is passed in as NULL, create
471         a default adjustment so this function can be used for derived widgets
472         that depend on the adjustment's existance.
473         (gtk_range_destroy): disconnect the adjustment signal, so we don't
474         get called after we got destroyed, we don't destroy the adjustment
475         in here, because it might have been provided from another widget.
476
477         * gtk/gtkviewport.c: introduced ::scroll_adjustments signal.
478         (gtk_viewport_destroy): same as gtk_range_destroy.
479
480         * gtk/gtkprogress.c (gtk_progress_destroy): same as gtk_range_destroy.
481
482         * gtk/gtkwidget.h: 
483         * gtk/gtkwidget.c: changed gtk_widget_activate() to return a
484         gboolean, indicating whether this widget supports activation.
485         added gtk_widget_scroll_adjustements() to set the scrolling
486         adjustments of a widget.
487
488 Wed Nov 19 01:22:42 1998  Tim Janik  <timj@gtk.org>
489
490         * gtk/gtkoptionmenu.c:
491         (gtk_option_menu_remove_contents):
492         (gtk_option_menu_update_contents): removed
493         gtk_container_[un]block_resize() pairs.
494
495         * gtk/gtknotebook.h: 
496         * gtk/gtknotebook.c: removed the tab_border field, since it shouldn't
497         be used outside of gtknotebook.c anyways. made ARG_TAB_BORDER a
498         wrtie-only argument.
499
500         * *.c: made deprecated functions issue a message:
501         gtk_clist_set_border, gtk_container_block_resize,
502         gtk_container_unblock_resize, gtk_container_need_resize,
503         gtk_object_class_add_user_signal, gtk_spin_button_construct,
504         gtk_scrolled_window_construct.
505         removed non-functional functions:
506         gtk_container_disable_resize, gtk_container_enable_resize,
507         gtk_clist_set_policy.
508
509 Wed Nov 18 22:54:36 1998  Tim Janik  <timj@gtk.org>
510
511         * gtk/gtkbox.c (gtk_box_init): 
512         * gtk/gtkdrawingarea.c (gtk_drawing_area_init): 
513         * gtk/gtkeventbox.c (gtk_event_box_init): 
514         * gtk/gtkfixed.c (gtk_fixed_init): 
515         * gtk/gtkframe.c (gtk_frame_init): 
516         * gtk/gtkhandlebox.c (gtk_handle_box_init): 
517         * gtk/gtkpacker.c (gtk_packer_init): 
518         * gtk/gtkmisc.c (gtk_misc_init): 
519         * gtk/gtkpreview.c (gtk_preview_init): 
520         * gtk/gtkprogress.c (gtk_progress_init): 
521         * gtk/gtkprogressbar.c (gtk_progress_bar_init): 
522         * gtk/gtkseparator.c (gtk_separator_init): 
523         * gtk/gtktable.c (gtk_table_init): 
524         * gtk/gtkviewport.c (gtk_viewport_init): 
525         * gtk/gtkalignment.c (gtk_alignment_init): 
526         removed setting of the GTK_BASIC flag.
527
528         * gtk/gtkwidget.h:
529         * gtk/gtkwidget.c:
530         removed GTK_BASIC, GTK_WIDGET_BASIC and gtk_widget_basic.
531
532         * miscellaneous GtkType and macro fixups.
533
534 Sat Nov 21 18:53:13 1998  Owen Taylor  <otaylor@redhat.com>
535
536         * gdk/gdkwindow.c (gdk_window_get_deskrelative_origin): 
537         Fixed so it at least works with window managers other
538         than Enlightenment, though it probably needs to be
539         removed altogether.
540
541 1998-11-21  Andrew T. Veliath  <andrewtv@usa.net>
542
543         * gtk/gtkhandlebox.[ch]: Add shadow_type and
544         gtk_handle_box_set_shadow_type function (plus a
545         GtkHandleBox::shadow arg) to allow configuration of shadow in the
546         bin window.
547
548 Thu Nov 19 23:47:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
549
550         * gtk/gtkcalendar.c: Fix for marking days from 
551           Dan Reish <dreish@izzy.net>.
552
553 Thu Nov 19 00:15:27 1998  Lars Hamann  <lars@gtk.org>
554
555         * gtk/gtkctree.c (gtk_ctree_node_nth): return the nth GtkCTreeNode
556         in row_list. (from Samuel Solon <ssolon@usa.net>)
557         
558         * gtk/gtkclist.c (gtk_clist_get_column_title): return column title
559         (gtk_clist_get_column_widget): return column widget
560
561 Wed Nov 18 11:54:57 1998  Owen Taylor  <otaylor@redhat.com>
562
563         * gtk/gtkdnd.c (gtk_drag_find_widget): Accept drops
564         that are sent to a toplevel but are not within the
565         toplevels bounds.
566
567         * gdk/gdkdnd.c gdk/gdk.h: Added support for a
568         XdndProxy atom which proxies the drag to another window.
569
570 1998-11-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
571
572         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, now
573         that it is not needed.
574
575 Tue Nov 17 1998 The Rasterman <raster@redhat.com>
576         * gdk/gdk.h, gdk/gdkwindow.c: Added gdk_window_get_deskrelative_origin
577           function to correctly determine gdk window position relative to
578           its "root window" - contains check for an Enlightenment
579           virtual root window.
580         * gtk/gtkhandlebox.c: changed gdk_window_get_origin ->
581           gdk_window_get_deskrelative_origin to get the origin of dragged
582           handleboxes correctly. Now it works correctly with E.
583           
584 Tue Nov 17 1998  Tuomas Lukka <lukka@iki.fi>
585
586         * gtk/gtktypeutils.c: Fix vital bug where LOOKUP was used when
587           getting types even though we were not using real type names,
588           just the index.  This caused random crashes when more than 
589           256 types were defined.
590
591 1998-11-17  Martin Baulig  <martin@home-of-linux.org>
592
593         * gtk/genmarshal.pl: Put output files in the current directory
594         and not in the $(srcdir) since the VPATH is ignored for built
595         sources.
596
597 Tue Nov 17 01:37:53 PST 1998 Manish Singh <yosh@gimp.org>
598
599         * gtk/genmarshal.pl
600         * gtk/Makefile.am: check for unchanged autogenerated files, so
601         we don't rebuild everything just for adding a new function
602
603 Mon Nov 16 19:19:00 CST 1998 Shawn T. Amundson <amundson@gtk.org>
604
605         * gtk/gtkpixmap.h
606           gtk/gtkpixmap.c: Pixmaps now grey out when insensitive,
607           code thanks to GNOME stock by Eckehard Berns.  New function
608           gtk_pixmap_set_build_insensitive to provide ability to turn 
609           this off.
610
611 Tue Nov 17 00:06:29 1998  Lars Hamann  <lars@gtk.org>
612
613         * gtk/gtknotebook.h (struct _GtkNotebook): new flags : homogeneous;
614         new guints : tab_hborder, tab_vborder; marked tab_border deprecated
615         (struct _GtkNotebookPage): new flags : expand, fill, pack
616
617         * gtk/gtknotebook.h/c
618         (gtk_notebook_set_homogeneous_tabs): new function. set homogeneneous
619         tabs
620         (gtk_notebook_set_tab_border): set tab_h/vborder to tab_border
621         (gtk_notebook_set_tab_hborder): new function. set tab_hborder
622         (gtk_notebook_set_tab_vborder): new function. set tab_vborder
623         (gtk_notebook_query_tab_label): new function. get tab_label widget.
624         (gtk_notebook_set_tab_label): new function. set tab_label widget.
625         (gtk_notebook_set_tab_label_text): new function. set tab_label text.
626         (gtk_notebook_query_menu_label): new function. get tab_label widget.
627         (gtk_notebook_set_menu_label): new function. set tab_label widget.
628         (gtk_notebook_set_menu_label_text): new function. set tab_label text.
629         (gtk_notebook_set_tab_label_packing): new function. set tab_label
630         fill, expand, fill_type
631         (gtk_notebook_query_tab_label_packing): new function. get tab_label
632         fill, expand, fill_type
633
634         (gtk_notebook_real_page_position): return logic page number
635         (gtk_notebook_search_page) search next/prev logic page
636         (gtk_notebook_update_labels): set logic page number.
637         (gtk_notebook_page_compare): renamed gtk_notebook_find_page
638         (gtk_notebook_set/get_child_arg): new args CHILD_ARG_TAB_EXPAND,
639         CHILD_ARG_TAB_FILL, CHILD_ARG_TAB_PACK
640         (gtk_notebook_button_press) (gtk_notebook_key_press)
641         (gtk_notebook_focus) (gtk_notebook_pages_allocate)
642         (gtk_notebook_calc_tabs) (gtk_notebook_switch_focus_tab)
643         use gtk_notebook_search_page
644         (gtk_notebook_page_allocate): fixed allocation bug
645         (gtk_notebook_set/get_arg): new args TAB_HBORDER, TAB_VBORDER.
646         (gtk_notebook_init): unset GTK_NO_WINDOW flag
647         (gtk_notebook_size_request): check whether page->child is visible.
648         changes due to tab h/vborder, homogeneous tabs
649         (gtk_notebook_paint): don't draw invisible tabs
650         (gtk_notebook_switch_page): calculate page_num if it's less than 0
651         (gtk_notebook_append_*) (gtk_notebook_prepend_*)
652         (gtk_notebook_insert_page): removed sanity checks
653
654         * gtk/testgtk.c (create_notebook): extended Notebook sample a bit.
655
656 Mon Nov 16 15:10:33 1998  Owen Taylor  <otaylor@redhat.com>
657
658         * gtk/gtktext.c: Optimizations for [advance/decrement]_mark_n.
659         (gtk-mailund-980718-0, Thomas Mailund Jensen <mailund@daimi.aau.dk>)
660
661         * gtk/gtkfixed.c: Removed gtk_fixed_umap, which was 
662         broken. (GtkWidget's default unmap handler should work fine).
663         Pointed out by Patrice Fortier <Patrice.Fortier@aquarel.fr>
664
665 Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org>
666
667         * gtk/gtkmenubar.[ch]: added shadow_type setting and
668         gtk_menu_bar_set_shadow_type function to allow shadow
669         configurability for menubars
670
671         * gtk/gtkviewport.h: use GtkShadowType enum instead of generic
672         guint
673
674 Mon Nov 16 00:17:53 1998  Tim Janik  <timj@gtk.org>
675
676         * gtk/gtktypeutils.c (gtk_type_new): relookup type node after
677         class creation and parent class' object initializer.
678
679 1998-11-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
680
681         * gtk/gtkpaned.c (gtk_paned_realize): Destroy the cursor after we
682         have assigned it to the window -- there is no point in keeping it around.
683         (gtk_paned_unrealize): No need to destroy the cursor here.
684
685         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, as
686         it is not needed.
687
688 Fri Nov 13 11:22:38 1998  Owen Taylor  <otaylor@redhat.com>
689
690         * gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new().
691         (gtk-blizzard-981005-0. 
692          Christopher Blizzard <blizzard@applied-theory.com)
693
694         * gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and
695         gdk_pixmap_foreign_new to gdkx.h.
696
697 Fri Nov 13 16:06:48 1998  Owen Taylor  <otaylor@redhat.com>
698
699         * gtk/Makefile.am: Added rules to generate an empty
700         GTK+ theme called "Default" upon installation.
701         
702         * gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance
703         of fonts and fontsets. 
704         (gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp)
705
706         * gtk/gtkmain.c: Change test to detect glibc's
707         utf8 based mb* functions to be more specific.
708
709         * gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation 
710         cleanups.
711
712 Fri Nov 13 16:43:36 1998  Lars Hamann  <lars@gtk.org>
713
714         * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
715         show event_window
716         (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
717         event_window if draw_indicator is set
718         (gtk_toggle_button_set_mode):
719
720 Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
721
722         * gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
723         ensure proper type (SunPro cc complains)
724
725         * gtk/gtklist.c: removed bogus '*' from "*GTK_CONTAINER_CLASS"
726
727         * gtk/gtktogglebutton.c: use our own draw method so we get proper
728         redraws on active state
729
730 Thu Nov 12 00:26:13 1998  Lars Hamann  <lars@gtk.org>
731
732         * gtk/gtkstyle.c (gtk_default_draw_box_gap): use GtkPositionType
733         defines.
734
735         * gtk/gtknotebook.c (gtk_notebook_draw_tab): fixed gap_side for
736         GTP_POS_RIGHT
737
738 Wed Nov 11 19:54:58 1998  Lars Hamann  <lars@gtk.org>
739
740         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init)
741         (gtk_scrolled_window_set_arg) (gtk_scrolled_window_get_arg):
742         added ARG_WINDOW_PLACEMENT
743
744         * gtk/gtkclist.c (size_allocate_columns): resize column if column
745         button > column width and auto_resize is set
746         (real_clear) (column_auto_resize) (gtk_clist_optimal_column_width):
747         consider column button width of auto resized columns
748         (gtk_clist_parent_set): removed 
749
750         * gtk/gtkctree.c (gtk_ctree_insert_node): call column_auto_resize.
751         (auto_resize_columns): auto_resize all columns
752         (real_tree_collapse) (gtk_ctree_remove_node): call auto_resize_columns
753         (column_auto_resize): respect column button width of auto resized
754         columns
755
756 1998-11-10  Martin Baulig  <baulig@merkur.uni-trier.de>
757
758         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_4): Define this so
759         we can check for latest GTK features.
760
761 Mon Nov  9 00:39:20 1998  Lars Hamann  <lars@gtk.org>
762
763         * gtk/gtkenums.h : new enum GtkCornerType 
764         * gtk/gtkscrolledwindow.h (struct _GtkScrolledWindow): added
765         window_placement.
766         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_placement): 
767         new method to set window_placement.
768         (gtk_scrolled_window_viewport_allocate)
769         (gtk_scrolled_window_size_allocate): few changes due to
770         window_placement.
771         * gtk/testgtk.c (remove_selection): fixed while loop.
772
773 Sat Nov  7 21:55:00 PST 1998 Manish Singh <yosh@gimp.org>
774
775         * gtk/gtkclist.c: check if column[i].button is valid before calling
776         gtk_widget_intersect on it in gtk_clist_draw
777
778         * gtk/gtkdnd.c: removed unused variable empty_bits
779
780         * gtk/gtkrc.c: we should use gslist_* functions with GSLists...
781
782         * gtk/gtktypeutils.[ch]: makes more send for gtk_type_is_a to return
783         a boolean (thanks to Elrond for noticing this)
784
785 1998-11-07  Jay Cox  <jaycox@earthlink.net>
786
787         * gtk/gtkwindow.c: forward declaration for gtk_window_paint
788         * gdk/gdkxid.c: declare xid_ht static
789         * examples/*/Makefile: get the link ordering right.
790
791 Sat Nov  7 16:31:56 1998  Stefan Jeske  <stefan@gtk.org>
792
793         * gtk/gtkclist.c (gtk_clist_realize): Set background of
794         title button window to GTK_STATE_NORMAL instead of
795         GTK_STATE_SELECTED to avoid ugly flicker.
796
797 Fri Nov  6 23:29:40 1998  Lars Hamann  <lars@gtk.org>
798
799         * gtk/gtkclist.c (real_clear) (adjust_adjustments): resize clist
800         if adjustments are NULL and list size has changed
801         (gtk_clist_size_request): return real list requsition,
802         if adjustments are NULL.
803         (size_allocate_columns): use button->requisition.with, if column
804         width is not set.
805         (list_requisition_width): new function. return full list width.
806         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): do not
807         auto create adjustments.
808         (gtk_clist_motion) (move_vertical) (move_horizontal):
809         check adjustment != NULL.
810
811 Thu Nov  5 12:06:16 1998  Owen Taylor  <otaylor@redhat.com>
812
813         * gtk/gtkcheckbutton.c (gtk_check_button_draw_focus): Queue
814         a clear/redraw, not just a redraw, so the focus
815         gets undrawn properly.
816
817         * gtk/gtktogglebutton.c (gtk_toggle_button_unrealize): 
818         Chain to gtk_widget_unrealize() instead of duplicating
819         code.
820
821 Wed Nov  4 14:34:51 1998  Owen Taylor  <otaylor@redhat.com>
822
823         * gdk/gdk.c gdk/gdkprivate.h gdk/gdkwindow.c: Removed
824         last vestiges of old DND.
825
826 Tue Nov  3 12:27:52 1998  Owen Taylor  <otaylor@redhat.com>
827
828         * gtk/gtkentry.c: Restored inner border to entries,
829         erase cursors to background image.
830
831 Fri Oct 30 12:09:21 1998  Owen Taylor  <otaylor@redhat.com>
832
833         * gtk/gtkentry.c gtk/gtkstyle.[ch]: removed paint_entry() -
834         it was identical to paint_flat_box().
835
836         * gtk/gtkstyle.c: Coding style fixups.
837
838         * gtk/gtkwindow.c (gtk_window_move_resize): removed useless
839         test.
840
841         * gtk/gtkframe.c gtkstyle.[ch] gtknotebook.c: 
842         Change 'side' for paint_[box/shadow]_gap and paint_extension
843         to be GtkPositionType instead of a random int.
844
845         * gtk/gtkaspectframe.c (gtk_aspect_frame_paint): Use 
846         "frame" as detail - an aspectframe should draw identical
847         to a frame.
848
849 Tue Oct 27 09:58:11 1998  Owen Taylor  <otaylor@redhat.com>
850
851         * gdk/gdkwindow.c (gdk_window_merge_child_shapes): renamed
852         from combine_child_shapes().
853
854         * gdk/gdkwindow.c: Merge propagate_shapes() and
855         propagate_combine_shapes() to remove code duplication.
856
857 Thu Nov  5 14:31:57 PST 1998 Manish Singh <yosh@gimp.org>
858
859         * gdk/gdk.c: sometimes we get a KeyRelease before a KeyPress in
860         gdk_event_translate, and the USE_XIM buffer isn't allocated yet.
861         So allocate some mem if it's not already done.
862
863         * clist scrollbar merges from HEAD
864
865 Tue Nov  3 13:16:36 PST 1998 Manish Singh <yosh@gimp.org>
866
867         * gtk/Makefile.am: remove explict -ldl, gmodule takes care of that
868
869         * gtk/gtkdnd.c: start TARGET_MOTIF_SUCCESS from 0x40000000 instead
870         of 0x80000000, so we stay within the bounds of a postive signed
871         int (it broke some compilers)
872
873         * gtk/gtkmenushell.c
874         * gtk/gtkoptionmenu.c: merges from HEAD to make option menus work
875         when some of the menuitems are hidden
876
877         * gtk/gtkthemes.h: don't include dlfcn.h explictly, gmodule takes
878         care of that
879
880         * gtk/gtkwidget.c: add a dummy continue after the line label
881         next_rect, since some compilers don't like label: }
882
883 Sun Nov  1 20:05:55 PST 1998 Manish Singh <yosh@gimp.org>
884
885         * Okay, so we need the X11R6 keysyms so programs don't have to
886         worry about them. They don't conflict anyway. Reverted the #ifdef
887         changes to gtk/*.c
888
889         * gdk/Makefile.am: remove the BUILT_SOURCES rule, and make a
890         special rule for them (X-derived-headers)
891
892 Sun Nov  1 05:30:32 PST 1998 Manish Singh <yosh@gimp.org>
893
894         * gdk/Makefile.am: changed the awk scripts to generate gdkcursors.h
895         and gdkkeysyms.h into sed scripts, since the awk scripts weren't
896         portable, and we really shouldn't be using awk anyway.
897
898         * makecursors.awk
899         * makekeysyms.awk: bye bye
900
901         * gtk/gtkaccelgroup.c
902         * gtk/gtkclist.c
903         * gtk/gtknotebook.c
904         * gtk/gtkwindow.c: don't use X11R6 keysyms if they aren't there
905
906 Sat Oct 31 15:22:14 PST 1998 Manish Singh <yosh@gimp.org>
907
908         * gdk/Makefile.am: do the same built sources trick for gdkcursors.h
909         and gdkkeysyms.h. Remove those files from CVS.
910
911 Sat Oct 31 14:44:01 PST 1998 Manish Singh <yosh@gimp.org>
912
913         * gdk/gdk.c: move prototype of gdk_wm_protocols_filter outside
914         of the USE_XIM #ifdef
915
916         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
917         even with --include-deps. Slightly different from timj's fix, to avoid
918         circular dependency with gtkmarshal.c
919
920         * autogen.sh
921         * gtk/gtkclist.[ch]
922         * gtk/gtkctree.c
923         * gtk/gtkfontsel.[ch]
924         * gtk/gtklist.c
925         * gtk/gtklistitem.c
926         * gtk/gtkobject.[ch]
927         * gtk/testgtk.c: merges from HEAD
928
929         * gtk/gtkmenubar.c
930         * gtk/gtkradiomenuitem.c
931         * gtk/gtktreeitem.c: cleanups
932
933 Wed Oct 28 23:32:19 PST 1998 Manish Singh <yosh@gimp.org>
934
935         * gdk/gdkrgb.c: Oops. s/BIGENDIAN/BIG_ENDIAN/
936
937 Wed Oct 28 19:04:49 PST 1998 Manish Singh <yosh@gimp.org>
938
939         * configure.in: AIX has libpthreads, to make sure you can have
940         more than one thread. Also add -D_THREAD_SAFE, and reorder
941         configure.in so CFLAGS doesn't get clobbered when we actually
942         want to modify it
943
944         * gdk/gdkimage.c: initialize the bpp and byte_order fields properly
945         in gdk_image_get
946
947         * gtk/testdnd.c: removed unused variable "buf"
948
949 Mon Oct 26 16:46:15 1998  Owen Taylor  <otaylor@redhat.com>
950
951         * gtk/gtkcontainer.c (gtk_container_unregister_toplevel): 
952         remove_link(), not remove()
953
954 Thu Oct 22 02:27:30 PDT 1998 Manish Singh <yosh@gimp.org>
955
956         * gdk/gdkrgb.c: use glib endian stuff
957
958         * configure.in: don't need to check for endianness anymore
959
960         * gtk/gtkstyle.h: removed #pragma }, causing a silly warning
961
962 Wed Oct 21 17:44:27 1998  Owen Taylor  <otaylor@redhat.com>
963
964         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Reset
965         all toplevel widgets, not toplevel windows. (I.e.,
966         plugs should be reset)
967
968         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Yes, we
969         _do_ need to notify the other toplevels - by the time
970         the get the client messages, the RC file dates will
971         have been updated.
972
973         * gtk/gtkcontainer.h: Added a function call to list
974         every toplevel widget.
975
976         * gdk/gdk.c (gdk_event_send_client_message_to_all_recurse): 
977         Don't send client messages to _every_ window on display!
978         
979 Tue Oct 20 16:21:04 1998  Owen Taylor  <otaylor@redhat.com>
980
981         * gtk/gtkdnd.c (gtk_drag_source_event_cb): Don't start drags 
982         when dragging across widgets, only in drags
983         starting in widget.
984
985 Tue Oct 20 15:59:49 1998  Owen Taylor  <otaylor@redhat.com>
986
987         * gtk/gtkdnd.c (gtk_drag_source_info_destroy): 
988         Emit "drag_end" signal at end of drag.
989
990 Tue Oct 20 13:07:54 1998  Owen Taylor  <otaylor@redhat.com>
991
992         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Look
993         for "gtk-embedded" data currently set by 
994         GtkSocket, and use that to forward client message
995         on to embedded windows. Only reset our own toplevel -
996         the others will handle themselves. (Now that
997         GtkMenus live in GtkWindows)
998
999 Mon Oct 19 16:40:40 1998  Owen Taylor  <otaylor@redhat.com>
1000
1001         * gdk/gdkdnd.c (get_client_window_at_coords_recurse): Modify
1002         client window finding code so that it works with
1003         WM's other than fvwm.
1004  
1005 Sun Oct 18 22:48:27 1998  Owen Taylor  <otaylor@redhat.com>
1006
1007         * gtk/gtkdrawwindow.c (gtk_draw_window_get_type): Added
1008         the "GtkDrawWindow" class, which is a descendent
1009         of the Window class which leaves its background alone.
1010         Essentially, a toplevel drawing area, though it does
1011         allow adding a child.
1012
1013 Sat Oct 17 00:40:51 1998  Owen Taylor  <otaylor@redhat.com>
1014
1015         * gtk/gtkrc.c (gtk_rc_style_init): Duplicate bg_pixmap_name when
1016         merging RC styles. Report new share/themes path for
1017         themes directory. Deref theme engines when appropriate.
1018
1019         * gtk/gtkclist.c: Set all backgrounds in _style_set().
1020         Make sure that pixel for xor_gc is never 0.
1021
1022         * gtk/gtkctree.c: Choose colors for plus/minus more
1023         carefully, in a hopefully style-independent fashion.
1024         (Still needs a bit more work)
1025
1026         * gtk/gtkwidget.c: Don't send expose events to widgets
1027         which are about to be resized and redrawn. (Needs a
1028         bit more thought.)
1029
1030         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Avoid
1031         drawing on tabs for newly allocated, un-sized
1032         pages - we'll get the size wrong.
1033
1034 Thu Oct  1 17:38:07 1998  Owen Taylor  <otaylor@redhat.com>
1035
1036         * gtk/gtkwidget.c (gtk_widget_redraw_queue_remove): Fixed
1037         up stupidities in last commit.
1038
1039 Thu Oct  1 14:25:43 1998  Owen Taylor  <otaylor@redhat.com>
1040
1041         * gtk/gtkwidget.c: When handling queued resizes, account
1042         for handleboxes, where the widget heirarchy is different
1043         than the window heirarchy by just queueing a resize on
1044         the entire handlebox if the detached child is changed.
1045
1046         - Remove widgets from the redraw queue when reparenting,
1047         even if not unrealizing. We queue a resize/redraw in
1048         any case.
1049
1050 Mon Sep 28 21:07:01 EDT 1998 The Rasterman <raster@redhat.com>
1051         * gtk/gtkstyle.c: added check to see if the widget has been shaped
1052         byt the app via gtk_widget_shape_combine_mask and if it has does
1053         not reset the shape on theme change.
1054         
1055 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
1056
1057         * gtk/gtkfilesel.c: Keep a list of directories in which we never
1058         want to stat the entries (like /afs), and assume everything in
1059         those directories is a subdirectory.
1060
1061         - When following a path, try to open components even when
1062         we don't find them in their parent's directory to
1063         support automounters.
1064
1065 Fri Sep 11 15:36:33 1998  Owen Taylor  <otaylor@redhat.com>
1066
1067         * gdk/gdkinputgxi.h (gdk_input_gxi_grab_pointer): Hopefully
1068         now at least compiles again.
1069
1070         * gdk/gdk.c (gdk_event_translate): Don't pass events
1071         on destroyed widgets to the gdk_input layer.
1072
1073 Thu Sep  3 19:45:34 1998  Owen Taylor  <otaylor@redhat.com>
1074
1075         * gtk/gtkthemes.c: Use g_module instead of dlopen()
1076
1077 Thu Sep  3 19:30:11 1998  Owen Taylor  <otaylor@redhat.com>
1078
1079         * gtk/gtktooltips.c (gtk_tooltips_expose): Check
1080         if we've changed widgets since the expose event
1081         was queued.
1082
1083 Mon Aug 31 15:33:13 1998  Owen Taylor  <otaylor@redhat.com>
1084
1085         * gtk/gtkstyle.h (struct _GtkStyle): Reordered a bit
1086         to restore approximate bin compatibility with the
1087         non-themes branch. (This does break bin compat
1088         within the themes branch.)
1089
1090 Sun Aug 30 16:48:27 1998  Owen Taylor  <otaylor@gtk.org>
1091
1092         * gtk/gtklabel.c (gtk_label_set): Eliminate a 
1093         gdk_window_clear_area() that snuck in with the
1094         menu underlines merge.
1095
1096 Mon Aug 24 23:37:26 1998  Owen Taylor  <otaylor@redhat.com>
1097
1098         * gtk/gtktext.c: Fixed some remaining background drawing,
1099           merges from main branch, cleanups.
1100
1101 Mon Aug 24 10:55:51 1998  Owen Taylor  <otaylor@redhat.com>
1102
1103         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Don't
1104           dereference NULL focus tab.
1105
1106         * gtk/gtkscale.c (gtk_scale_[un]map): Add map/unmap
1107           functions since we need to both show/hide and 
1108           queue a redraw. (There's some duplication of drawing here, 
1109           we probably should only be queuing a redraw on the
1110           "value" portion of the scale.)
1111
1112 Fri Aug 21 19:02:30 1998  Owen Taylor  <otaylor@redhat.com>
1113
1114         * gtk/gtkrange.[ch] gtk/gtkhscale.c gtk/gtkvscale.[ch]: Fit scales
1115           into the theme-drawing framework. We do this by making them,
1116           like check/radio-buttons, no-window widgets with subwindows. We
1117           then move the value by calling gtk_widget_queue_clear() and only
1118           redraw the value in our draw() / expose() handler.  A virtual
1119           function clear_background is added which queues a clear on the
1120           "background" portion of the widget.
1121
1122 Fri Aug 21 13:04:27 1998  Owen Taylor  <otaylor@redhat.com>
1123
1124         * gtk/gtktext.c (mark_bg_gc): Make background colors work
1125           again. (We can't always paint the background with a
1126           paint() function - only do that for selected text)
1127
1128 Mon Aug 17 20:31:01 1998  Owen Taylor  <otaylor@redhat.com>
1129
1130         * gtk/gtktearoffmenuitem.c gtk/gtkclist.[ch] gtk/gtkctree.[ch]
1131           gtk/gtklabel.c gtk/gtkmenu.c: Merges from main branch.
1132
1133         * Makefile.am (SRC_SUBDIRS): Removed themes from SRC_SUBDIRS.
1134           the themes can't be built as part of the same build since
1135           they depend on gdk_imlib.
1136
1137 Fri Aug 14 12:44:30 1998  Owen Taylor  <otaylor@redhat.com>
1138
1139         * gtk/gtkthemes.c (gtk_theme_engine_get): Removed sample engine code
1140           from gtkthemes.c.
1141                 
1142         * configure.in ltconfig.in ltmain.sh gdk/Makefile.am gtk/Makefile.am
1143           gtk/
1144
1145           - Upgrade to libtool-1.2b + patch to add shared library dependencies
1146             for Linux. (Needs to be extended to other platforms where they
1147             are safe)
1148
1149          - Check for -ldl so this branch should build on all platforms, though
1150            themes will work on all platforms they could work on.
1151
1152          - Use -version and -release simultaneously: sonames stay as they are
1153            in the current scheme, but -lgtk-1.1 changes to -lgtk.
1154
1155          - Added in extra -l flags to library LDFLAGS so we get shared library
1156            dependencies against X libs and -ldl. (But not libgtk against 
1157            libgdk or libglib yet, since dependencies against uninstalled
1158            libraries aren't portable)
1159
1160 Fri Aug 21 16:10:38 EDT 1998 The Rasterman <raster@redhat.com>
1161         * gtkrc.c - added api calls to find module and theme paths from gtk.
1162           nuked gtk_install_prefix global.
1163         
1164 Fri Aug 21 12:36:46 EDT 1998 The Rasterman <raster@redhat.com>
1165         * fixed gtk_install_prefix global.
1166           
1167 Thu Aug 20 19:27:49 EDT 1998 The Rasterman <raster@redhat.com>
1168         * added gtk_install_prefix global const variabel to find where gtk is
1169           installed.
1170           
1171 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
1172         * added ~/.gtk/lib/themes/engines/ to the default searchpath for
1173           gtk theme engines
1174         
1175 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
1176         * made gtkrc scanner append dir that gtkrc is read from to pixmap path.
1177
1178 Mon Aug 10 23:03:55 1998  The Rasterman <raster@redhat.com>
1179         * Fixed minor problem in gtkhandlebox.c with drawing, and some
1180           notebook stuff. Also pixmap theme is now "clean" again.
1181           
1182 Mon Aug 10 23:03:55 1998  Owen Taylor  <otaylor@redhat.com>
1183         * gtk/gtkwidget.c (gtk_widget_clip_rect): Fixed up 
1184           queued area resizing once more.
1185
1186 Mon Aug 10 23:09:30 EDT 1998
1187         * Added a few drawing fixes for notebook and other widgets. finished
1188           pixmap theme up to the level that can be supported so far. (need to
1189           add path discovery 9ie where is the rc fiel from - add to pixmap 
1190           path so we can get theimages from there too). then we can package 
1191           themes. After that need to add to theme seartch path stuff in users 
1192           home dir.
1193           
1194 Thu Aug  6 16:49:25 1998  Owen Taylor  <otaylor@redhat.com>
1195
1196         * gtk/gtktooltips.c (gtk_tooltips_expose): Draw into a
1197           drawing area, draw in an expose handler.
1198
1199         * gtk/gtknotebook.c (gtk_notebook_expose): Check for
1200           empty current page.
1201
1202 Wed Aug  5 16:13:15 1998  Owen Taylor  <otaylor@redhat.com>
1203
1204         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel): Moved
1205           creation of GC's so that they will be set before
1206           they are used for map events (why are they used there?)
1207
1208         * gtk/gtkwidget.c: Fixed mistake that caused widgets to
1209           be queued in multiple times in the queue.
1210
1211 Wed Aug  5 14:23:52 1998  Owen Taylor  <otaylor@redhat.com>
1212
1213         * gtk/gtkstyle.c (gtk_default_draw_shadow): Don't set
1214           clip rects (or do anything) for shadow_none.
1215
1216 Wed Aug  5 13:14:57 1998  Owen Taylor  <otaylor@redhat.com>
1217
1218         * gtk/gtkbutton.c (gtk_button_paint): Restored paint function.
1219           Yes, it was needed. draw() and expose() are _not_
1220           identical.
1221
1222 Sat Aug  1 17:44:31 EDT 1998 EDT 1998 The Rasterman <raster@redhat.com>
1223         * Wheeeeeeeeeeeeeeee fixed radiobittons to work in gimp again.
1224
1225 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
1226         * YES YES YES YES YES clist borders work again! YES! YES YES! gimme 
1227           more baby oooh yeah more more MORE YES YES.
1228
1229 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
1230         * hopefully fixed problem wiht togglebuttons acting like
1231           radiobuttons in gtktogglebutton.c
1232
1233 Thu Jul 30 23:36:46 EDT 1998 The Rasterman <raster@redhat.com>
1234         * fixed another drawing buglet in the frame drawing code (actually
1235           in the clearing code but anyway in gtkstyle.c)
1236
1237 Thu Jul 30 19:23:48 EDT 1998 The Rasterman <raster@redhat.com>
1238         * Fixed warning from colorsel widget...
1239
1240 Thu Jul 30 19:10:42 EDT 1998 The Rasterman <raster@redhat.com>
1241         * Fixed defautl drawing code to no longer clobber the original style
1242           pixmap bgs as it did and added a helper funciton og gtkstyle.c to
1243           help with this.
1244
1245 Thu Jul 30 18:09:21 1998  Owen Taylor  <otaylor@redhat.com>
1246
1247         * gtk/gtkrc.c gtk/gtkstyle.c: More mm fixups
1248
1249         * gtk/gtktooltips.c: Pass a widget (the window) to the
1250           drawing function instead of the GtkTooltips.
1251
1252 Thu Jul 30 17:27:10 1998  Owen Taylor  <otaylor@redhat.com>
1253
1254         * gdk/gdkwindow.c: Abstract out checking for shape
1255           extension into a function.
1256
1257         * gtk/gtkwindow.c: Fix up gtk_window_expose()/draw().
1258           Remove extra callls to gtk_window_draw().
1259
1260 Thu Jul 30 11:18:43 1998  Owen Taylor  <otaylor@redhat.com>
1261
1262         * gtk/gtkstyle.c gtk/gtkrc.c: Memory management fixups.
1263
1264         * themes/th_main.c: Moved messages around so they are
1265           printed before destroying strings.
1266
1267 Wed Jul 29 16:56:07 1998  Owen Taylor  <otaylor@redhat.com>
1268
1269         * gdk/gdk.c: Fairly simple implementation of expose compression.
1270           (No GraphicsExpose compression yet, always compress
1271           with the equivalent of XtCompressMultiple - no compression
1272           of Expose events across non-Expose events)
1273         
1274         * gdk/gdk.h gdk/gdkrectangle.c: gdk_rectangle_union()
1275           Find rectangle bounding two rectangles.
1276
1277         * gtk/gtkstyle.c: Set clip rects for a few extra GC's
1278           in gdk_default_draw_shadow()
1279         
1280 Wed Jul 29 16:03:20 EDT 1998 The Rasterman <raster@redhat.com>
1281         * Fixed drawing functions to handle switching themes on the fly 
1282           gracefully and look decent.
1283           
1284 Tue Jul 28 22:52:10 EDT 1998 The Rasterman <raster@redhat.com>
1285         * Added all the theme drawing code to all widgets, fixed up minor
1286           nigglies in some widgets when it comes to themes, seem to be
1287           running into some funky behavior with clipping rects in GC's. Too
1288           many files to list here. (all files that now use gtk_paint_* are
1289           affected).
1290
1291 Tue Jul 28 22:49:16 1998  Owen Taylor  <otaylor@redhat.com>
1292
1293         * themes/th_main.c themes/th_draw.c gtk/testgtkrc: 
1294           Set up the demo theme so it is loaded from the RC file.
1295
1296         * themes/th_draw.c: Alleviate the hardcoded paths a wee
1297           bit. (use $HOME/themes/)
1298
1299         * gtk/gtkthemes.[ch] gtk/gtkmain.c: Load engines specified in 
1300           the RC file via dlopen()
1301
1302 Tue Jul 28 20:30:56 1998  Owen Taylor  <otaylor@redhat.com>
1303
1304         Internal handling of styles and RC styles pretty much
1305         completely reworked for Theme work.
1306
1307         * gtkthemes.[ch]: 
1308          - Added routines for virtualization of RcStyle and Style handling.
1309          - Temporary "sample" inline theme-engine. (Does nothing
1310            but print out a few messages.
1311         
1312         * gtkrc.[ch]
1313          - Made GtkRcStyle public, added flags to tell if particular
1314            colors have been set.
1315          - RC Styles are "transparent", and the final style for
1316            a widget is the composition of all matching styles
1317          - Added pointer to GtkThemeEngine, and gpointer engine_data
1318            to RC style and style.
1319          - Parse "engine" keyword, load the appropriate theme engine
1320            and call the engine's parser.
1321         
1322         *  gtkstyle.[ch]
1323          - Keep a GtkRcStyle * in styles created from Rc Styles.
1324          - Load up images from RC file at style attachment time.
1325          - Call ->engine->foo() at appropriate times.
1326          - Don't use a GCache. All incarnations for a style are
1327            just linked together in a list, depend on the RC style 
1328            code to find the existing copy.
1329
1330 Tue Jul 28 14:41:54 1998  Owen Taylor  <otaylor@redhat.com>
1331
1332         * gtk/gtkwidget.[ch]: Added the concept of queued redraws
1333           of partial areas. This can be done either relative
1334           to the existing windows (gtk_widget_queue_clear[_area]())
1335           or relative to the future allocation of the widget
1336           (gtk_widget_queue_draw[_area]). 
1337
1338           The initial implementation is pretty braindead, but
1339           can be improved.
1340
1341         * gtk/gtkwidget.[ch]: Removed calls to gdk_window_clear_area()
1342           in favor of gtk_widget_queue_clear().
1343         
1344         * gtk/gtklabel.[ch] gtk/gtkpixmap.[ch]: Removed needs_clear
1345           flags in favor of gtk_widget_queue_clear()
1346         
1347 Tue Aug  4 19:12:14 1998  Owen Taylor  <otaylor@redhat.com>
1348
1349         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fixed up
1350           handling of partially clipped areas.
1351
1352 Thu Nov  5 18:52:35 1998  Lars Hamann  <lars@gtk.org>
1353
1354         * gtk/gtkclist.h (struct _GtkCListClass)
1355         * gtk/gtkclist.c (gtk_clist_class_init): removed scrollbar_spacing.
1356
1357 Thu Nov  5 16:00:32 1998  Lars Hamann  <lars@gtk.org>
1358
1359         * gtk/gtkclist.h (struct _GtkCList): removed vscrollbar, hscrollbar,
1360         vscrollbar_policy, hscrollbar_policy. added h/vadjustment.
1361
1362         * gtk/gtkclist.c (gtk_clist_class_init): added new args types
1363         "hadjustment" & "vadjustment"
1364          (gtk_clist_set_arg) (gtk_clist_get_arg): new object class
1365         set/get_arg functions
1366         (gtk_clist_construct): don't create/adjust scrollbars.
1367         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): new functions
1368         to set h/vadjustments
1369         (gtk_clist_get_vadjustment) (gtk_clist_get_hadjustment): new functions
1370         to query h/vadjustments
1371         (create_scrollbars): removed.
1372         (create_adjustments): replacement for create_scrollbars
1373         (gtk_clist_new): call gtk_clist_new_with_titles
1374         (gtk_clist_new_with_titles): don't warn on titles == NULL
1375         (move_horizontal): use CLAMP instead
1376         (gtk_clist_set_policy): deprecated method.
1377         use gtk_scrolled_window_set_policy instead.
1378         (vadjustment_value_changed): use clist->vadj.
1379         (adjust_scrollbars): renamed to adjust_adjustments
1380         (adjust_adjustments): former adjust_scrollbars
1381         (gtk_clist_destroy): unref adjustments
1382         (gtk_clist_size_allocate) (gtk_clist_map) (title_focus)
1383         (gtk_clist_unmap) (gtk_clist_size_request) (gtk_clist_focus)
1384         (gtk_clist_size_allocate) (gtk_clist_forall): don't use scrollbars
1385         (gtk_clist_thaw) (real_insert_row) (real_remove_row)
1386         (gtk_clist_set_row_height) (real_resize_column):
1387         call adjust_adjustments
1388         (gtk_clist_moveto): return if clist has no adjustments yet.
1389         (gtk_clist_parent_set): new GtkWidget::parent_set function.
1390         Autogenerate h/vadjustments if needed.  
1391         (move_horizontal) (move_vertical): some cleanups
1392
1393         * gtk/gtkviewport.c (gtk_viewport_set_arg) (gtk_viewport_new):
1394         call only gtk_viewport_set_h/vadjustment and let these functions
1395         do the work.
1396         (gtk_viewport_set_hadjustment) (gtk_viewport_set_vadjustment):
1397         generate a new adjustment if needed
1398
1399         * gtk/gtkscrolledwindow.h ((struct _GtkScrolledWindow):
1400         use a guint bitfield for h/vscrollbar_policy and h/vscrollbar_visible
1401         
1402         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
1403         queue_resize if visibility of scrollbars changes
1404         (gtk_scrolled_window_remove): only call container_remove with
1405         scrolled_window->viewport automatically if viewport was autogenerated
1406         (gtk_scrolled_window_add): add widget as scrolled_window->viewport.
1407         auto create a viewport only if widget does not take h/vadjustments.
1408         (gtk_scrolled_window_construct): don't generate a viewport
1409         automatically.
1410         (gtk_scrolled_window_forall): call callback with viewport in any case
1411         (gtk_scrolled_window_set_arg): call gtk_container_add in case of
1412         ARG_VIEWPORT
1413         (gtk_scrolled_window_size_allocate) (gtk_scrolled_window_size_request)
1414         (gtk_scrolled_window_map) (gtk_scrolled_window_unmap): check
1415         viewport != NULL
1416
1417         * gtk/testgtk.c 
1418         (create_ctree) (export_ctree) (create_clist): use a scrolled_window
1419         in conjunction with clists/ctrees
1420
1421         * gtk/gtkfilesel.c (gtk_file_selection_init): use a scrolled_window
1422         in conjunction with clists
1423
1424         * gtk/gtkfontsel.c (gtk_font_selection_init): use a scrolled_window
1425         in conjunction with clists
1426
1427 Wed Nov  4 21:52:57 1998  Lars Hamann  <lars@gtk.org>
1428
1429         * gtk/gtkctree.c (gtk_ctree_unlink): fix focus_row adjustment
1430         (gtk_ctree_remove_node): select focus_row if needed
1431         (cell_size_request): only get pixmap size if pixmap != NULL
1432
1433 Wed Nov  4 04:30:37 1998  Tim Janik  <timj@gtk.org>
1434
1435         * gtk/gtkwidget.c: added a bunch of checks for widget != NULL and
1436         GTK_IS_WIDGET (widget):
1437
1438 Wed Nov  4 02:02:07 1998  Lars Hamann  <lars@gtk.org>
1439
1440         * gtk/gtkclist.c (real_remove_row) (sync_selection): set correct
1441         focus_row after a remove_row call.
1442
1443 Sun Nov  1 21:00:06 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>
1444
1445         * gtk/gtkoptionmenu.c
1446         * gtk/gtkmenushell.c: make option menus work when some of the
1447         menuitems are hidden - previously, option menu would popup too
1448         high.
1449
1450 1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
1451
1452         * gtk/gtkfeatures.h.in: Remove `#pragma }'.
1453
1454         * gdk/gdki18n.h: Update to use new `glib' widechar defines.
1455
1456         * configure.in (CFLAGS): Don't use test -z "echo .. | grep".  Use
1457         case instead.
1458         (wchar.h, wctype.h, iswalnum): Duplicate widechar tests from `glib'.
1459         (GDK_WLIBS): New variable.  Lists extra libraries needed to use
1460         widechar functions.
1461         * gtk-config.in (--libs): List $GDK_WLIBS, too.
1462
1463 Sat Oct 31 03:11:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1464
1465         * Released GTK+ 1.1.3
1466         
1467         * INSTALL:
1468         * NEWS:
1469         * README:
1470         * gtk+.spec:
1471         * docs/gtk-config.1: updated for v1.1.3
1472
1473         * Makefile.am
1474         * sanity_check
1475         * docs/Makefile.am: Includes new 'make release' as well as
1476           'make sanity'.  Also handles html and text creation from html,
1477           and puts them into the distribution
1478
1479         * docs/Makefile.sgml: removed, similar functionality is now in 
1480           the Makefile.am file
1481
1482         * docs/.cvsignore: ignore html and text directories
1483         * docs/glib.texi: removed (now in glib dist)
1484
1485 Fri Oct 30 20:02:36 1998  Lars Hamann  <lars@gtk.org>
1486
1487         * gtk/gtklist.c (gtk_list_remove_items_internal): 
1488         free undo_un/selection, unselect list_item before disconnect
1489         signal functions
1490         (gtk_list_destroy): removed. gtk_list_shutdown clears the list
1491         already
1492         (gtk_list_signal_item_select) (gtk_list_signal_item_deselect)
1493         (gtk_list_signal_item_toggle)   (gtk_list_signal_scroll_horizontal)
1494         (gtk_list_signal_toggle_focus_row) (gtk_list_signal_select_all)
1495         (gtk_list_signal_unselect_all) (gtk_list_signal_undo_selection)
1496         (gtk_list_signal_start_selection) (gtk_list_signal_end_selection)
1497         (gtk_list_signal_toggle_add_mode) (gtk_list_signal_scroll_vertical)
1498         (gtk_list_signal_extend_selection) (gtk_list_signal_focus_lost):
1499         new functions. These functions are signal connected to inserted
1500         list_items, to handle key bindings and GtkItem::de/select/toggle
1501         signals.
1502
1503         * gtk/gtklistitem.c (gtk_list_item_class_init): added missing
1504         gtk_object_class_add_signals call.
1505         (gtk_list_item_toggle_focus_row) (gtk_list_item_select_all)
1506         (gtk_list_item_unselect_all) (gtk_list_item_undo_selection)
1507         (gtk_list_item_start_selection) (gtk_list_item_end_selection)
1508         (gtk_list_item_extend_selection) (gtk_list_item_scroll_horizontal)
1509         (gtk_list_item_scroll_vertical) (gtk_list_item_toggle_add_mode):
1510         removed. These functions are handled via connected
1511         gtk_list_signal_* functions now
1512
1513 Fri Oct 30 05:24:43 1998  Tim Janik  <timj@gtk.org>
1514
1515         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
1516         even with --include-deps:
1517         $(libgtk_la_SOURCES): $(BUILT_SOURCES)
1518
1519 Fri Oct 30 01:56:08 1998  Tim Janik  <timj@gtk.org>
1520
1521         * gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
1522         gtk_object_data_set_destroy to fit the gtkobject.h API.
1523
1524         * applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
1525         * gtk/gtkfontsel.h:
1526         * gtk/gtkfontsel.c:
1527         Added support for an extra 'base' filter which an application can
1528         set to restrict the fonts available to the user (e.g. a terminal
1529         program only wants the user to be able to select fixed-width fonts).
1530         The type of font (bitmap/scalable/scaled bitmap) is now
1531         also a part of the filter, so that an application can
1532         request that only scalable fonts are shown.
1533         There are new functions to set the base & user filters.
1534         I've also stopped the up/down key press signals getting
1535         to the clists since the font selection widget handles
1536         them itself. It acted a bit strangely before.
1537
1538 Sun Oct 25 20:27:02 1998  Tim Janik  <timj@gtk.org>
1539
1540         * gtk/gtkmain.c (gtk_init): support an environment variable
1541         GTK_MODULES= which takes a colon sperated list of module names
1542         automatically loaded at gtk_init() startup.
1543
1544 Sun Oct 25 08:04:33 1998  Tim Janik  <timj@gtk.org>
1545
1546         * gtk/gtkwidget.c: added more g_return_if_fail() statements.
1547
1548 Thu Oct 22 22:40:35 1998  Lars Hamann  <lars@gtk.org>
1549
1550         * gtk/gtkctree.c (gtk_ctree_destroy): removed. gtk_clist_destroy
1551         is sufficient
1552
1553 Thu Oct 22 16:22:55 1998  Lars Hamann  <lars@gtk.org>
1554
1555         * gtk/gtkclist.c (COLUMN_FROM_XPIXEL): samll fix for invisible
1556         columns
1557
1558 Thu Oct 22 02:29:53 1998  Tim Janik  <timj@gtk.org>
1559
1560         * gtk/gtkfilesel.h: GtkType and macro fixups
1561         * gtk/gtkfilesel.c (gtk_file_selection_complete): set a pattern
1562         for the file selection widget to try a completion on (set the
1563         initial filter).
1564
1565 Wed Oct 14 14:34:04 1998  Tim Janik  <timj@gtk.org>
1566
1567         * gtk/gtkmain.c: implement idle functions via GHook. this gives a
1568         slight speed improvement and lessens code duplication.
1569
1570 Tue Oct 20 14:53:28 1998  Owen Taylor  <otaylor@redhat.com>
1571
1572         * gtk/gtkdnd.c: Always send "drag_leave" to dests
1573         without GTK_DEST_DEFAULT_MOTION. 
1574
1575 Tue Oct 20 11:55:24 1998  Owen Taylor  <otaylor@redhat.com>
1576
1577         * gdk/gdk.c (gdk_event_translate): Handle DestroyNotify
1578         on destroyed windows so we clear the XID table properly.
1579         Finish up restructure of return value handling that
1580         was half-done before.
1581
1582 Tue Oct 20 12:57:10 1998  Owen Taylor  <otaylor@redhat.com>
1583
1584         * gdk/gdk.c (gdk_send_clientmessage_to_all): Hunt
1585         the window tree more comprehensively, so that we find
1586         client windows hidden under non-toplevels.
1587
1588 Tue Oct 20 12:43:04 1998  Owen Taylor  <otaylor@redhat.com>
1589
1590         * gtk/gtkselection.c (gtk_selection_data_set): 
1591         Maintain the null-termintation guarantee, even when 
1592         data = NULL, length = 0. (Warn on data = NULL, 
1593         length > 0)
1594
1595 Mon Oct 19 16:41:44 1998  Owen Taylor  <otaylor@redhat.com>
1596
1597         * gtk/gtkwidget.h (struct _GtkWidgetClass): Add in coordinates
1598         into function prototype for drag_data_received. 
1599
1600 Tue, 20 Oct 1998 11:33:10 +0200 Paolo Molaro <lupus@debian.org>
1601
1602         * gtk/gtkdnd.h,gtk/gtkdnd.c: delete is a reserved word in c++.
1603
1604 Mon Oct 19 23:44:41 1998  Lars Hamann  <lars@gtk.org>
1605
1606         * gtk/gtkclist.c: rearranged some functions
1607         (gtk_clist_set_column_auto_resize): new function. toggle auto_resize
1608         flag of column
1609         (gtk_clist_set_column_resizeable): if resizeable disable auto_resize 
1610         (gtk_clist_set_border): deprecated function, use
1611         gtk_clist_set_shadow_type instead.
1612         (gtk_clist_set_shadow_type): replacement for gtk_clist_set_border
1613         (adjust_scrollbars): some cleanups
1614         (select_row) (unselect_row): removed. replaced by equivalent
1615         gtk_signal_emit calls
1616         (add_style_data): removed, use gtk_clist_style_set instead
1617         (gtk_clist_style_set): fill in size data, after style was set. 
1618         (set_cell_contents) (gtk_clist_set_shift) (gtk_clist_set_row_style)
1619         (gtk_clist_set_cell_style): auto_resize columns if needed
1620         (column_auto_resize): resize column if needed for auto_resize 
1621         (real_clear): disable auto_resize while list destroy
1622         (resize_column): removed
1623
1624         * gtk/gtkctree.c : (gtk_ctree_remove_node)
1625         (gtk_ctree_set_line_style) (gtk_ctree_set_expander_style)
1626         (gtk_ctree_node_set_row_style) (gtk_ctree_node_set_cell_style)
1627         (set_cell_contents) (gtk_ctree_node_set_shift) (gtk_ctree_set_spacing)
1628         (real_tree_move) (gtk_ctree_set_indent) (gtk_ctree_insert_node)
1629         (real_tree_collapse) (real_tree_expand) (column_auto_resize):
1630         auto_resize columns if needed
1631         (gtk_ctree_collapse_recursive) (gtk_ctree_collapse_to_depth)
1632         (real_clear): disable auto_resize while processing the tree
1633
1634         * gtk/testgtk.c (create_clist) (create_ctree): set auto_resize
1635         for one column
1636
1637 Mon Oct 19 08:31:36 1998  Owen Taylor  <otaylor@redhat.com>
1638
1639         * gtk/gtkdnd.c (gtk_drag_selection_received): Fixed
1640         typo - look for right atom on transfer failures.
1641
1642 Sun Oct 18 20:52:22 1998  Owen Taylor  <otaylor@gtk.org>
1643
1644         * gtk/gtkwidget.c gtkmarshal.list: Change signal 
1645         for drag_data_get to match the use that was being
1646         made of it everywhere else...
1647
1648 Sun Oct 18 18:16:39 1998  Owen Taylor  <otaylor@gtk.org>
1649
1650         * gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
1651         mechanism, that is used for the DND messages.
1652
1653           Removed all the old DND code.
1654
1655         * gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
1656         get the visual of a given colormap.
1657         
1658         * gtk/gtkcolorsel.c: Conversion to new DND, drag 
1659         a color-swatch.
1660
1661         * gdk/gdk.h gdk/gdkdnd.c: The low-level
1662         X oriented portions of drag and drop protocols.
1663         Sending and receiving client messages, and navigating
1664         window trees.
1665
1666         * gdk/gdkimage.c: added a gdk_flush() when destroying
1667         SHM images to hopefully make it more likely that
1668         X will gracefully handle the segment being destroyed.
1669
1670         * gdk/gdkprivate.h gtk/gtkdebug.h: Add new 
1671         DND debugging flags.
1672
1673         * gtk/gtkeditable.[ch]: Updates for the selection handling
1674         changes.
1675         
1676         * gtk/gtkselection.[ch]: Added GtkTargetList, a 
1677         refcounted data structure for keeping track of lists
1678         of GdkAtom + information. Removed selection_handler_add
1679         in favor of a "drag_data_get" signal.
1680
1681         * gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
1682         dependent) parts of the DND protocols, display of drag icons,
1683         drag-under highlighting, and the "default handlers".
1684
1685         * gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
1686         windows that are used for reliable pointer grabs and
1687         selection handling in the DND code.
1688
1689         * gtk/testdnd.c: New test program for new DND. (Old
1690         DND tests in testgtk still need to be converted.)
1691
1692         * gtk/testselection.c: Use the new selection API.
1693         
1694         * docs/dnd_internals: Start at describing how
1695         all the new code works inside.
1696
1697         * docs/Changes-1.2.txt: New file describing source-incompatible
1698         changes in GTK+-1.2.
1699
1700 Sat Oct 17 22:50:34 1998  Owen Taylor  <otaylor@gtk.org>
1701
1702         * gdk/gdkwindow.c (gdk_window_remove_filter): Free
1703         the right list node.
1704
1705         * gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
1706         to the XID table so we can receive events on it.
1707
1708 Wed Oct 14 12:57:40 1998  Owen Taylor  <otaylor@redhat.com>
1709
1710         * gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
1711         to get the timestamp from a generic event.
1712
1713 Fri Oct  9 13:16:04 1998  Owen Taylor  <otaylor@redhat.com>
1714
1715         * gtk/gtkwidget.c (gtk_widget_add_events): Added function
1716         that safely adds additional events to a widget's event 
1717         mask, even if the widget has previously been realized.
1718         (We can do this, but not remove events from the event
1719          mask).
1720
1721 Fri Oct  2 17:35:35 1998  Owen Taylor  <otaylor@redhat.com>
1722
1723         * gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
1724         for AnyPropertyType.
1725
1726 Fri Oct  2 10:32:21 1998  Owen Taylor  <otaylor@redhat.com>
1727
1728         * gdk/gdkproperty.c (gdk_atom_intern): Add client-local
1729         hashing.
1730
1731 Thu Sep 24 20:33:54 1998  Owen Taylor  <otaylor@redhat.com>
1732
1733         * gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
1734         isn't a timestamp.
1735
1736 Thu Sep 17 14:23:03 1998  Owen Taylor  <otaylor@redhat.com>
1737
1738         * gdk/gdk.c (gdk_event_translate): Removed printing
1739         of unknown window lookup warnings. (Made it
1740         a GDK_NOTE) - they happen in many circumstances.
1741
1742 Tue Sep  8 12:38:43 1998  Owen Taylor  <otaylor@redhat.com>
1743
1744         * Call XFilterEvent() on events we get for unknown
1745         windows, since it may be the window Xlib uses to
1746         communicate with the IM. 
1747         (From Yung-Ching Hsiao <yhsiao@cae.wisc.edu>)
1748
1749 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
1750
1751         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
1752         the adjustment.
1753
1754 Thu Aug 27 12:03:14 1998  Owen Taylor  <otaylor@redhat.com>
1755
1756         * gtk/gtksignal.c (gtk_signal_newv): Improve warning
1757         message for return_value + GTK_RUN_FIRST.
1758
1759 1998-10-18  Martin Baulig  <martin@home-of-linux.org>
1760
1761         * gtk/gtktext.c (gtk_text_set_line_wrap): new function to toggle
1762         line wrapping like gtk_text_set_word_wrap () toggles word wrapping.
1763
1764 Fri Oct 16 15:59:02 1998  Lars Hamann  <lars@gtk.org>
1765
1766         * gtk/testgtk.c (insert_row_clist) (create_clist): change a few cell
1767         styles of inserted row
1768         (change_style): change style of focus_row
1769
1770         * gtk/gtkclist.c (gtk_clist_get_row_style) (gtk_clist_set_row_style)
1771         (gtk_clist_get_cell_style) (gtk_clist_set_cell_style): new functions
1772         to set/get row/cell styles.
1773         (gtk_clist_realize): attach row and cell style, allocate row colors.
1774         (gtk_clist_unrealize): detach row and cell styles.
1775         (get_cell_style): new function. get correct cell style.
1776         (draw_cell_pixmap): new function. 
1777         (draw_row): draw cells with row or cell styles.
1778         (row_new): set cell and row styles to NULL.
1779         (row_delete): detach & unref cell and row styles.
1780
1781         * gtk/gtkctree.c (ctree_detach_styles) (ctree_attach_styles): 
1782         new functions to attach/detach styles and allocate colors.
1783         (gtk_ctree_realize) (gtk_ctree_unrealize): attach/detach cell and row
1784         styles of invisible nodes.
1785         (draw_cell_pixmap): new function. 
1786         (get_cell_style):  new function. get correct cell style.
1787         (gtk_ctree_draw_expander): new function. draw tree expander.
1788         (gtk_ctree_draw_lines): new function.draw tree lines.
1789         (draw_row): draw cells with row or cell styles.
1790         (row_new): set cell and row styles to NULL.
1791         (row_delete): detach & unref cell and row styles.
1792         (gtk_ctree_node_get_row_style) (gtk_ctree_node_set_row_style) 
1793         (gtk_ctree_node_get_cell_style) (gtk_ctree_node_set_cell_style): 
1794         Analogons of GtkCList functions 
1795         (gtk_ctree_set_spacing): new function. set spacing between
1796         tree expander and cell contents
1797         (gtk_ctree_set_expander_style): new function. set expander style
1798         of ctree.
1799         (ctree_is_hot_spot): few changes due to draw_row modifications.
1800
1801 Wed 14 Oct 1998 10:17:13 +0200 Paolo Molaro <lupus@debian.org>
1802
1803         * gtk/gtkcombo.c: try completion on MOD1-TAB.
1804         Handle case when the combo->list is empty.
1805
1806 Mon Oct 12 07:51:34 1998  Tim Janik  <timj@gtk.org>
1807
1808         * gtk/gtksignal.c (gtk_signal_handlers_destroy): only unref those
1809         handlers that have not yet been disconnected (finally managed to
1810         trigger the gtk_signal_handler_unref() paranoid warning).
1811
1812 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
1813
1814         * gtk/gtkwidget.c (gtk_widget_get_arg): fixed default value for x, y,
1815         width and height which is -1 and not -2.
1816
1817 Sat Oct 10 00:50:53 PDT 1998 Manish Singh <yosh@gimp.org>
1818
1819         * HACKING
1820         * autogen.sh: we need libtool 1.2b now
1821
1822 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
1823
1824         * gtk/gtktable.c (gtk_table_set_child_arg): take the left, right, top
1825         and bottom attach arguments as mandatory and readjust the table size
1826         and opposing edge accordingly if required. this way the order in which
1827         the arguments are set doesn't matter.
1828
1829 Thu Oct  8 15:53:59 1998  Owen Taylor  <otaylor@redhat.com>
1830
1831         * gtk/gtktypeutils.c (gtk_type_class_init): Fixed warning
1832         message to print out parent class name correctly.
1833
1834 Thu Oct  8 07:07:10 1998  Tim Janik  <timj@gtk.org>
1835
1836         * gtk/gtkobject.h: 
1837         * gtk/gtkobject.c:
1838         removed functions gtk_object_set_data_destroy and
1839         gtk_object_set_data_destroy_by_id.
1840         added functions gtk_object_remove_no_notify and
1841         gtk_object_remove_no_notify_by_id which will remove a certain data
1842         portion without invokation of its destroy notifier, this should only
1843         be used in very controled circumstances.
1844
1845 Wed Oct  7 23:59:37 1998  Lars Hamann  <lars@gtk.org>
1846
1847         * gtk/gtkclist.c (gtk_clist_set_column_resizeable): added
1848         size_allocate_title_buttons call
1849         (gtk_clist_realize): changed initial column.window position
1850
1851 Wed Oct  7 20:27:28 1998  Lars Hamann  <lars@gtk.org>
1852
1853         * gtk/gtkctree.h (struct _GtkCTree): removed xor_gc, use clists
1854         xor_gc instead
1855         * gtk/gtkctree.c (create_xor_gc): removed
1856         (gtk_ctree_button_press): set correct line_attributes for
1857         clist->xor_gc on drag start
1858         (gtk_ctree_button_release): reset clist->xor_gc
1859
1860 Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>
1861
1862         * gtk/gtk*.h:
1863         * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
1864         which were in place to fixup emacs' cc-mode indentation.
1865         putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
1866         proper way to achive this and doesn't produce problems for
1867         stupid pragma-related compiler bugs. ;)
1868
1869 Wed Oct  7 00:59:46 1998  Lars Hamann  <lars@gtk.org>
1870
1871         * gtk/gtkclist.h: new signal GtkCList::resize_column.
1872         * gtk/gtkclist.c (draw_row): don't draw invisible columns
1873         (size_allocate_title_buttons) (size_allocate_columns):
1874         skip invisible columns
1875         (new_column_width): take min/max_width into account 
1876         (gtk_clist_button_release) (gtk_clist_motion):
1877         changes due to changed new_column_width function
1878         (LIST_WIDTH): changed define to inline function.
1879         (real_resize_column): class function for resize_column signal
1880         (gtk_clist_motion): fixed autoscrolling for column resizes
1881         (gtk_clist_set_column_visibility): don't hide last visible column,
1882         changed visible arg to gboolean
1883         (gtk_clist_set_column_min_width)(gtk_clist_set_column_max_width):
1884         new functions : set min/max width of a column
1885         (gtk_clist_set_column_resizeable): new function : enable/disable
1886         column resize operations by mouse
1887
1888         * gtk/gtkctree.c (draw_row): don't draw invisible columns
1889         (ctree_is_hot_spot): return FALSE if tree_column is invisible
1890         (draw_xor_line)  (draw_xor_rect): draw full rectangle/line if
1891         tree_column is invisible
1892         (gtk_ctree_find_all_by_row_data)
1893         (gtk_ctree_find_all_by_row_data_custom):  new function from
1894         Ronan Bourlier <ronan@radioss.com>. Returns a GList of all
1895         GtkCTreeNodes with row->data == data.
1896
1897 Tue Oct  6 14:05:00 1998  Tim Janik  <timj@gtk.org>
1898
1899         * gtk/testgtk.c (cb_tree_destroy_event): use g_free to free g_malloced
1900         memory (Martin Pool <mbp@wistful.humbug.org.au>).
1901
1902 Mon Oct  5 15:26:30 1998  Raph Levien  <raph@gimp.org>
1903
1904         * gdk/gdkrgb.c (gdk_rgb_convert_0888_br): Fixed a few long's that
1905         should have been guint32. Thanks to Tristan Colgate for finding it.
1906
1907 Sun Oct  4 22:47:22 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1908
1909         * gtk/gtkcalendar.h:
1910           gtk/gtkcalendar.c: More changes:
1911           - The day with focus is now seperated from the day selected
1912           - The day with focus has the xor's line around it
1913           - The selected day is now standard selected style
1914           - The week names and week numbers are now also drawn
1915             with selected style
1916           - Space now selects the day which has focus
1917
1918 Sun Oct  4 17:55:52 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1919
1920         * gtk/gtkcalendar.h:
1921           gtk/gtkcalendar.c: Some significant changes, including:
1922           - No longer draw focus around entire widget, only around
1923             the day which has focus
1924           - Draw relief around entire widget like originally planned
1925           - Show header and day names by default 
1926           - Move data private to the widget out of GtkCalendar struct
1927             and only point to it with a gpointer
1928           - Remove some old unused variables from GtkCalendar struct
1929
1930 Sun Oct  4 17:45:43 BST 1998  Tony Gale  <gale@gtk.org>
1931
1932         * docs/gtk_tut.sgml: update I've had sat around:
1933           - Grammar patch from James R. Van Zandt <jrv@vanzandt.mv.com>
1934           - Range Widget update from David Huggins-Daines <bn711@freenet.carleton.ca>
1935           - New Toolbar section from Jacek Wojdel <J.C.Wojdel@cs.tudelft.nl>
1936
1937 1998-10-01  Martin Baulig  <martin@home-of-linux.org>
1938
1939         * gtk/gtkclist.h (GtkCListColumn): Added `visible'.
1940         
1941         * gtk/gtkclist.c (gtk_clist_set_column_visibility): New function.
1942         Makes it possible to individually show and hide columns.
1943         (size_allocate_columns): Adapted to keep track of hidden columns.
1944         (size_allocate_title_buttons): Likewise.
1945
1946 Sat Oct  3 17:54:48 1998  Tim Janik  <timj@gtk.org>
1947
1948         * gtk/gtkargcollector.c (GTK_ARG_COLLECT_VALUE): for unknown foreign
1949         fundamental types, collect an argument of the type returned from
1950         gtk_type_get_varargs_type(). removed the first macro argument which
1951         was just the same as the fundamental type of the *arg passed to
1952         the macro.
1953         * gtk/gtkarg.c (gtk_args_collect): 
1954         * gtk/gtksignal.c (gtk_signal_collect_params): changed callers.
1955
1956         * gtk/gtktypeutils.h: 
1957         * gtk/gtktypeutils.c: new functions gtk_type_set_varargs_type() and
1958         gtk_type_get_varargs_type() to set and query the varargs collect
1959         type used for a fundamental type, registered outside of Gtk.
1960
1961         * gtk/gtkmisc.c (gtk_misc_class_init): changed object arguments
1962         GtkMisc::xalign and GtkMisc::yalign from GTK_TYPE_DOUBLE to
1963         GTK_TYPE_FLOAT.
1964
1965         * gtk/gtkframe.c (gtk_frame_class_init): changed object arguments
1966         GtkFrame::label_xalign and GtkFrame::label_yalign from GTK_TYPE_DOUBLE
1967         to GTK_TYPE_FLOAT.
1968
1969 Sat Oct  3 01:25:24 1998  Lars Hamann  <lars@gtk.org>
1970
1971         * gtk/gtkctree.c (gtk_ctree_insert_gnode) (real_tree_collapse)
1972         (gtk_ctree_link) (gtk_ctree_unlink) (real_tree_expand): 
1973         fixes for assignment errors with GTK_CTREE_NODE_NEXT/PREV
1974
1975         (real_tree_expand) (real_tree_collapse):
1976         don't expand/collapse a leaf
1977
1978 Fri Oct  2 16:10:36 1998  Tim Janik  <timj@gtk.org>
1979
1980         * gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't
1981         segfault when looking up a non-existant value name (reported by
1982         Pablo <pcj+gtk@primenet.com>).
1983
1984 Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
1985
1986         * gtk/gtkclist.h (gtk_clist_prepend):
1987         * gtk/gtkclist.c (gtk_clist_prepend): new function.
1988         (gtk_clist_insert): added g_return_val_if_fail()
1989         statements. accept a row parameter < 0 or > clist->rows to indicate
1990         append mode.
1991         (real_clear): first clean up all internal pointers and lists (e.g.
1992         clist->row_list or clist->rows), then delete the distinct rows. this
1993         is required because of destroy notifiers, we need to have all internal
1994         structures updated and be reentrant.
1995
1996         * gtk/gtkcalendar.h: 
1997         * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
1998         GtkCalendarClass signal methods.
1999         GtkType and macro fixups, put `void' into () prototypes, avoid C++
2000         style comments, indentation fixes, fixed some g_return_if_fail()
2001         statements.
2002         (gtk_calendar_paint_header):
2003         (gtk_calendar_paint_day_names): 
2004         (gtk_calendar_paint_week_numbers): 
2005         (gtk_calendar_paint_main): made these static functions.
2006         (gtk_calendar_select_month):
2007         (gtk_calendar_select_day):
2008         (gtk_calendar_mark_day):
2009         (gtk_calendar_unmark_day):
2010         (gtk_calendar_get_date): signedness corrections, use guints
2011         rather than gints.
2012         (gtk_calendar_size_request): removed unused variables.
2013
2014 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
2015
2016         * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
2017         widgets in the ->widgets_by_action list that have a callback
2018         defined (not only those with a callback_action!=0).
2019
2020 Sun Sep 27 22:02:48 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2021
2022         * gtk/gtkcalendar.h:
2023           gtk/gtkcalendar.c:
2024           examples/calendar/gcalendar.c: remove HAVE_FEATURES stuff
2025
2026 Sun Sep 27 02:18:06 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2027
2028         * gtk/gtkcalendar.h:
2029           gtk/gtkcalendar.c:
2030           examples/calendar: Added gtkcalendar widget and demo
2031
2032 Sat Sep 26 06:15:34 1998  Tim Janik  <timj@gtk.org>
2033
2034         * gtk/gtkclist.c (gtk_clist_sort): 
2035         (gtk_clist_clear): 
2036         (gtk_clist_unselect_all): 
2037         (gtk_clist_select_all): adde g_return_if_fail() statements.
2038
2039 Sat Sep 26 04:46:22 1998  Tim Janik  <timj@gtk.org>
2040
2041         * configure.in: set binary age and interface age to 0.
2042
2043         * gtk/gtkspinbutton.h: 
2044         * gtk/gtkspinbutton.c: changed gtk_spin_button_construct to
2045         gtk_spin_button_configure. gtk_spin_button_construct is still defined
2046         as an alias for gtk_spin_button_configure for source compatibility,
2047         but actuall use is deprecated.
2048         typeness corrections, i.e. gint->gboolean and gint->guint.
2049         added object arguments: GtkSpinButton::value, GtkSpinButton::wrap,
2050         GtkSpinButton::shadow_type, GtkSpinButton::update_policy,
2051         GtkSpinButton::numeric, GtkSpinButton::snap_to_ticks,
2052         GtkSpinButton::adjustment, GtkSpinButton::digits and
2053         GtkSpinButton::climb_rate.
2054         GtkType and macro fixups.
2055
2056 Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>
2057
2058         * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
2059         the *real* geometry position of a window, taken possible window
2060         manager offsets into account.
2061         this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
2062         olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
2063         it does fail though for amiwm which adds windows to a pseudo root
2064         window, and for icewm by a small offset because it defines the
2065         geometry position whithin its border.
2066
2067         * gtk/testgtk.c: added "saved position" test to figure how
2068         gdk_window_get_root_origin() interacts with window managers (repopup
2069         this window to figure ;).
2070
2071 Wed Sep 23 06:09:19 1998  Tim Janik  <timj@gtk.org>
2072
2073         * configure.in: update to Gtk+ version 1.1.3, binary age 1,
2074         interface age 1.
2075
2076         * gtk/gtkobject.c
2077         (gtk_object_ref): 
2078         (gtk_object_unref): check for ->ref_count to be greater than 0 (the
2079         existing code was buggy in letting ->ref_count==0 pass through and
2080         then failing the living_objs_ht assertion).
2081
2082         * gtk/gtkclist.c (draw_row): fix chopping bug for right justified
2083         pixtext fields (Roman Pozlevich <roma@botik.ru>).
2084
2085 Mon Sep 21 23:53:18 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2086
2087         * Released GTK+ 1.1.2
2088
2089 Mon Sep 21 01:12:44 1998  Jay Cox  (jaycox@earthlink.net)
2090
2091         * gtk/Makefile.am: use $(PERL) instead of perl
2092         * gtk/gtkcolorsel.c: render properly in non-square aspect ratios.
2093         also much faster to render.
2094
2095 Mon Sep 21 07:44:30 1998  Tim Janik  <timj@gtk.org>
2096
2097         * gtk/gtkobject.c (gtk_object_class_add_signals): reallocate
2098         the required memory block, rather than allocating it newly from
2099         scratch and doing a full-blown block copy on it.
2100
2101 Mon Sep 21 02:30:06 1998  Tim Janik  <timj@gtk.org>
2102
2103         * NEWS file update for upcoming release of Gtk+ version 1.1.2,
2104         binary age 0, interface age 0.
2105
2106         * gtk/gtkmain.c (gtk_init): enforce gtk-modules to always be resident.
2107
2108 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
2109
2110         * ltmain.sh: Patch to libtool-1.2b to make --disable-static
2111         work.
2112
2113 Sun Sep 20 09:52:39 1998  Owen Taylor  <otaylor@gtk.org>
2114
2115         * HACKING: indent other than GNU indent should be OK
2116           now.
2117
2118         * gtk/genmarshal.pl gtk/Makefile.am: Call indent on file
2119           instead of piping through indent. If indent wasn't
2120           found in ./configure don't bother indenting at 
2121           all.
2122
2123 Fri Sep 18 19:11:10 1998  Owen Taylor  <otaylor@redhat.com>
2124
2125         * gdk/gdk.h: Add names to prototype for gdk_image_new_bitmap.
2126
2127 Fri Sep 18 18:54:59 1998  Jay Cox  (jaycox@earthlink.net)
2128
2129         * gtk/Makefile.am: use $(AWK) instead of awk
2130
2131 1998-09-18  Raja R Harinath  <harinath@cs.umn.edu>
2132
2133         * gtk/Makefile.am (gdk_headers): 
2134         Remove references to $(top_srcdir). 
2135         (gtk.defs, gtktypebuiltins{.h,_vars.c,_ids.c,_evals.c}): Simplify.
2136         * gtk/makeenums.pl (parse_entries): Don't look for $srcdir.
2137
2138 Fri Sep 18 19:58:24 1998  Tim Janik  <timj@gtk.org>
2139
2140         * gtk/gtkobject.h (struct _GtkObject): changed gpointer object_data; to
2141         GData*object_data to cure compiler warnings.
2142
2143 Thu Sep 17 19:06:47 PDT 1998 Manish Singh <yosh@gimp.org>
2144
2145         * install-sh
2146         * missing
2147         * mkinstalldirs: updated to latest automake version
2148
2149 1998-09-17  Raja R Harinath  <harinath@cs.umn.edu>
2150
2151         * gtk/Makefile.am (source_headers): Move `gtkfeature.h' ...
2152         (gtkinclude_HEADERS): ... here.
2153         (gtk.defs): Pass `g' flag to sed, to replace all occurances.
2154
2155 Thu Sep 17 10:49:51 1998  Raph Levien  <raph@gimp.org>
2156
2157         * HACKING: added GNU indent, as it is now required to successfully
2158         build gtk+. Should this be detected in autoconf, possibly?
2159
2160 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
2161
2162         * Makefile.am gtk-config.in l*: Update to libtool-1.2b,
2163         change library versioning scheme to drop LT_RELEASE
2164         from the -l line, while keeping it in the soname.
2165
2166 Tue Sep 15 14:10:33 1998  Owen Taylor  <otaylor@redhat.com>
2167
2168         * configure.in Makefile.in: define a MAINT-like variable REBUILD
2169         which is set if Perl and awk are found, and autogenerated sources
2170         can be rebuilt. Remove the auto-generated sources from
2171         CVS. 
2172
2173         Add dependencies so that the autogenerated sources are 
2174         rebuilt if the files they depend on change. 
2175         (This unfortunately currently results in the entire
2176         gtk/ directory being rebuilt when any header changes.
2177         Moving all enums to gtkenums.h would fix this.)
2178
2179 Thu Sep 17 05:12:48 1998  Tim Janik  <timj@gtk.org>
2180
2181         * gtk/gtkobject.h: added gtk_object_set_data_destroy and
2182         gtk_object_set_data_destroy_by_id functions to set the destroy
2183         function pointer for an existing data portion.
2184
2185         * gtk/gtkobject.c: removed the GtkObjectData implementation and
2186         made all gtk_object_*data* functions use the GLib equivalents.
2187
2188 1998-09-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2189
2190         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Test whether type
2191         is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before checking that
2192         (widget != NULL), otherwise radio button insertion will not work
2193         -- the widget argument is NULL for the first radio button in the
2194         group.
2195
2196 Tue Sep 15 13:09:24 1998  Owen Taylor  <otaylor@redhat.com>
2197
2198         * gdk/gdkimage.c (gdk_image_new): Reverted global changes
2199         of g_new to malloc(), added back in the one place where
2200         it actually mattered. #include <stdlib.h>.
2201
2202         * gdk/gdkrgb.c: g_malloc() to malloc() as above.
2203
2204 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
2205
2206         * gtk/gtkfilesel.c: Keep a list of directories in which we never
2207         want to stat the entries (like /afs), and assume everything in
2208         those directories is a subdirectory.
2209
2210         - When following a path, try to open components even when
2211         we don't find them in their parent's directory to
2212         support automounters.
2213
2214 Tue Sep 15 11:06:13 1998  Owen Taylor  <otaylor@redhat.com>
2215
2216         * gtk/gtkwindow.c (gtk_window_move_resize): Don't request
2217         a new size from the WM if we asked for the same size
2218         before and our request was rejected.
2219
2220         * gtk/gtkwindow.c (gtk_window_configure_event): If
2221         in response to a request, we get a configure event
2222         with unchanged dimensions, send a synthetic expose
2223         since ForgetGravity won't expose our window.
2224
2225 Mon Sep 14 14:28:24 1998  Owen Taylor  <otaylor@redhat.com>
2226
2227         * gtk/gtktext.c (adjust_adj): Change the way we
2228         set the adjustments on resize so that it tries to
2229         keep the beginning of the text in approximately
2230         the same place. 
2231
2232         Removed assertion that the above change made invalid.
2233
2234 Thu Sep 10 22:19:35 1998  Owen Taylor  <otaylor@redhat.com>
2235
2236         * gtk/gtktext.c: - Save first_cut_pixels when switching
2237         sizes, so that if we switch to the _same_ size,
2238         we don't move lines around.
2239
2240         - Make sure that the text area always has a size of at
2241         least 1x1, then do all computations when realized.
2242
2243         - When fetching lines in recompute_geometry, make
2244         sure we fetch enough lines to cover the screen.
2245         
2246 Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2247
2248         * gdk/gdkimage.c: changed g_new()s to malloc()s and 
2249           g_free()s to free()s to avoid mixing g_new()s with 
2250           free()s.  X itself uses free() on some of the 
2251           malloced memory.
2252
2253 Sat Sep 12 10:44:06 1998  Owen Taylor  <otaylor@redhat.com>
2254
2255         * gtkfilesel.c: Maintain a list of directories like
2256         /afs we know contain only directories, and avoid
2257         stat'ing files in those directories. (Because
2258         stat'ing all files in /afs is extremely expensive)
2259
2260         To support automounters, try to open directories,
2261         even if we couldn't find them when reading their
2262         parent directory.
2263
2264 Thu Sep  3 10:29:03 1998  Owen Taylor  <otaylor@redhat.com>
2265
2266         * gtk.m4: Conditionalize check for GTK_MAJOR_VERSION,
2267         to allow the same gtk.m4 to work for 1.0.x and
2268         1.1.x.
2269
2270 Fri Sep 11 15:25:10 1998  Lars Hamann  <lars@gtk.org>
2271
2272         * gtk/gtkclist.c (gtk_clist_set_selectable): new function
2273         to set/unset the selectable flag of a single row.
2274         (gtk_clist_get_selectable): new function 
2275         to get the state of the selectable flag
2276
2277         * gtk/gtkctree.c (gtk_ctree_node_set_selectable)
2278         (gtk_ctree_node_get_selectable): clist analogons
2279         
2280 Thu Sep 10 17:04:03 1998  Raph Levien  <raph@gimp.org>
2281
2282         * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test
2283         pattern.
2284
2285         * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment
2286         bugs in the 4bit gray cases.
2287
2288 Wed Sep  9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org>
2289
2290         * configure.in: added -posix check for NeXTStep
2291
2292         * gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
2293         a unique buffer for each thread.
2294
2295         * docs/gtk-config.1: clarified copyright
2296
2297 Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>
2298
2299         * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.
2300
2301         * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.
2302
2303         * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
2304         ATEXIT.
2305         
2306         * ltconfig: use GLib's ltconfig which honours lcc.
2307
2308 Mon Sep  7 20:09:23 PDT 1998 Manish Singh <yosh@gimp.org>
2309
2310         * configure.in: comment the -std1 check and save LIBS properly
2311
2312 Sun Sep  6 12:36:23 PDT 1998 Manish Singh <yosh@gimp.org>
2313
2314         * gtk/testrgb.c: #include <stdlib.h>
2315
2316 Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>
2317
2318         * gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
2319         When the pointer is grabbed on an input window,
2320         either explicitely, or through press-grab, and
2321         then grabbed on a non-input window, ungrab the
2322         devices.
2323
2324 Sat Sep  5 07:13:19 1998  Tim Janik  <timj@gtk.org>
2325
2326         * gtk/gtktypeutils.h: don't include any gdk headers.
2327         added structure definitions for GtkTypeObject and GtkTypeClass,
2328         which cover the very basic fields of GtkObject and GtkObjectClass,
2329         which are actually used by the type system.
2330         
2331         * gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
2332         we only refer to our own structures. improved class inheritance
2333         sanity checking a bit.
2334
2335         * gtk/gtkobject.h: placed appropriate comments at the beginnings
2336         of the GtkObject and GtkObjectClass structures, which explain
2337         their relationship to GtkTypeObject and GtkTypeClass.
2338
2339         * gtk/gtktypeutils.h:
2340         * gtk/gtkobject.h:
2341         moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
2342         GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
2343         gtkobject.h to gtktypeutils.h.
2344
2345         * gtk/gtkobject.h:
2346         * gtk/gtkobject.c:
2347         removed gtk_object_check_cast() and gtk_object_check_class_cast()
2348         functions. to keep source compatibility, we can provide macro aliases
2349         for the corresponding gtk_type_* functions. but then again, people
2350         shouldn't have been using these functions anyways since they were part
2351         of Gtk's internal API.
2352
2353         * gtk/gtktypeutils.h:
2354         * gtk/gtktypeutils.c:
2355         implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
2356         functions to check GtkTypeObject and GtkTypeClass types.
2357
2358 Thu Sep  3 07:16:54 1998  Tim Janik  <timj@gtk.org>
2359
2360         * gtk/gtkctree.h:
2361         * gtk/gtkctree.c: `const' fixups.
2362
2363         * gtk/gtkclist.h:
2364         * gtk/gtkclist.c: `const' fixups and some coding style adaptions.
2365
2366         * gtk/gtkctree.c (gtk_ctree_insert_node): don't dereference *text
2367         if it is passed as NULL.
2368
2369 Wed Sep  2 22:41:40 1998  Raph Levien  <raph@gimp.org>
2370
2371         * gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
2372         big-endian cases. Added a 4bpp packed gray mode (somewhat
2373         incorrectly hardwired to MSB), which should take care of
2374         Stric's hardware.
2375
2376 Thu Sep  3 04:45:57 1998  Tim Janik  <timj@gtk.org>
2377
2378         * gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
2379         GtkSIgnalQuery leak.
2380
2381 Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>
2382
2383         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
2384         GTK_MENU_DIR_CHILD: check for the existance of
2385         menu_shell->active_menu_item before accessing its child.
2386         GTK_MENU_DIR_PREV:
2387         GTK_MENU_DIR_NEXT: if we haven't had an active item and still
2388         don't, make a default selection.
2389
2390 Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>
2391
2392         * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
2393         the children with _forall for sensitivity changes and with
2394         _foreach on pure state changes. this fixes a lot of the
2395         old inclusions of internal widgets into _foreach calls.
2396
2397         * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
2398         do the work. don't walk the subtrees of first level children.
2399
2400         * gtk/gtktreeitem.c: provide a _forall implementation,
2401         which walks the subtrees as well for include_internals.
2402
2403         * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
2404         the submenus as well for include_internals.
2405
2406         * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
2407         implemented gtk_scrolled_window_forall, which will iterate over
2408         the viewport and the scrollbars for gtk_container_forall or
2409         iterate over the viewports children for gtk_container_foreach.
2410
2411         * gtk/gtktoolbar.c: 
2412         * gtk/gtktable.c: 
2413         * gtk/gtkpaned.c:
2414         * gtk/gtkpacker.c:
2415         * gtk/gtkmenushell.c: 
2416         * gtk/gtklist.c: 
2417         * gtk/gtkfixed.c:
2418         * gtk/gtkclist.c:
2419         * gtk/gtkbox.c: 
2420         * gtk/gtkbin.c: 
2421         * gtk/gtknotebook.c:
2422         removed the old gtk_*_foreach functions and provided gtk_*_forall.
2423
2424         * gtk/gtknotebook.c:
2425         (gtk_notebook_real_switch_page): expose tabs.
2426         (gtk_notebook_page_num): new function to return the page number
2427         of a distinct child.
2428         (gtk_notebook_focus): minor fixups. foxus handling is still screwed
2429         under some circumstances.
2430
2431         * gtk/gtktreeitem.c:
2432         (gtk_real_tree_item_select):
2433         (gtk_real_tree_item_deselect): major fixes.
2434         some general fixups wrt queue_redraw, and tree items not being
2435         NO_WINDOW widgets.
2436
2437         * gtk/gtklistitem.c:
2438         (gtk_real_list_item_select): 
2439         (gtk_real_list_item_deselect): 
2440         (gtk_real_list_item_toggle): 
2441         removed unneccessary queue_redraw calls.
2442
2443 Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>
2444
2445         * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
2446         automatically popup the menu on space bar.
2447
2448 Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>
2449
2450         * gtk/gtkcontainer.h:
2451         * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
2452         method), which acts similar to gtk_container_foreach(), but iterates
2453         over internal children. the GtkContainer::foreach signal vanished in
2454         favour of a new class method ->forall() that optionally includes
2455         internal widgets.
2456
2457         * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
2458         but a _forall implementation, since all child widgets we have are
2459         internal ones.
2460         (column_button_create): set the parent window prior
2461         to gtk_widget_set_parent().
2462
2463         * gtk/gtkwidget.c:
2464         exchanged all calls to gtk_container_foreach() with
2465         gtk_container_forall().
2466
2467         * gtk/gtkwidget.h: 
2468         * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
2469         the GtkWidget::composite_child argument. to have a widget created
2470         with the flag initially, two new functions got added to wrap a widgets
2471         creation:
2472         gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
2473
2474 Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>
2475
2476         * gtk/gtktooltips.h:
2477         * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
2478         gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
2479         prior to the first tip being set.
2480         don't put an extra reference on the window, since it is a toplevel,
2481         it wont get destroyed from anywhere else.
2482
2483         * overall macro and GtkType fixups.
2484
2485 1998-09-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2486
2487         * gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
2488         constructs by more forgiving ones.  (Does anyone else feel like
2489         the color selector need rewriting?).
2490
2491 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
2492
2493         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
2494         the adjustment.
2495
2496         * gtk/gtkmenu.c: Modified reference counting so
2497         that the reference count from the toplevel that
2498         the menu creates to the menu is invisible to the
2499         application.
2500
2501 Mon Aug 31 21:36:31 1998  Raph Levien  <raph@gimp.org>
2502
2503         * gdk/gdkrgb.c (gdk_rgb_select_conv): Improved the 24bpp
2504         conversion selection logic, so Suns and other big-endian
2505         machines should get faster conv routines. This is also the
2506         point where 4bpp gray and 1bpp are checked in, although I
2507         wouldn't be surprised if 1bpp is a little buggy. This is
2508         synchronized with the 0.0.7 release of GdkRgb.
2509
2510         * gtk/Makefile.am: 
2511         * gtk/testrgb.c: Checked in testrgb.c to CVS, and made the
2512         appropriate change to the Makefile.am
2513
2514 Mon Aug 31 15:18:19 1998  Raph Levien  <raph@gimp.org>
2515
2516         * gdk/gdkrgb.[ch]: Added a gdk_draw_rgb_image_dithalign function,
2517         which is good for images that scroll (makes the dither patterns
2518         align correctly)
2519
2520 Sat Aug 29 14:50:56 PDT 1998 Manish Singh <yosh@gimp.org>
2521
2522         * gdk/gdkcolor.c:
2523         (gdk_colormap_new) (gdk_colormap_get_system):
2524         quell some warnings with g_hash_table_new
2525
2526         * gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery
2527         when we're done with it
2528
2529         * gtk/itemfactory.c:
2530         (gtk_item_factory_from_path):
2531         (gtk_item_factory_create_item): free some strings
2532
2533         * gtk/gtklabel.c:
2534         (gtk_label_finalize): free label->pattern when done
2535         (gtk_label_parse_uline): null terminate pattern string, delete
2536         some duplicated code
2537
2538         * gtk/testthreads.c: add #include <unistd.h> for sleep()
2539
2540 Tue Aug 25 16:52:47 1998  Owen Taylor  <otaylor@redhat.com>
2541
2542         * gtk/gtktext.c (recompute_geometry): Make sure the
2543         mark we pass to line start is the beginning of a 
2544         real line, not a wrapped one.
2545
2546 Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>
2547
2548         * gtk/gtktext.c: Reference count the fonts used in
2549         the text widget.
2550
2551         * gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
2552         freeing functions to be more consistent, and more 
2553         convenient; leave the old names in for backwards compatibility.
2554
2555         * gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
2556         allocations in pseudo-color colormaps to greatly reduce
2557         calls to XAllocColor. Keep a per-colormap hashtable to
2558         speed up finding if there is an already-allocated matching
2559         color.
2560
2561         * gdk/gdkcolor.c: Don't just match read the system colormap
2562         when the colormap is created, but synchronize our copy
2563         with the system colormap periodically.
2564         
2565         * gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c: 
2566         Change XIM constants names to match GDK conventions
2567
2568         * gtk/testinput.c: Allow the drawing area to get the focus.
2569
2570         * gtk/testgtk.c: Change around the Text test to demonstrates
2571         multiple fonts, use more colors.
2572
2573         * gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
2574         so they work after a widget is unrealized.
2575
2576         * gtk/gtktext.[ch]: Remove the requirement that the text
2577         widget be realized before adding text (!) Allocate colors
2578         ourself, instead of requiring the caller allocate them.
2579         Allow changing styles to work properly by keeping track
2580         of the values for a certain property are default or
2581         set explicitely.
2582
2583         * gtk/gtkmenu.h: Added some comments.
2584
2585         * gtk/gtkentry.c: Changes to match XIM constants.
2586
2587         * gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
2588         for adding keyed data to drawables. (Uses g_dataset
2589         internally)
2590
2591         * gdk/gdkpixmap.c: Keep track of the colors we allocate,
2592         when creating an XPM - store them as user data for the GdkPixmap,
2593         so we don't leak colors when we create pixmaps from XPM's.
2594
2595         Allocate memory for color information in large blocks instead of 
2596         as many little pieces.
2597         
2598 Mon Aug 24 11:09:32 PDT 1998 Manish Singh <yosh@gimp.org>
2599
2600         * gdk/gdkrgb.c: removed some unused variables
2601
2602         * gtk/gtkclist.c
2603         * gtk/gtkmain.c: #if 0'd out some unused code
2604
2605         * gtk/gtkobject.c: check for NULL object hash table in gtk_object_debug
2606
2607 Mon Aug 24 02:36:53 1998  Tim Janik  <timj@gtk.org>
2608
2609         * gtk/gtkarg.h:
2610         * gtk/gtkarg.c:
2611         * gtk/gtkwidget.h: 
2612         * gtk/gtkwidget.c: 
2613         * gtk/gtkobject.h:
2614         * gtk/gtkobject.c:
2615         * gtk/gtkcontainer.h: 
2616         * gtk/gtkcontainer.c: 
2617         (gtk_object_new):
2618         (gtk_object_set):
2619         (gtk_widget_new):
2620         (gtk_widget_set): 
2621         (gtk_container_add_with_args):
2622         (gtk_container_child_set):
2623         begin the parameter elipsis (...) after the first argument name. this
2624         change is source compatible, since it was always required, even as NULL.
2625         (gtk_args_collect): 
2626         (gtk_object_args_collect): 
2627         (gtk_container_child_args_collect):
2628         changed prototypes to pass first_arg_name, also, pass va_list variable
2629         by value (portability concerns). callers changed.
2630
2631         * gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
2632         a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
2633         can't pass va_list variables by reference for portability reasons.
2634
2635 Fri Aug 21 22:40:00  Raph Levien  <raph@gtk.org>
2636
2637         * gdk/gdkrgb.c: added calls to gdk_rgb_init in the get_cmap and
2638         get_visual calls, so that it gets implicitly initialized.
2639
2640 Fri Aug 21 13:06:04 1998  Stuart Parmenter  <pavlov@gimp.org>
2641         * gtk/gtkfeatures.h.in:  added GTK_HAVE_FEATURES_1_1_2 for changes
2642         such as GtkCTree function name changes
2643         
2644 Fri Aug 21 02:31:26 1998  Tim Janik  <timj@gtk.org>
2645
2646         * gtk/gtkmain.h:
2647         * gtk/gtkmain.c (gtk_check_version): added a function to perform a
2648         binary version check, returning a static string for error descriptions,
2649         or NULL on success.
2650
2651 Thu Aug 20 20:08:15 1998  Owen Taylor  <otaylor@redhat.com>
2652
2653         * gtk/gtktext.c ([un]draw_cursor): Check to see if we've
2654         computed our geometry yet, and if not, ignore the request.
2655
2656         * gtk/gtktext.c (correct_cache_insert): Fiddled around
2657         some more. All the bug-test codes seem to work at once
2658         now. (fingers crossed...)
2659
2660 Thu Aug 20 13:04:08 PDT 1998 Manish Singh <yosh@gimp.org>
2661
2662         * gdk/gdkrgb.c: silly visual fixes
2663
2664         * gtk/testgtk.c: call gdk_rgb_init so color preview test actually
2665         works
2666
2667 1998-08-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2668
2669         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
2670         anything if the event's window is not the bin window.
2671         (gtk_handle_box_motion): Likewise.
2672
2673 1998-08-19  Raph Levien  <raph@gimp.org>
2674
2675         * gtk/testgtk.c (create_color_preview): pushed the colormap and
2676         visual so it would work better with GdkRgb.
2677
2678 1998-08-19  Raph Levien  <raph@gimp.org>
2679
2680         * gdk/gdkrgb.c: fixed some bugs in the 565_d mode, and added a
2681         4bpp static_color mode (for vga displays). Also fixed a '64' value
2682         in the dither matrix, which was causing one pixel out of 16k to be
2683         dithered wrong.
2684
2685         * gtk/gtkpreview.{c,h}: Changed it to work with GdkRgb, gutting
2686         most of the contents. This is an API change - any apps that relied
2687         on the internal structure of GtkPreview will need some change -
2688         most notably in the use of reserved colors. The Gimp needed
2689         changes in this regard.
2690
2691 Wed Aug 19 00:11:14 1998  Tim Janik  <timj@gtk.org>
2692
2693         * gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
2694         G_ENABLE_DEBUG being defined (specifically --gtk-module= and
2695         --g-fatal-warnings), noticed by miguel.
2696
2697 Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>
2698
2699         * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
2700         getcwd().
2701
2702         * gdk/gdkprivate.h:
2703         * gdk/gdkglobals.c:
2704         * gdk/gdkwindow.c:
2705         * gdk/gdk.c:
2706         * gtk/gtkwindow.c: 
2707         * gtk/gtkitemfactory.c: 
2708         dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.
2709
2710         * gtk/gtkselection.c:
2711         * gtk/gtkpreview.c:
2712         * gtk/gtkobject.c: 
2713         * gtk/gtkmain.c: 
2714         * gtk/gtktypeutils.c: indentation fixes due to g_message() use.
2715
2716         * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
2717
2718 Tue Aug 18 17:22:22 1998  Lars Hamann  <lars@gtk.org>
2719
2720         * gtk/gtknotebook.c (gtk_notebook_switch_focus_tab): 
2721         * gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
2722         in case of show_tabs == NULL
2723
2724 Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>
2725
2726         * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
2727         to --g-fatal-warnings again. this option now causes log levels of
2728         WARNING and CRITICAL to abort().
2729
2730         * gdk/gdk.c: 
2731         * gdk/gdkdnd.c: 
2732         * gdk/gdkcc.c: 
2733         * gdk/gdkfont.c: 
2734         * gdk/gdkwindow.c:
2735         * gdk/gdkvisual.c:
2736         * gtk/gtkwidget.c:
2737         * gtk/gtktypeutils.c:
2738         * gtk/gtktree.c:
2739         * gtk/gtkfontsel.c:
2740         * gtk/gtkmain.c:
2741         * gtk/gtkobject.c:
2742         * gtk/gtkpreview.c:
2743         * gtk/gtkselection.c:
2744         * gtk/gtktext.c:
2745         * gtk/gtktree.c:
2746         * gtk/gtktreeitem.c:
2747         did a global search&replace to substitute g_print() calls with
2748         g_message(). libraries shouldn't use printf(), g_print() or
2749         g_printerr() at all.
2750         a bunch of the replacements should probably be wrapped into the
2751         G{D|T}K_NOTE() macros, so they are special cased for debugging
2752         purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
2753         things.
2754
2755         * gdk/gdkdnd.c: added copyright notice.
2756
2757 Mon Aug 17 17:28:00  Raph Levien  <raph@gtk.org>
2758
2759         * gdk/gdkrgb.c: Further speedups of the 565_d case. It's
2760         impressively fast now - about 4.65 Mpix/s on an IBM TP 600
2761         running a PII 233. It's synced with the 0.0.5 release of
2762         GdkRgb.
2763
2764 Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>
2765
2766         * gtk/gtkclist.h:
2767         (struct _GtkCListClass): new class methods:
2768         (sort_list) (insert_row) (remove_row) (set_cell_contents)
2769
2770         * gtk/gtkclist.c :
2771         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
2772         removed and replaced by (set_cell_contents)
2773         (set_cell_contents): function for class method set_cell_contents
2774         (real_insert_row): function for class method insert_row
2775         (real_remoce_row): function for class method remove_row
2776         (real_sort_list): function for class method sort_list
2777         (default_compare): fix to avoid problems with cell types != CELL_TEXT
2778
2779         * gtk/gtkctree.h :
2780         (gtk_ctree_export_to_gnode): new function to export a ctree as gnode 
2781         (gtk_ctree_node_is_visible): new function to return visibility state
2782         of a node
2783         (gtk_ctree_show_stub): new function to set visibility of root stub
2784
2785         renamed functions :
2786         (gtk_ctree_insert) -> (gtk_ctree_insert_node)
2787         (gtk_ctree_remove) -> (gtk_ctree_remove_node)
2788         (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
2789         (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
2790         (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
2791         (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
2792         (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
2793         (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
2794         (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
2795         (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
2796         (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
2797         (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
2798         (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
2799         (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
2800         (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
2801         (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
2802         (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
2803         (gtk_ctree_sort) -> (gtk_ctree_sort_node)
2804         (gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
2805
2806         * gtk/gtkctree.c :
2807         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
2808         removed and replaced by (set_cell_contents)
2809         (set_cell_contents): function for class method set_cell_contents
2810         (real_insert_row): function for class method insert_row
2811         (real_remoce_row): function for class method remove_row
2812         (real_sort_list): function for class method sort_list
2813         (default_compare): removed. CTree now also compares two GtkCTreeRows
2814         instead of two GtkCTreeNodes.
2815         (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
2816         unlinking the node
2817         (real_tree_expand) (real_tree_collapse): fix for refcounting of
2818         node pixmaps
2819         (set_node_info): call gtk_ctree_node_set_pixtext instead of
2820         manipulating the row itself
2821         
2822         * gtk/testgtk.c: use renamed functions of GtkCTree.
2823         new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
2824         at work.
2825
2826 Mon Aug 17 15:31:38 1998  Tim Janik  <timj@gtk.org>
2827
2828         * gtk/gtkmain.c: removed gtk_input_add_interp.
2829
2830         * gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
2831         keyword.
2832         (gtk_editable_get_event_time): fix default: case.
2833
2834         * gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.
2835
2836         * gdk/gdkpixmap.c: made a bunch of unexported functions static.
2837
2838         * gdk/gdkcolor.c:
2839         * gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
2840         of our functions.
2841
2842         * various minor compilation cleanups, such as bogus commas in
2843         enums and similar things.
2844
2845 Mon Aug 17 07:47:43 1998  Tim Janik  <timj@gtk.org>
2846
2847         * gtk/gtkmain.c (gtk_init): NULL terminate the arg list to g_strconcat()
2848         (thanx raph).
2849
2850 Sun Aug 16 23:14:20 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2851
2852         * NEWS: updated for 1.1.2
2853         * gtk+.spec: version = 1.1.2
2854
2855 Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
2856
2857         * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
2858         times. changed --gtk-with-module to --gtk-module at owen's request.
2859
2860 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
2861
2862         * gtk/gtkmain.c (gtk_init): feature a new commandline option
2863         --gtk-with-module=<module> that allows additional loading and
2864         initialization of modules (e.g. GLE).
2865
2866 Mon Aug 17 01:40:00 1998  Tim Janik  <timj@gtk.org>
2867
2868         * configure.in: version bump to 1.1.2, binary age 0, interface age 0.
2869         pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.
2870
2871         * gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
2872         with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
2873         "--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
2874         different *-fatal-* arguments now. this needs to be revised and
2875         compressed to a reasonable amount of arguments.
2876
2877 Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>
2878
2879         * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
2880         "--g-fatal-warnings" causes fatal warnings in GLib,
2881         "--gdk-fatal-warnings" causes fatal warnings in Gdk,
2882         "--gtk-fatal-warnings" causes fatal warnings in Gtk.
2883
2884         * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
2885         * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.
2886
2887         * gtk/testgtk.c: 
2888         * gdk/gxid.c:
2889         we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
2890         since automake doesn't support per target _CFLAGS yet.
2891
2892         * configure.in: require GLib 1.1.3.
2893
2894 Sat Aug 15 03:19:30 1998  John Ellis  <johne@bellatlantic.net>
2895
2896         * gtk/gtkctree.[ch] (gtk_ctree_set_drag_compare_func): New function
2897         to set a callback to test if a node in drag can be dropped onto
2898         it's currrent location.
2899         * gtk/gtkctree.c (set_mouse_cursor),(check_cursor): New functions
2900         to change the pointer when a drag destination is not allowed.
2901
2902 Thu Aug 13 21:06:00 1998  Raph Levien  <raph@gtk.org>
2903
2904         * gdk/gdkrgb.c: committing a patch by Ray Lehtiniemi that
2905         speeds up the 565_d case by about 25% total. Thanks Ray!
2906
2907 Thu Aug 13 16:47:44 1998  Owen Taylor  <otaylor@redhat.com>
2908
2909         * Changed GtkSignalFunc back to () from (void). (again!)
2910
2911         * Added file README.cvs-commits
2912         
2913 Thu Aug 13 09:11:11 BST 1998  Tony Gale  <gale@gtk.org>
2914
2915         * docs/gtk_tut.sgml:
2916           - Tidy up of the menufactory example from
2917             Andy Kahn <kahn@zk3.dec.com>
2918           - New section on Range Widgets from
2919             David Huggins-Daines <bn711@freenet.carleton.ca>
2920           - Started a new section on 'Advanced Event and Signal
2921             Handling' - used an email from Owen.
2922           - New appendix on Gdk Event Types
2923           - Added the tictactoe full example code to the
2924             'Code Examples' appendix
2925
2926 Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>
2927
2928         * gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() - 
2929           to calculate all the metrics at once of a string, including
2930           things which weren't calculated before.
2931
2932         * gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
2933           MenuItem type, that when put as the first thing in a
2934           menu, makes the menu tearoff. Currently drawn as a
2935           dashed line.
2936
2937         * gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
2938           "hide_on_activate" to the MenuItem class structure to allow
2939           check and radio buttons to be changed with <Space> without
2940           hiding the menu.
2941
2942         * gtk/gtkitemfactory.c: 
2943           - Create a AccelGroup for each MenuShell we create.
2944           - If an '_' appears before a  character 'c' in the path,
2945             then make 'c' an accelerator in the menu's accel group,
2946             and if the menuitem is menubar <alt>C an accelerator 
2947             in the itemfactory's accel group. Double '__' inserts
2948             a literal '_'
2949
2950         * gtk/gtklabel.[ch]: Add support for a pattern arg - 
2951           which is a string. If an '_' appears in this string,
2952           the corresponding position in the label is underlined.
2953
2954           Add gtk_label_parse_uline() convenience function which
2955           takes a string with embedded underlines, sets the
2956           pattern and label, and returns the accelerator keyval.
2957
2958         * gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
2959           Instead, they create a GtkWindow and add themselves
2960           to that. (When torn off, another new feature, they
2961           create another GtkWindow to hold the torn off menu)
2962
2963           New function gtk_menu_set_tearoff_state()
2964         
2965         * gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h: 
2966           Added action signals  for keyboard navigation of menus.
2967
2968         * gtk/gtkmenushell.c: Key press handler which activates
2969           bindings for navigation, and accelerators, for handling
2970           underline accelerators. Exported functions to select 
2971           and activate menu items in a menushell.
2972
2973         * gtk/testgtk.c: Added a new "Item Factory" test which
2974           tests GtkItemFactory and the new keyboard navigation
2975           of menus.
2976
2977 Tue Aug 11 20:52:58 1998  Tim Janik  <timj@gtk.org>
2978
2979         * gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
2980         external functions have been called. also relookup nodes after
2981         this function has been invoked.
2982
2983 Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>
2984
2985         * gtk/gtktext.[ch]: Removed has_cursor, set the cursor
2986           beginning of Text when creating the Text widget.
2987
2988         * gtk/testgtk.c: Grab the focus on the text widget so
2989           as to test out the above.
2990
2991 Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>
2992
2993         * gtk/gtkeditable.c: Reverted part of timj's change of Jul 16. 
2994           ::changed is a notification signal and should have no default
2995           handler. A complete redraw of the Text widget does _not_ need to
2996           be done on every text insertion.
2997
2998 Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
2999         (gtk-abilleira-072198-patch)
3000
3001         * gtk/gtkwindow.[ch]: 
3002           Add gtk_window_set_modal() which sets a flag; when
3003           set the window does a gtk_grab_add() when the window
3004           is shown, and a gtk_grab_remove() when the window
3005           is hidden. 
3006
3007         * gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
3008           that case will run "Create Dir","Delete File" and "Rename File" 
3009           dialogs as modal too.
3010
3011         * gtk/testgtk.c: Added a button with an example of creating modal 
3012           dialog boxes. Including file selection and color selection standard
3013           dialogs.
3014         
3015 Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>
3016
3017         * gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
3018           Removed CAN_FOCUS by default from scrollbars, button
3019           children of toolbar. (But not GTK_TOOLBAR_CHILD_WIDGET children)
3020           (Scrollbar definitely good change, toolbar bit more questionable)
3021
3022 Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>
3023
3024         * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
3025         Pettersen).
3026
3027 Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
3028
3029         * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
3030           added all logical operations to gc->function.
3031
3032 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
3033
3034         * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
3035         gtk_widget_size_allocate instead of gtk_widget_queue_resize
3036         if the visibility state of a scrollbar changes.
3037
3038 Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>
3039
3040         * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
3041
3042 Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>
3043
3044         * gtk/gtkclist.c: Renamed my_merge and my_mergesort to
3045         gtk_clist_merge and gtk_clist_mergesort. :)
3046
3047 1998-08-06  Martin Baulig  <martin@home-of-linux.org>
3048
3049         * gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
3050         `mergesort' -> `my_mergesort'.
3051
3052 Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>
3053
3054         * gtk/gtkenums.h: new enum GtkSortType.
3055         
3056         * gtk/gtkclist.h:
3057         * gtk/gtkclist.c:
3058         Added sorting capabilities to GtkCList. New APIs :
3059         gtk_clist_set_compare_func, gtk_clist_set_sort_column,
3060         gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort. 
3061         New internal functions : default_compare, merge, mergesort.
3062
3063         (gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
3064         
3065         (gtk_clist_insert): Modified to handle gtk_clist_append and the
3066         auto sort flag. Changed the return value from void to gint to
3067         return the row number where the element was actually inserted.
3068
3069         (gtk_clist_swap_rows): Return immediately if auto sort flag is set.
3070         
3071         * gtk/gtkctree.h:
3072         * gtk/gtkctree.c:
3073         Removed the auto_sort flag, replaced ctree->node_compare with
3074         clist->compare all over the place, modified default_compare to
3075         match clist's needs. Removed API´s : gtk_ctree_set_auto_sort,
3076         gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
3077
3078         * gtk/testgtk.c: Modified clist/ctree samples to demonstrate
3079         sorting. The lists can be sorted by a column by clicking the 
3080         corresponding title button.
3081         
3082 Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
3083
3084         * Released GTK+ 1.1.1
3085
3086 Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>
3087
3088         * gtk/gtkctree.h:
3089         * gtk/gtkctree.c:
3090         (gtk_ctree_find): changed to return a gboolean
3091         (gtk_ctree_insert_gnode): new function for recursive insertion of a
3092         GNode tree.
3093         (gtk_ctree_real_select_recursive): fix for extended selection
3094         (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
3095         (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
3096
3097 Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>
3098
3099         * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
3100         GLib version 1.1.1 is now required at minimum.
3101
3102         * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
3103         of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
3104
3105 Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>
3106  
3107         * gtk/gtktext.c (gtk_text_forward_delete): Undraw the
3108           cursor before (possibly) deleting the cursor's text
3109           property.
3110  
3111         * gtk/gtktext.c (correct_cache_delete): More attempts
3112           to clean the line-start cache up after inserting
3113           a property. Among other things, make sure to
3114           fix up text->current_line, since it is used to 
3115           refetch the changed lines.
3116  
3117 Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>
3118
3119         * gtk/gtktable.[ch]: Empty rows/columns of the table
3120         should not have been marked as being able to shrink.
3121         (Fixes problem with shrinking scrollbarless GIMP canvases)
3122
3123 1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3124
3125         * gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
3126         function to find a row by its data pointer using a custom
3127         comparison function.
3128
3129 Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>
3130
3131         * gtk/gtkclist.c: draw the buttons during a "draw" as well,
3132           this fixes a bug when the whole widget is made non-sesitive
3133           the buttons weren't redrawn
3134
3135 Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>
3136
3137         * gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
3138         * gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
3139         * gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
3140
3141 Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>
3142
3143         * gdk/gdkwindow.c (gdk_window_reparent): Change 
3144           window_private->parent pointer when reparenting.
3145
3146 Sat Aug  1 22:17:00 1998  Raph Levien  <raph@acm.org>
3147
3148         * gdk/gdkrgb.c: made some minor config changes to unify GdkRgb
3149         with the standalone release.
3150
3151 Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
3152
3153         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
3154         (gtk_clist_button_release) (new_column_width): Few fixes for
3155         column resize. Store resize column in clist->drag_pos.
3156
3157 Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
3158
3159         * gtk/gtkctree.h 
3160         * gtk/gtkctree.c 
3161         * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
3162         to GtkCTreeNode *node.
3163
3164         * gtk/gtklist.h : added extended selection mode and auto scrolling.
3165         (struct _GtkList): removed unneeded variables timer, button,
3166         selection_start_pos, selection_end_pos, scroll_direction, have_grab.
3167         Added new variables undo_selection, undo_unselection, last_focus_child,
3168         undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
3169         drag_selection, add_mode.
3170  
3171         New functions :
3172         (gtk_list_extend_selection), (gtk_list_start_selection),
3173         (gtk_list_end_selection), (gtk_list_select_all),
3174         (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
3175         (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
3176         (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
3177         (gtk_list_undo_selection), (gtk_list_end_drag_selection)
3178         
3179         * gtk/gtklist.c : 
3180         (gtk_list_enter_notify): removed, because auto scrolling now works
3181         with gtk_list_motion_notify
3182  
3183         New functions, needed for auto scrolling :
3184         (gtk_list_motion_notify) (gtk_list_move_focus_child)
3185  
3186         New functions for extended selection support :
3187         (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
3188         (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
3189         (gtk_list_focus_lost)
3190         
3191         (gtk_list_set_focus_child): modified gtk_container_set_focus_child
3192         function to support auto scrolling, and avoid out-of-sync errors in
3193         case auf GTK_SELECTION_BROWSE
3194         (gtk_list_focus): modified gtk_container_focus function to avoid out
3195         off sync errors in case auf GTK_SELECTION_EXTENDED
3196
3197         * gtk/gtklistitem.h 
3198         * gtk/gtklistitem.c :
3199         New signal functions for key binding support :
3200         (toggle_focus_row), (select_all), (list_item), (unselect_all)
3201         (list_item), (undo_selection), (start_selection), (end_selection)
3202         (extend_selection), (scroll_horizontal), (scroll_vertical),
3203         (toggle_add_mode)
3204         (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
3205         GDK_KEY_RELEASE_MASK
3206         (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
3207  
3208         * gtk/gtkcombo.c :
3209         (gtk_combo_popup_button_press):  grab pointer for combo->list
3210         (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
3211         (gtk_combo_list_key_press): take care of which child HAS_GRAB
3212         (gtk_comb_init): don't connect combo->button with button_release_event
3213
3214 Thu Jul 30 12:39:36 1998  Lars Hamann  <lars@gtk.org>
3215
3216         * gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
3217
3218 Wed Jul 29 23:31:50 1998  Lars Hamann  <lars@gtk.org>
3219
3220         * gtk/gtkclist.c (gtk_clist_motion): column resize now works with
3221         horizontal autoscrolling, GtkCTree's 'reorder ability' now works
3222         with horizontal and vertical autoscrolling.
3223
3224 Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3225
3226         * gtk/docs/man: new directory
3227         * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
3228
3229 Tue Jul 28 00:03:20 1998  Lars Hamann  <lars@gtk.org>
3230
3231         * gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
3232         bug
3233
3234 Mon Jul 27 09:18:13 BST 1998  Tony Gale  <gale@gtk.org>
3235
3236         * docs/gtk_tut.sgml: GtkTree section from
3237           David Huggins-Daines <bn711@freenet.carleton.ca>,
3238           add a GtkText widget example
3239         * examples/text/* example/tree/* : new examples for the
3240           GtkTree and GtkText widgets
3241         * docs/gtk_tut.sgml: added an appendix to hold complete code
3242           examples that aren't in a full form elsewhere in the
3243           tutorial (e.g. scribble)
3244
3245 Mon Jul 27 00:46:21 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3246
3247         * Released GTK+ 1.1.0
3248
3249 Mon Jul 27 04:18:26 1998  Tim Janik  <timj@gtk.org>
3250
3251         * gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
3252         the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
3253
3254 Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
3255
3256         * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
3257         values are looked up.
3258
3259         * gtk/gtktypeutils.h:
3260         * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
3261         gtk_type_enums_find_value to lookup enum values.
3262
3263         * gtk/gtkctree.h: 
3264         * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
3265         GtkCTreeExpansionType. fixed signal creations to pass the enum
3266         types not just the base type GTK_TYPE_ENUM.
3267
3268         * gtk/gtkclist.h: 
3269         * gtk/gtkclist.c: fixed signal creations to pass the real enum
3270         types not just the base type GTK_TYPE_ENUM.
3271
3272 Sun Jul 26 14:50:07 1998  Stefan Jeske  <stefan@gtk.org>
3273
3274         * gtk/testgtk.c : 
3275         Began cleanup, e.g. use gtk_widget_show_all instead of many 
3276         gtk_widget_show's. Completely rewrote the button box sample
3277         (only one window now). Removed "miscellaneous" button.
3278
3279 Sun Jul 26 14:48:14 1998  Stefan Jeske  <stefan@gtk.org>
3280
3281         * gtk/gtkvbbox.c (gtk_vbutton_box_size_allocate): 
3282         Fixed wrong allocation for GTK_BUTTONBOX_END.
3283         (allocation->x  =>  allocation->y)
3284
3285 Sun Jul 26 14:06:37 1998  Lars Hamann  <lars@gtk.org>
3286
3287         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release)
3288         (abort_column_resize) (gtk_clist_key_press): fix for pointer grab
3289         
3290         * gtk/gtkctree.c (real_tree_select): added check to avoid double
3291         selected rows
3292         (gtk_ctree_button_press)
3293         (gtk_ctree_button_release): fix for pointer grab
3294
3295 Sat Jul 25 13:16:00 1998 Damon Chaplin  <DAChaplin@msn.com>
3296
3297         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): 
3298         Fixed initialization problem - dirty memory could cause problems.
3299         Also checked that bitmapped fonts can be scaled when showing the
3300         available sizes.
3301
3302 Sat Jul 25 02:25:03 1998  Lars Hamann  <lars@gtk.org>
3303
3304         * gtk/gtkctree.c (gtk_ctree_sort_recursive)
3305         (gtk_ctree_sort_recursive): test for node != NULL
3306         (gtk_ctree_is_visible) (gtk_ctree_realize) (gtk_ctree_unrealize)
3307         (gtk_ctree_last) : added sanity checks
3308         * gtk/gtkclist.c (gtk_clist_button_press): removed "no_focus_row"
3309
3310 Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
3311
3312         * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
3313
3314 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
3315
3316         * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
3317
3318 Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>
3319
3320         * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
3321         to check out binding priorities. someone should really write
3322         gtkrc-mode for emacs.
3323
3324         * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
3325         * gtk/testgtk.c (main): and move it here ;). this test says something
3326         on release of C-9. (this works only if the mouse pointer is on a
3327         spinbutton and there is no focus widget).
3328
3329         * gtk/gtkrc.h:
3330         * gtk/gtkrc.c:
3331         export gtk_rc_parse_color, gtk_rc_parse_state and a new function
3332         gtk_rc_parse_priority to parse path priority types.
3333         export rc tokens.
3334         feature binding parsing.
3335
3336 Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>
3337
3338         * gtk/gtkbindings.h: 
3339         * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
3340         feature binding parsing in rc files.
3341         * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
3342         * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
3343         order the bindings with lowest priority first.
3344
3345 Wed Jul 22 15:21:08 PDT 1998 Manish Singh <yosh@gimp.org>
3346
3347         * gdk/gdkrgb.c: actually builds and runs properly on big
3348         endian machines now, because we #include config.h. Also
3349         fixed up a compile error in the WORDS_BIGENDIAN case in
3350         gdk_rgb_convert_565_gray. I made the fix by looking at
3351         patterns in the other code; Raph can you verify this?
3352
3353         * gdk/gdkthreads.c: #include <unistd.h> to quell compiler
3354         warnings
3355
3356 Wed Jul 22 23:00:44 1998  Lars Hamann  <lars@gtk.org>
3357
3358         * gtk/gtkctree.c (tree_select/unselect) (tree_expand/collapse) 
3359         (tree_toggle_expansion) (real_select/unselect_row)
3360         (gtk_ctree_select/unselect) : few fixes for gtk_signal_emits
3361
3362 Wed Jul 15 17:44:47 1998  Owen Taylor  <otaylor@redhat.com>
3363
3364         * gtk/gtktext.c (new_text_property): We free things from
3365         the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
3366
3367         * Fix up line start cache when splitting a property
3368         during an insert.
3369
3370 Wed Jul 15 21:15:52 1998  Owen Taylor  <otaylor@redhat.com>
3371
3372         * gtk/gtkwidget.c: restauration => restoration
3373
3374 Thu Jul 16 20:11:36 1998  Owen Taylor  <otaylor@redhat.com>
3375
3376         * gdk/gdkxid.c (gdk_xid_table_lookup): If xid_ht
3377         hasn't been created yet, don't do the lookup.
3378
3379 1998-07-20  Raph Levien  <raph@acm.org>
3380
3381         * gdk/gdkrgb.c: More cleanups in the config process.
3382
3383 1998-07-20  Raph Levien  <raph@acm.org>
3384
3385         * gdkrgb.c: Fixed minor config bug preventing big-endian
3386         architectures from working.
3387
3388 Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>
3389
3390         * gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
3391         activity indicator. It is settable now as a fraction of the
3392         total width/height using gtk_progress_bar_set_activity_blocks.
3393         Renamed gtk_progress_bar_set_number_of_blocks to
3394         gtk_progress_bar_set_discrete_blocks.
3395
3396 Mon Jul 20 21:28:18 1998  Lars Hamann  <lars@gtk.org>
3397
3398         * gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
3399         (gtk_ctree_pre_recursive_to_depth): new functions, recursive process
3400         tree to specified depth
3401         (gtk_ctree_expand_to_depth): expand tree to specified depth
3402         (gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
3403
3404 Sun Jul 19 23:51:05 1998  Lars Hamann  <lars@gtk.org>
3405
3406         * gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
3407         of GTK_CLIST_ADD_MOD
3408         * gtk/testgtk.c (add1000_clist): changed pixmap
3409
3410 Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>
3411
3412         * gtk/gtkmain.h: 
3413         * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
3414
3415         * gtk/gtktypeutils.h:
3416         * gtk/gtkitemfactory.h: remove "void" from prototypes again.
3417
3418 Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>
3419
3420         * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
3421         CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
3422         (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
3423         CHILD_ARG_POSITION
3424         (gtk_notebook_reorder_child): new funktion to change position of a
3425         notebook page
3426         (gtk_notebook_draw_arrow): draw left/right arrow with
3427         GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
3428
3429         * gtk/gtkstyle.c (gtk_default_draw_arrow):
3430         added GTK_SHADOW_ETCHED_IN/OUT
3431
3432 Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>
3433
3434         * gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
3435           gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
3436         Introduced generic GtkProgress widget. Derived GtkProgressBar from
3437         GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
3438
3439 Fri Jul 17 23:49:28 PDT 1998 Manish Singh <yosh@gimp.org>
3440
3441         * gtk/gtktypeutils.h
3442         * gtk/gtkitemfactory.h: explicitly specify void in prototype
3443
3444 Fri Jul 17 17:54:02 1998  Lars Hamann  <lars@gtk.org>
3445
3446         * gtk/gtkclist.c (scroll_vertical): fix to avoid flicker at begin/end
3447         of list
3448
3449 Fri Jul 17 05:30:47 1998  Tim Janik  <timj@gtk.org>
3450
3451         * gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
3452         sropped the approach of copying all signal specific data into a
3453         GtkHandlerInfo structure. we rather keep the signal data on the stack
3454         in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
3455         avoids multiple lookups of the signal pointer and works savely together
3456         with destroy notifiers of handlers.
3457
3458         * gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
3459         someone destroys the entry on the ::activate signal.
3460
3461 Fri Jul 17 01:21:32 1998  Tim Janik  <timj@gtk.org>
3462
3463         * gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
3464         instead of ypad (typo).
3465         (gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
3466         border around the allocation).
3467         (gtk_arrow_init): the static requisition needs to be setup in this
3468         function rather than gtk_widget_new(), so arrow creation works without
3469         the gtk_arrow_new() constructing.
3470         (gtk_arrow_expose): return TRUE, since we actually handled the expose.
3471
3472         * gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
3473         implementation for GtkWidget::size_request, so size requisition for
3474         simple statically sized widgets like GtkArrow works.
3475
3476 Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
3477
3478         * gtk-config.in: minor changes to gtk-config: --cflags doesn't
3479         prepend -I@libdir@/glib/include anymore, since glib-config handles
3480         it; --libs strips out redundant -L<path>'s properly (there was
3481         code in there to do it before, but it didn't work)
3482
3483 Thu Jul 16 18:24:41 1998  Tim Janik  <timj@gtk.org>
3484
3485         * gtk/gtknotebook.h: 
3486         * gtk/gtknotebook.c: signdness corrections all ove the place.
3487         implementation of object arguments: GtkNotebook::enable_popup,
3488         GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
3489         GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
3490         begun implementation of child args, we have GtkNotebook::tab_label, but
3491         GtkNotebook::menu_label and GtkNotebook::position still lack the
3492         implementation.
3493         (gtk_notebook_remove_page):
3494         (gtk_notebook_current_page): allow negative indices (-1) as alias for
3495         the last page.
3496
3497         * gtk/gtkentry.h:
3498         * gtk/gtkentry.c: GtkType and macro fixups. implementation of object
3499         arguments GtkEntry::max_length and GtkEntry::visibility.
3500         (gtk_entry_adjust_scroll): queue a redraw.
3501
3502         * gtk/gtkeditable.h:
3503         * gtk/gtkeditable.c: GtkType und macro fixups. implementation of
3504         object arguments GtkEditable::text_position and GtkEditable::editable.
3505         new (action) signal GtkEditable::set_editable.
3506         provide a default handler for GtkEditable::changed that queues a redraw.
3507
3508         * gtk/gtktext.h: 
3509         * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
3510         set_editable.
3511
3512 Thu Jul 16 14:42:11 1998  Lars Hamann  <lars@gtk.org>
3513
3514         * gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
3515         case of drag_target == NULL
3516         * gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
3517         Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
3518         * gtk/gtkfilesel.c (gtk_file_selection_file_button,
3519         gtk_dir_selection_file_button): fix due to changes in clist's
3520         select_row signal.
3521
3522 Thu Jul 16 01:27:15 1998  Tim Janik  <timj@gtk.org>
3523
3524         * gtk/gtkwidget.h:
3525         * gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
3526         similar to gtk_widget_set_uposition(). that is: -1=unspecified,
3527         -2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
3528         to be gint16s rather than guint16s, since that's what the code expected
3529         (for a long time actually).
3530
3531         * gtk/gtkviewport.c:
3532         added support for object arguments: GtkViewport::shadow_type,
3533         GtkViewport::vadjustment and GtkViewport::hadjustment.
3534         (gtk_viewport_add): chain gtk_bin_add.
3535
3536         * gtk/gtkscrolledwindow.c: 
3537         added support for object argument: GtkScrolledWindow::hscrollbar_policy,
3538         GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
3539
3540         * gtk/gtkadjustment.h: 
3541         * gtk/gtkadjustment.c: 
3542         * gtk/gtkctree.h: 
3543         * gtk/gtkclist.h: 
3544         * gtk/gtkctree.c: 
3545         * gtk/gtkclist.c:
3546         * gtk/gtkscrolledwindow.h:
3547         * gtk/gtkscrolledwindow.c:
3548         * gtk/gtkviewport.h:
3549         * gtk/gtkviewport.c:
3550         GtkType and macro fixups.
3551
3552 Thu Jul 16 01:10:02 1998  Lars Hamann  <lars@gtk.org>
3553
3554         * gtk/gtkctree.h :
3555         * gtk/gtkctree.c :
3556         Added focus handling, horizontal and vertical autoscrolling,
3557         extended Selection Mode, key bindings
3558         Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
3559         Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
3560         Removed gtk_ctree_clear.
3561         
3562         * gtk/gtkclist.h :
3563         * gtk/gtkclist.c : 
3564         Added focus handling, horizontal and vertical autoscrolling,
3565         extended Selection Mode, key bindings
3566
3567 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
3568
3569         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
3570         source tree. For more information on GdkRgb, please see:
3571         http://www.levien.com/gdkrgb/
3572
3573         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
3574         bothers me slightly that the feature is in gdk, and this file is
3575         in gtk, but it's probably ok.
3576
3577         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
3578
3579         * gdk/gdkrgb.c:
3580         * gdk/gdkrgb.h: Added this module.
3581
3582         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
3583
3584         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
3585
3586 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
3587
3588         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
3589         to this function. it needs to relookup the signal multiple times.
3590         this fixes spurious segfaults that could show up with signal intensive
3591         code, when classes are created during a pending emission (which is
3592         normal case).
3593
3594 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
3595
3596         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
3597         child if it isn't a label.
3598
3599 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
3600
3601         * gtk/gtkdialog.h: 
3602         * gtk/gtkseparator.h: 
3603         * gtk/gtkhseparator.h: 
3604         * gtk/gtkvseparator.h: macro and GtkType fixups.
3605
3606 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
3607
3608         * gtk/testgtk.c (create_cursors): display the current cursor name.
3609
3610         * gtk/gtktypeutils.h: 
3611         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
3612         the fundamental type definition. the GtkArg union now only covers
3613         the required storage types for argument values. adapted the GTK_VALUE_*
3614         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
3615
3616         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
3617         code, fixed int/float collection. fixed a bug in the sanity checking
3618         code for GtkObjects.
3619
3620         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
3621         argument collection code.
3622
3623         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
3624         macros when distinguishing the return type.
3625
3626 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
3627
3628         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
3629           is not NULL before trying to g_list_remove the child. A patch
3630           from Michael Lausch.
3631
3632 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
3633
3634         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
3635         collection (always casted to doubles upon argument passing).
3636
3637 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
3638
3639         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
3640         object_init_func for derived objects with the object's ->klass field
3641         still pointing to the corresponding base class, otherwise overridden
3642         class functions could get called with partly-initialized objects.
3643         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
3644
3645 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
3646
3647         * gtk/gtkobject.h:
3648         * gtk/gtkobject.c:
3649         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
3650
3651         * gtk/gtkcontainer.h:
3652         * gtk/gtkcontainer.c:
3653         (gtk_container_child_arg_get_info): new function which wraps
3654         gtk_arg_get_info().
3655
3656 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
3657
3658         * gtk/gtkcontainer.c:
3659         (gtk_container_arg_get): 
3660         (gtk_container_arg_set): 
3661         * gtk/gtkobject.c:
3662         (gtk_object_arg_set): 
3663         (gtk_object_arg_get):
3664         strictly check for the associated get/set arg functions. if an
3665         arg is readable or writable, the associated class functions *must*
3666         be provided.
3667
3668 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
3669
3670         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
3671         padding into account if there is an accelerator.
3672
3673 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
3674
3675         * gtk/gtkcontainer.c:
3676         (gtk_container_add_with_args): collect the arguments with
3677         gtk_container_child_args_collect, not through gtk_object_args_collect.
3678         (gtk_container_child_set): likewise.
3679
3680 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
3681
3682         * gtk/gtktypeutils.h: 
3683         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
3684         which is derived from GTK_TYPE_STRING.
3685
3686         * gtk/gtkbindings.c: reworked the argument type handling.
3687
3688 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3689
3690         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
3691           so that it seems to allow normal operation in those modes,
3692           although you will only see black  (GIMP toolbar now pops up,
3693           just don't create a new image and GIMP now works in 4 bit.)
3694
3695 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3696
3697         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
3698           array, which was too low (?)
3699
3700 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
3701
3702         * gtk/gtkcontainer.h: 
3703         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
3704         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
3705         we now export a new function gtk_container_child_args_collect().
3706         for consistency with the object arguments, a few functions got renamed:
3707         gtk_container_child_arg_get -> gtk_container_child_get,
3708         gtk_container_child_arg_set -> gtk_container_child_set,
3709         gtk_container_child_arg_getv -> gtk_container_child_getv,
3710         gtk_container_child_arg_setv -> gtk_container_child_setv,
3711         gtk_container_add_with_argv -> gtk_container_addv.
3712         note, gtk_container_add_with_args() remained, because its equivalent
3713         would be gtk_container_add(,, ...) which would break all existing code.
3714         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
3715         we expect the `arg_name' argument to be a const static string now.
3716         (gtk_container_get_child_arg_type): function removed.
3717
3718 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
3719
3720         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
3721         this is a static inline function that collects command line arguments
3722         from a va_list. this file can just be included in all places that
3723         need this functionality.
3724
3725         * gtk/gtkarg.h: 
3726         * gtk/gtkarg.c: new files which implement most of the argument
3727         handling stuff from gtkobject.c. also collected a few more
3728         gtk_arg_* utility functions from else places.
3729
3730         * gtk/gtkobject.h: 
3731         * gtk/gtkobject.c: moved most of the argument handling code into
3732         gtkarg.c. we now export gtk_object_args_collect() as a non-public
3733         method with a blind va_list pointer.
3734         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
3735         const static string now.
3736         (gtk_object_get_arg_type): function got removed.
3737
3738         * gtk/gtkwidget.c: 
3739         (gtk_widget_set): 
3740         (gtk_widget_new): adaptions for gtk_object_args_collect().
3741
3742         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
3743         fundamental type name so as to have a valid prefix, e.g. "bool"->
3744         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
3745         though that should probably be something like GtkNone since the
3746         type itself is called GTK_TYPE_NONE.
3747         even the internal type names need to avoid name clashes and must live
3748         in their own namespace, several code portions rely on that.
3749         we should relly have typedefs such as typedef gchar* GtkString; so the
3750         fundamental type names can be used for code dumpers just like with all
3751         the Gtk/Gdk types.
3752
3753 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
3754
3755         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
3756         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
3757         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
3758         (GTK_RELIEF_HALF).
3759         (gtk_button_paint): set the background for prelighted buttons with
3760         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
3761         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
3762         the shadow type (otherwise we get strange shadows for coloured buttons).
3763         (gtk_button_set_relief): queue a redraw after changing
3764         the relief.
3765         (gtk_button_class_init): 
3766         (gtk_button_set_arg): 
3767         (gtk_button_get_arg): added object argument "GtkButton::relief".
3768
3769         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
3770
3771 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
3772
3773         * gtk/gtkbutton.h:
3774         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
3775         GTK_BIN (button)->child to button->child to keep source compatibility.
3776
3777         * gtk/gtkoptionmenu.c:
3778         * gtk/gtkclist.c:
3779         * gtkcheckbutton.c: don't refer to button->child, but
3780         GTK_BIN (button)->child instead.
3781
3782 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
3783
3784         * docs/gtkfaq.sgml: update anon CVS info
3785
3786 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
3787
3788         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
3789         functions.
3790
3791         * gdk/gdkwindow.c:
3792         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
3793         to XFree() calls.
3794
3795 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3796
3797         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
3798         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
3799
3800 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
3801
3802         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
3803
3804 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
3805
3806         * gtk/gtkwidget.h:
3807         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
3808
3809         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
3810         error that prevented signal to entry addition for signals with
3811         parameters.
3812
3813 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
3814
3815         * ltconfig: fix for properly detecting shared lib support on
3816         SunPro cc (taken from libtool 1.2.a)
3817
3818 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
3819
3820         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
3821
3822 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
3823
3824         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
3825         rc set pattern is favoured, this is needed for overriding of style
3826         patterns with subsequently parsed rc files.
3827
3828 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
3829
3830         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
3831         error messages.
3832
3833 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
3834
3835         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
3836         modifier as well.
3837         (gtk_accelerator_name): add "<Release>" to the accelerator name if
3838         neccessary.
3839
3840         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
3841         account.
3842
3843         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
3844         default handler for key-release events, which checks for activation
3845         of GDK_RELEASE_MASK key bindings.
3846
3847         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
3848
3849 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
3850
3851         * gtk/gtkarrow.h: GtkType and macro fixups.
3852         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
3853         "GtkArrow::shadow_type".
3854
3855 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
3856
3857         * gtk/gtkalignment.h:
3858         * gtk/gtkbin.h: GtkType and macro fixups.
3859         
3860         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
3861         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
3862         GtkAlignment::xscale, GtkAlignment::yscale.
3863
3864 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
3865
3866         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
3867         fucntions from all parent types upon class initialization.
3868
3869         * gtk/gtkcontainer.c:
3870         (gtk_container_get_type): announce gtk_container_base_class_init to
3871         the type system.
3872         (gtk_container_base_class_init): new function to feature base class
3873         initialization.
3874         (gtk_container_get_child_arg): 
3875         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
3876         and set_child_arg methods of the class indicated through the argument
3877         name.
3878
3879         * gtk/gtkobject.c:
3880         (gtk_object_base_class_init): new function to feature base class
3881         initialization.
3882         (gtk_object_init_type): announce gtk_object_base_class_init to the type
3883         system.
3884         (gtk_object_class_init): setup the get_arg and set_arg pointers for
3885         GtkObjectClass.
3886         (gtk_object_setv): 
3887         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
3888         instead of bothering the type system with this.
3889
3890         * gtk/gtkaccellabel.c: 
3891         * gtk/gtkbutton.c: 
3892         * gtk/gtkradiobutton.c: 
3893         * gtk/gtktable.c:
3894         * gtk/gtktogglebutton.c: 
3895         * gtk/gtktipsquery.c: 
3896         * gtk/gtkbox.c: 
3897         * gtk/gtkpacker.c: 
3898         * gtk/gtkwidget.c: 
3899         * gtk/gtkwindow.c: 
3900         * gtk/gtkframe.c: 
3901         * gtk/gtkmisc.c:
3902         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
3903         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
3904         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
3905         arg functions to take a GtkObject argument.
3906
3907         gtk/gtkadjustment.c:
3908         gtk/gtkalignment.c:
3909         gtk/gtkarrow.c:
3910         gtk/gtkaspectframe.c:
3911         gtk/gtkbbox.c:
3912         gtk/gtkbin.c:
3913         gtk/gtkcheckbutton.c:
3914         gtk/gtkcheckmenuitem.c:
3915         gtk/gtkclist.c:
3916         gtk/gtkcolorsel.c:
3917         gtk/gtkcombo.c:
3918         gtk/gtkctree.c:
3919         gtk/gtkcurve.c:
3920         gtk/gtkdata.c:
3921         gtk/gtkdialog.c:
3922         gtk/gtkdrawingarea.c:
3923         gtk/gtkeditable.c:
3924         gtk/gtkentry.c:
3925         gtk/gtkeventbox.c:
3926         gtk/gtkfilesel.c:
3927         gtk/gtkfixed.c:
3928         gtk/gtkfontsel.c:
3929         gtk/gtkgamma.c:
3930         gtk/gtkhandlebox.c:
3931         gtk/gtkhbbox.c:
3932         gtk/gtkhbox.c:
3933         gtk/gtkhpaned.c:
3934         gtk/gtkhruler.c:
3935         gtk/gtkhscale.c:
3936         gtk/gtkhscrollbar.c:
3937         gtk/gtkhseparator.c:
3938         gtk/gtkimage.c:
3939         gtk/gtkinputdialog.c:
3940         gtk/gtkitem.c:
3941         gtk/gtkitemfactory.c:
3942         gtk/gtklist.c:
3943         gtk/gtklistitem.c:
3944         gtk/gtkmenu.c:
3945         gtk/gtkmenubar.c:
3946         gtk/gtkmenuitem.c:
3947         gtk/gtkmenushell.c:
3948         gtk/gtknotebook.c:
3949         gtk/gtkoptionmenu.c:
3950         gtk/gtkpaned.c:
3951         gtk/gtkpixmap.c:
3952         gtk/gtkpreview.c:
3953         gtk/gtkprogressbar.c:
3954         gtk/gtkradiomenuitem.c:
3955         gtk/gtkrange.c:
3956         gtk/gtkruler.c:
3957         gtk/gtkscale.c:
3958         gtk/gtkscrollbar.c:
3959         gtk/gtkscrolledwindow.c:
3960         gtk/gtkseparator.c:
3961         gtk/gtkspinbutton.c:
3962         gtk/gtkstatusbar.c:
3963         gtk/gtktext.c:
3964         gtk/gtktoolbar.c:
3965         gtk/gtktooltips.c:
3966         gtk/gtktree.c:
3967         gtk/gtktreeitem.c:
3968         gtk/gtkvbbox.c:
3969         gtk/gtkvbox.c:
3970         gtk/gtkviewport.c:
3971         gtk/gtkvpaned.c:
3972         gtk/gtkvruler.c:
3973         gtk/gtkvscale.c:
3974         gtk/gtkvscrollbar.c:
3975         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
3976         match the modified GtkTypeInfo structure.
3977
3978 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
3979
3980         * gtk/testgtk.c: use rand() instead of random() for portability
3981
3982 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
3983
3984         * configure.in
3985         * acconfig.h
3986         * gdk/gdk.c: use native Xlib XConvertCase if it's available
3987
3988 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
3989
3990         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
3991         XConvertCase() functionality from X11R6 on X11R5 systems.
3992
3993 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
3994
3995         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
3996         gdk_string_height, gdk_char_height to retrieve the exact
3997         height of a text.
3998
3999 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
4000
4001         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
4002           by Stefan Mars <mars@lysator.liu.se>
4003         * examples/clist/clist.c examples/clist/Makefile: example code
4004           for GtkCList widget from the Tutorial
4005
4006 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
4007
4008         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
4009         if the container is not visible, we might be a toplevel! this holds
4010         for all other base container implementations as well, that are
4011         candidates to derive toplevels from. in general the resizing code will
4012         care about visibility itself.
4013         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
4014         * gtk/gtkbox.c (gtk_box_remove): likewise.
4015
4016         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
4017         gtk_window_set_hints(), since we haven't calculated the new position
4018         yet.
4019
4020         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
4021         *mask are alway initialized in a sane way, regardless of the return
4022         value.
4023
4024 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
4025
4026         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
4027         to gtk_container_child_arg_setv, but takes a variable argument list.
4028         new function gtk_container_get_child_arg_type, which is needed by
4029         gtk_object_collect_args.
4030
4031         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
4032         take a function pointer to figure the argument type.
4033         adapted callers to pass gtk_object_get_arg_type.
4034         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
4035         gtk_object_get_arg_type..
4036
4037         * gtk/gtkpacker.h: 
4038         * gtk/gtkpacker.c:
4039         (gtk_packer_reorder_child): new function to change the packing order
4040         of a child.
4041         (gtk_packer_size_request): 
4042         (gtk_packer_size_allocate): take container->border_width into acount.
4043
4044         * gtk/gtkpacker.c: implemented widget arguments:
4045         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
4046         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
4047         implemented child arguments:
4048         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
4049         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
4050         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
4051         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
4052
4053         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
4054         not the alignment.
4055
4056         * gtk/gtkeventbox.h:
4057         * gtk/gtkeventbox.c: GtkType and macro fixups.
4058
4059         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
4060         sensitivity of an entry.
4061
4062         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
4063         for insensitive base and text.
4064
4065         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
4066         widget state dependent.
4067         (gtk_entry_style_set): likewise.
4068         (gtk_entry_state_changed): set background color on state changes.
4069         (gtk_entry_draw_text): for non selected text, use state dependent
4070         colors.
4071
4072         * gtk/gtktogglebutton.c: support for widget arguments
4073         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
4074
4075 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
4076
4077         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
4078         code for 1.0.x-like parameters. Changed internal interface of
4079         gtk_spin_button_real_spin. Several fixes to avoid emission of
4080         "value_changed" where possible.
4081
4082 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
4083
4084         * gtk-boxed.defs: s/GkWidget/GtkWidget/
4085
4086 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
4087
4088         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
4089         to select the resize_mode for the idle-labels container.
4090
4091         * gtk/gtkframe.h: 
4092         * gtk/gtkframe.c: GtkType and macro corrections.
4093
4094         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
4095         support widget argument "GtkRadioButton::group".
4096
4097 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
4098
4099         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
4100         unconditionally if resize_mode has changed.
4101
4102         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
4103         GTK_RESIZE_QUEUE on the scrolled window.
4104         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
4105
4106 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
4107
4108         * gtk/gtkcontainer.h:
4109         * gtk/gtkcontainer.c:
4110         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
4111         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
4112         (gtk_container_queue_resize): new function to queue a container for
4113         a *size* reallocation (doesn't affect its position, and thus its
4114         parent is left untouched usually).
4115         (gtk_container_get_resize_container): new function to retrive the next
4116         most resize container which is not itself queued for a resize.
4117         (gtk_container_idle_sizer): new function to carefully process the
4118         container_resize_queue since it can change during invokation of
4119         gtk_container_check_resize().
4120         (gtk_container_resize_children): total rework of this function to
4121         properly handle resize containers. makes a lot of assumptions whitch
4122         are stated in the comments.
4123
4124         * gtk/gtkcontainer.c:
4125         (gtk_container_real_check_resize): only requeue ourselves if we are not
4126         a resize container.
4127         (gtk_container_clear_resize_widgets): care for automatic deletion of our
4128         resize_widgets list on size_allocate through a handler connection.
4129
4130         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
4131         focus and default widget of a window, so to take the burden from
4132         gtk_widget_unparent.
4133
4134         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
4135         to be clever, but actually messed up the resize_children logic and
4136         caused unneccessary allocations on its whole branch. besides this,
4137         it messed up the display by not invoking a redraw after the allocation.
4138
4139         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
4140         that it is the child again that is queued for a resize.
4141         (gtk_table_attach): likewise.
4142         (gtk_table_remove): likewise.
4143
4144 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4145
4146         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
4147         gtk_entry_adjust_scroll.  Required if you change the cursor
4148         position and want to sync it up with your code (Midnight Commander
4149         gtk front end needs this).
4150
4151         * gtk/gtktable.c: Deal with tables that have size 0, 0.
4152
4153 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
4154
4155         * examples/README.1ST: new file to explain how the
4156           code examples should be extracted from the tutorial.
4157
4158 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
4159
4160         * gtk/gtkctree.c (draw_row): added new "line style"
4161         GTK_CTREE_LINES_TABBED 
4162         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
4163         search the glist pointer of an GtkCTreeRow
4164
4165 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
4166  
4167         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
4168         from, and clean up, the dependencies.  Generate to intermediate
4169         files to prevent problems with Ctrl-C.
4170
4171         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
4172
4173 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
4174
4175         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
4176         - Bug fix for precision problem causing occasional double emission 
4177           of "value_changed" signal (hopefully works now).
4178         - API change (should be binary compatible) : 
4179           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
4180           Modified cursor example appropriately.
4181           To spin by something other than step_/page_increment, use
4182           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
4183         - Made GTK_SHADOW_NONE the default. ;)
4184         - Fixed casting of GtkAdjustment* to GtkWidget* in
4185           gtk_spin_button_value_changed.
4186
4187 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
4188
4189         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
4190         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
4191         resize widget list before queuing the container for a new reize.
4192         (gtk_container_need_resize): changed return value to FALSE, since this
4193         used to indicate that no further resizes are needed.
4194         (gtk_container_set_arg): 
4195         (gtk_container_get_arg): 
4196         (gtk_container_class_init): implemented GtkContainer::resize_mode
4197         argument.
4198
4199         (gtk_container_resize_children): when we walk up the tree of a resize
4200         widget we need to stop if we are the current parent.
4201
4202         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
4203         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
4204         (gtk_widget_hide_all): retrive the toplevel widget from via
4205         gtk_widget_get_resize_container().
4206
4207 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
4208
4209         * gtk/gtklist.c (gtk_list_button_press): Only respond
4210           to selection with button 1. This allows context-sensitive
4211           menus to work correctly.
4212
4213 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
4214
4215         * gtk/gtkaccelgroup.c: 
4216         * gtk/gtkbindings.c: 
4217         * gtk/gtkcontainer.c:
4218         * gtk/gtkitemfactory.c:
4219         * gtk/gtkobject.c: 
4220         * gtk/gtksignal.c:
4221         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
4222         g_quark_from_static_string calls to save memory.
4223
4224         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
4225         function _after_ the new data has been setup.
4226         minor changes to object data functions to feature the GQuark type.
4227
4228 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
4229
4230         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
4231           from argv.
4232
4233 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
4234
4235         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
4236           to be more readable perl, to spit out stuff that looks
4237           more like readable C, and to pipe output through indent
4238           so output looks a lot like readable C. No functional
4239           changes.
4240
4241 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
4242
4243         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
4244           necessary when switching to a masked pixmap. (Based on a patch
4245           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
4246
4247 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
4248
4249         * gtk/gtkeditable.[ch]: Added action signals for keyboard
4250           bindings. (move_cursor, kill_word, etc, etc, etc). 
4251
4252           removed the time argument from
4253           gtk_editable_cut/copy/paste_clipboard (source but not
4254           binary incompatible...) Instead get time from
4255           gtk_get_current_event ().
4256         
4257         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
4258           signals.
4259
4260 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
4261
4262         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
4263
4264         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
4265              parent class to GtkNotebookClass when splitting the widget in
4266              two.  Also updated some comments.
4267
4268         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
4269                button without a font selected.
4270
4271              Fixed bug in set_font_name - I hadn't updated the code to
4272                search for the style in the font_style clist - it was
4273                still assuming the style row was equal to its index,
4274                but it isn't any more.
4275         
4276              Changed 'Reset' button on filter page to 'Clear Filter'.
4277              Deleted old code relating to the old 'Filter Fonts' toggle
4278              Updated some comments.
4279              Cleared 'Actual Fontname' if no font is set.
4280
4281         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
4282              destroying the GtkFontSelection instead of the
4283              GtkFontSelectionDialog.
4284
4285 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
4286
4287         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
4288           flag to make all warnings fatal errors.
4289
4290         * gtk/testthreads.c: moved <pthreads.h> include inside 
4291           #ifdef USE_PTHREADS
4292
4293 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
4294
4295         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
4296           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
4297
4298         - Added new function gtk_container_set_resize_mode() for
4299           fine-grained control of where resize-queueing is done.
4300
4301         - Removed GtkContainer::need_resize and GtkWindow::move_resize
4302         - Added GtkContainer::check_resize to replace need_resize.
4303
4304         - Added function gtk_container_check_resize() to trigger
4305           queued resizes, and gtk_container_resize_children() to
4306           Figure which children need to be size-allocated. (logic
4307           moved from gtkwindow.c)
4308
4309         - Reorganized code in gtkwindow.c
4310         
4311         - Set the resize-mode for viewports so that resizes within
4312           a viewport don't propagate out of it. 
4313         
4314 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4315
4316         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
4317
4318         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
4319         g_return_val_if_fail, because the function *does* return a value.
4320
4321 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
4322
4323         * gtk/gtkaccellabel.h:
4324         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
4325         request the size of the accelerator portion of an accel label.
4326         (gtk_accel_label_size_request): don't request for the accelerators size.
4327         (gtk_accel_label_expose_event): only draw the accelerator if we got
4328         enough extra space.
4329
4330         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
4331         width from children.
4332
4333         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
4334         object (after removal has been requested) check if there is still an
4335         accelerator remaining to avoid adding two accelerators on an object.
4336         this can happen for locked accelerators (or accelerator-frozen widgets).
4337         (gtk_menu_size_request): feature childrens accelerator width in size
4338         requests.
4339
4340         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
4341         gtk_widget_freeze_accelerators() for dynamically created menu items.
4342
4343         * gtk/gtksignal.h: 
4344         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
4345         which will return a handler_id > 0 if the specified function is pending
4346         for `signal_id'.
4347
4348         * gtk/gtkwidget.h:
4349         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
4350         a signal handler function to stop accelerator addition.
4351         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
4352         which will prevent (undo) any accelerators from being added to or
4353         removed from a widget.
4354
4355 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
4356
4357         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
4358         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
4359         acceleration, new API gtk_spin_button_set_snap_to_ticks.
4360
4361 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
4362
4363         * gdk/gdk.h:
4364         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
4365         the current GdkWindow the pointer is on if there is any.
4366         
4367         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
4368         and one column, so we don't construction logic at all. changed a few
4369         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
4370         unsigned int wraps.
4371
4372         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
4373         portion, added an additional check for parent != widget.
4374
4375         * more GtkType and macro fixups.
4376
4377 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4378
4379         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
4380         "clip" parameter, which is the clipping rectangle to use.  This
4381         eliminates the extremely annoying flicker when exposing parts of
4382         the handlebox.
4383
4384 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
4385
4386         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
4387         resizing
4388
4389 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
4390
4391         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
4392         != 0 on the argument.
4393
4394         * gtk/gtktable.h: 
4395         * gtk/gtktable.c: new function gtk_table_resize() which allowes
4396         shrinking and expanding of tables. implementation of widget arguments
4397         and child arguments. many signedness corrections.
4398
4399 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
4400
4401         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
4402         not only the child, otherwise we might end up taking away other
4403         childrens space after the resize.
4404
4405         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
4406         an unknown menu path from any source, that path must always be flagged
4407         as "modified", since we don't really know whether it has its default
4408         value or not.
4409
4410         * gtk/gtktree.c:
4411         * gtk/gtkpacker.c:
4412         * gtk/gtknotebook.c:
4413         * gtk/gtkmenushell.c:
4414         * gtk/gtklist.c:
4415         * gtk/gtkpaned.c:
4416         * gtk/gtkfixed.c: 
4417         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
4418
4419         * gtk/gtkbox.h: 
4420         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
4421         arguments. implemented child arguments.
4422
4423         * more GtkType and macro fixups.
4424
4425 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
4426
4427         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
4428
4429         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
4430         and gtk_clist_get_hadjustment.
4431
4432         * gtk/gtkcontainer.c:
4433         implementation of children arguments, new class member functions
4434         (child_type), (get_child_arg) and (set_child_arg) plus a new field
4435         n_child_args.
4436         (gtk_container_child_type): new function which returns the type of a
4437         child that the container expects for its next addition.
4438         (gtk_container_add_child_arg_type): new function to introduce a new
4439         child argument at class creation time.
4440         (gtk_container_query_child_args): new function to query all child
4441         arguments that are supported by a container class.
4442         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
4443         child argument.
4444         (gtk_container_child_arg_setv): new function to set a child argument for
4445         a certain container and child combination.
4446         (gtk_container_add_with_args):
4447         (gtk_container_add_with_argv): new functions to feature addition of a
4448         new child in combination with the setting of certain child arguments.
4449
4450         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
4451         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
4452         this should really be done through class cretion hooks some day.
4453
4454         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
4455         guint : 16.
4456
4457         * gtk/gtkpacker.h:
4458         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
4459         follow the gtk convention for lower case variable names (important
4460         for language wrappers and widget arguments), and made them guint : 16.
4461
4462         * examples/packer/pack.c: adaptions for the case converted GtkPacker
4463         fields.
4464
4465 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
4466
4467         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
4468         change the character pair for single line comments.
4469         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
4470         GtkItemFactoryClass.
4471         (gtk_item_factory_parse_rc_string): likewise.
4472
4473 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
4474
4475         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
4476         lists from the klass structure to a static structure
4477         in gtkfontsel.c; cleans up global the namespace.
4478
4479 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
4480
4481         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
4482         bug with /*< skip >*/ and remove warning.
4483         
4484 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
4485
4486         * gtk/Makefile.am: Made the gtkmarshal.* generation
4487         rules maintainer-only.
4488
4489 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
4490
4491         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
4492           gtk/Makefile.am gtk/makenums.pl 
4493
4494         Removed out the G_ENUM/FLAGS mechanism in favor
4495         of a perl script that parses the standard headers
4496         (with occasional /*< nick=foo >*/ style overrides)
4497         and extracts the enumerations.
4498
4499           gtk/maketypes.awk: Small improvments to the
4500           translation of names. (Avoid splitting gc into
4501           g_c_.)
4502         
4503 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
4504
4505         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
4506         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
4507         
4508 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
4509
4510         * gtk/gtkentry.c:
4511         - Restored gtk_entry_adjust_scroll to static 
4512         - Changed text positioning code so that we always
4513           display as large a portion of the text as possible.
4514
4515 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
4516
4517         * gtk/gtktext.c (gtk_text_finalize): Free internal
4518         structures of text widget. Also, unreference pixmaps
4519         when unrealizing.
4520         
4521 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
4522
4523         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
4524         3.3.1 bug workaround to number keys starting at 1.
4525
4526 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
4527
4528         * docs/gtk_tut.sgml: Fixed urls for complete example
4529         source for scribble+widget-writing examples.
4530
4531 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
4532
4533         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
4534         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
4535         specs of the form c #abcdef [ more keys ] properly.
4536
4537 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
4538
4539         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
4540         (gtk_spin_button_set_shadow_type):
4541         New API to set the shadow type of the arrow panel.
4542
4543 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
4544
4545         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
4546         code for drawing the child in two places at once. Unfortunately,
4547         not only does it not work anymore (because reparenting has
4548         been fixed), but it also triggers reparent/expose loops
4549         in some cases.
4550
4551         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
4552         an unecessary unrealize.
4553
4554 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
4555
4556         * gdk/gdkwindow.c (gdk_window_reparent): Update the
4557           old and new parents' child window lists properly.
4558
4559 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
4560
4561         * gtk/gtkpacker.h:
4562         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
4563         and GtkSideType, to be consistent with the rest of Gtk's enum
4564         definitions. wrapped the enum definitions with the G_ eunm wrappers.
4565         spelled out the GTK_ANCHOR_* enum values, since single letters don't
4566         work out corectly as nick-names (left the old values as aliases).
4567         some signdness corrections (border-width, spacing), could stand more.
4568
4569 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4570
4571         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
4572           Added gtkpacker
4573
4574         * examples/packer/pack.c, examples/packer/Makefile: Added
4575           gtkpacker example
4576
4577 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
4578
4579         * gtk/gtktext.c (remove_cache_line): Fixed broken
4580         list-removal code.
4581
4582         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
4583         Check bounds before deleting.
4584
4585 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
4586
4587         * autogen.sh: Support ACLOCAL_FLAGS
4588
4589 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
4590
4591         * gtk-config.in: Added missing quotes.
4592
4593 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
4594
4595         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
4596
4597 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
4598
4599         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
4600         G_COMPILED_WITH_DEBUGGING.
4601
4602         * configure.in (fd_set): Explain check better.
4603
4604         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
4605         the version from which gtk+'s libtool forked.  Needed for people
4606         who use post-1.2 alphas of libtool.
4607
4608 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
4609
4610         * glib/* Moved to glib module
4611
4612         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
4613           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
4614
4615           configuration changes for the above:
4616          
4617           - Use AM_PATH_GLIB by default to find glib; also accept
4618             a --with-glib option for using an uninstalled glib.
4619          
4620           - Put --enable-debug information into config.h so
4621             that we rebuild when it changes. (was in glibconfig.h)
4622
4623 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
4624
4625         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
4626
4627         * gtk/gtknotebook.h (struct _GtkNotebookClass):
4628         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
4629         added missing argument (according to Joseph Coleman's bug report)
4630
4631         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
4632         function to fix notebook focus handling
4633         
4634 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
4635
4636         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
4637           glib/gutils.c glib/testglib.c glib/gdataset.c
4638           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
4639           gtk/gtktext.c gtk/gtkbindings.c:
4640
4641          renamed g_const_pointer => gconstpointer
4642
4643 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
4644
4645         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
4646         invoked with (NULL, NULL); (this worked sometime ago).
4647
4648         * gtk/gtktypeutils.h: 
4649         * gtk/gtktypeutils.c: enum and flags type creation can now be done
4650         through gtk_type_register_enum() and gtk_type_register_flags(),
4651         which allow to specify the enum value arrays directly.
4652         the NULL terminated value arrays can be retrived through
4653         gtk_type_enum_get_values() and gtk_type_flags_get_values();
4654         (gtk_type_children_types): new function to query derived types.
4655
4656 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
4657
4658         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
4659         environment to genmarshal.pl.
4660         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
4661         rule), and removed it where not needed (in the dependencies).
4662
4663         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
4664
4665 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
4666
4667         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
4668         was just g_direct_hash.
4669
4670 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
4671
4672         * configure.in: x_libs=, not $x_libs=. Enough said.
4673           (Case only hit for --disable-xshm)
4674         
4675 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
4676
4677         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
4678           when testing for X libraries, don't replace them. Because
4679           the user might have specified the path to the X libraries
4680           themself before running configure.
4681
4682         * examples/**.c: Changed all gpointer * to gpointer
4683         
4684 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4685
4686         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
4687         fleur_cursor field.  Now the cursor is created/destroyed on demand
4688         by the routines that need it.
4689
4690         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
4691         (gtk_handle_box_motion): The fleur cursor is created and destroyed
4692         only when needed.
4693
4694 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
4695
4696         * gtk/gtktypeutils.h: 
4697         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
4698         gtk_enum_set_values to gtk_type_enum_get_values and
4699         gtk_type_enum_set_values respectively, since they are actually type
4700         system features.
4701
4702         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
4703         my last commit. ;)
4704
4705 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
4706
4707         * gtk/gtkselection.h: 
4708         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
4709         gtk_selection_data_free.
4710
4711         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
4712         for "selection_received", which was completely bogus.
4713         * other fixups to gtk_signal_new() calls all over the place.
4714
4715         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
4716         * gtk/gtktypebuiltins_vars.c: type variable implementations.
4717         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
4718         declarations.
4719         * gtk/gtktypebuiltins_evals.c: enum value arrays.
4720         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
4721         gtk.defs.
4722         * gtk/gtk.defs: generated file with scheme syntax for type definitions
4723         of gtk and gdk structures and enums.
4724         * gtk/gtktypeutils.h: 
4725         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
4726         macros anymore (this fixes binary incompatibility with new enum
4727         definitions).
4728
4729         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
4730         key bindings for this widget.
4731         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
4732         handler.
4733
4734         * gtk/gtkobject.h:
4735         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
4736         again. new functions gtk_object_class_user_signal_new () and
4737         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
4738         flag on the signal creation.
4739
4740 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
4741
4742         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
4743
4744 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
4745
4746         * gdk/gdkprivate.h: 
4747         * gdk/gdktypes.h: 
4748         * gtk/gtkprivate.h: 
4749         * gtk/gtkwidget.h: 
4750         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
4751
4752         * reworked enum value array generation code. gtk.defs is a generated
4753         file now.
4754
4755 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
4756
4757         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
4758         check menu items in the compatibility code (this required me to remove
4759         the "<check>" part from the menu item name, grrr).
4760
4761 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
4762
4763         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
4764         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
4765         
4766 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
4767
4768         * gtk/gtkitemfactory.h: 
4769         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
4770         additions to the dumping code to feature GtkPatternSpec.
4771         even found a bug to fix in the original code ;)
4772         
4773 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
4774
4775         * gtk/gtkitemfactory.c: support different types of callbacks, to
4776         maintain existing code.
4777
4778 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
4779
4780         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
4781
4782         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
4783         this should eventually be done by gentypeinfo.el somewhen.
4784         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
4785
4786         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
4787         enum values of an enum type.
4788
4789         * gtk/gtk.defs:
4790         * gtk/gtkcurve.h: 
4791         * gtk/gtkobject.h: 
4792         * gtk/gtkprivate.h: 
4793         * gtk/gtkwidget.h:
4794         * gtk/gtkenums.h: 
4795         brought enum/flags definitions in sync, added a few more enum
4796         definitions for bindings and pattern matching.
4797
4798         * some more macro and GtkType fixups in various places.
4799
4800         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
4801         as a key-release modifier for the binding system.
4802
4803 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
4804
4805         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
4806         was a stale list pointer that is already present in GtkMenuShell.
4807
4808         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
4809         GtkMenuShell::selection_done which is emitted after the menu shell
4810         poped down again and all possible menu items have been activated.
4811
4812 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
4813
4814         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
4815         before activation of the menuitem, so the menu is actually taken off the
4816         screen prior to any menu item activation.
4817
4818         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
4819         for NULL nodes.
4820
4821         * gtk/gtkwidget.h:
4822         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
4823         the emission of the "add-accelerator" signal on a widget. this is
4824         usefull to prevent accelerator installation on certain widgets.
4825
4826         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
4827         labels left justified, by setting their alignment. stop accelerator
4828         installation for the menu items, since we use dynamic menus.
4829
4830 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
4831
4832         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
4833         should *really* use GtkItemFactory. this is only for preserving source
4834         compatibility where possible, use of GtkMenuFactory is deprecated as of
4835         now.
4836
4837         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
4838         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
4839         missed this possibility when i added gtk_object_class_add_user_signal
4840         in late january.
4841
4842         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
4843
4844 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
4845
4846         * gtk/gtkaccelgroup.h: 
4847         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
4848
4849         * gtk/gtkaccellabel.h: 
4850         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
4851         display of the accelerators associated with a certain widget.
4852
4853         * gtk/gtkitemfactory.h: 
4854         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
4855         parsing and accelerator handling.
4856
4857         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
4858         positioning a menu.
4859         (gtk_menu_map): removed the allocation code.
4860         (gtk_menu_size_allocate): care for redrawing of children and resize
4861         our widget->window correctly.
4862         (gtk_menu_key_press): feature the new accelerator groups.
4863
4864         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
4865         submenu if neccessary.
4866
4867         * gtk/gtkmenuitem.c:
4868         * gtk/gtkcheckmenuitem.c:
4869         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
4870         function variants.
4871
4872         * gdk/gdk.c:
4873         (gdk_keyval_from_name): 
4874         (gdk_keyval_name): new functions for keyval<->key-name associations.
4875         (gdk_keyval_to_upper): 
4876         (gdk_keyval_to_lower): 
4877         (gdk_keyval_is_upper): 
4878         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
4879         regards to their cases.
4880
4881 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
4882
4883         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
4884         widget's class path.
4885         (gtk_widget_path): new function to calculate a widget's name path.
4886
4887         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
4888         pattern matching, features reversed pattern matches.
4889
4890 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
4891
4892         * examples/extract.sh, examples/extract.awk:
4893           New files to automagically extract code examples from the
4894           tutorial.
4895
4896 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
4897
4898         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
4899         * gtk/gtkcontainer.c (gtk_container_focus_move):
4900         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
4901
4902 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
4903
4904         * docs/gtk_tut.sgml: minor changes to support auto
4905           extraction of example code
4906
4907 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
4908
4909         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
4910           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
4911
4912 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
4913
4914         * docs/gtk_tut.sgml:
4915           - new section on Events
4916           - change all delete_event callbacks to include
4917             a GdkEvent parameter
4918           - clean up the formatting
4919
4920         * examples - helloworld.c, helloworld2.c, notebook.c,
4921           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
4922           rulers.c, table.c, wheelbarrow.c: change all delete_event
4923            callbacks to include a GdkEvent parameter.
4924
4925 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4926
4927         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
4928         field of crossing events.
4929         (struct _GdkEventCrossing): Added the following fields: time, x,
4930         y, x_root, y_root, mode, focus, state.
4931
4932         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
4933         crossing event structure.
4934
4935         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
4936         changes to the crossing event structure.
4937
4938 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
4939
4940         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
4941
4942 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
4943
4944         * docs/gtk_tut.sgml:
4945            - GtkTooltips, update to current API
4946            - change all 'gpointer *data' to 'gpointer data'
4947            - other minor changes
4948
4949 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
4950
4951         * configure.in (LDFLAGS): Bomb out with a moderately
4952           helpful message if detection of X libraries fails.
4953
4954 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
4955
4956   [ Combination of:
4957      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
4958      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
4959
4960         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
4961           gtk/gtksignal.c gtk/gtktext.c: 
4962
4963           Fixups for warnings from adding const to type of GHashFunc,
4964           GCompareFunc
4965         
4966         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
4967           ansi-warnings fixups.
4968
4969 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
4970
4971         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
4972         Locate child at (border_width,border_width), not
4973         (2*border_width,2*border_width). [ The border is _outside_
4974         widget->window ]
4975         
4976         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
4977           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
4978
4979 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4980
4981         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
4982         used in gnome-libs
4983
4984 1998-05-22    <sopwith@redhat.com>
4985
4986         * gtk/gtkeventbox.c: Pass size_allocate on to the child
4987         regardless of whether it is visible or not. Also
4988         locate child at (border_width,border_width), not (0,0)
4989
4990 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
4991
4992         * gtk/gtkhandlebox.c: Added style_set handler.
4993
4994 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
4995  [ From: Chris Lahey  <clahey@umich.edu> ]
4996         
4997         * gtk/gtkeditable.c, gtk/gtkeditable.h,
4998           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
4999           and set_position functions to get and set the cursor position.
5000
5001         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
5002           signal status. Make GtkText do user-controlled insertion
5003           and deletion through the Editable widget so that these
5004           signals are properly emitted.
5005
5006         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
5007           display asterisks instead of empty space when visible = FALSE)
5008
5009 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
5010
5011         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
5012         signal.
5013
5014 1998-05-21    <sopwith@redhat.com>
5015
5016         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
5017         custom routine for loading images specified in gtkrc's.
5018
5019 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
5020
5021         * configure.in: Use pthread_attr_init() as a test function,
5022         since most of the rest of -lpthread is macros on DU4.
5023
5024 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
5025
5026         * gtk/gtkcombo.c: implemented completion in the entry.
5027
5028 1998-05-18    <sopwith@moebuis.labs.redhat.com>
5029
5030         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
5031
5032 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
5033
5034         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
5035         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
5036         to be of runtype GTK_RUN_LAST.
5037
5038         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
5039         "need-resize".
5040
5041         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
5042         "widget-selected".
5043
5044 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
5045
5046         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
5047         text retrived from GtkEntry. only intercept the Tab key if there
5048         was some text to complete.
5049
5050 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
5051
5052         Basic thread-awareness:
5053
5054         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
5055
5056         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
5057         gdk_threads_[init/enter/leave] for applications, plus
5058         gdk_threads_wake to wake the mainloop thread out of
5059         the select().
5060
5061         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
5062
5063 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
5064
5065         * gtk/testgtk.c (list_clear): Account for the fact
5066         that gtk_list_clear_items is not inclusive. (Clears
5067         [start, end))
5068
5069 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
5070
5071         * gdk/gdk.c: include gdkkeysyms.h always
5072         
5073
5074 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
5075
5076         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
5077         the visibility_notify_event method and changed method order.
5078
5079 1998-05-14    <sopwith@moebuis.labs.redhat.com>
5080
5081         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
5082
5083 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
5084
5085         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
5086         from Olli Helenius <ollhel@batman.jytol.fi>.
5087
5088         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
5089         freeing types.
5090         (gtk_type_set_chunk_alloc): new function to allow allocation of new
5091         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
5092         thorugh g_malloc).
5093
5094         * gtk/gtkobject.c (gtk_object_finalize): free an object through
5095         gtk_type_free().
5096
5097         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
5098         GtkButtons to 16.
5099         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
5100         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
5101
5102 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
5103
5104         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
5105           GPOINTER_TO_UINT fixes.
5106
5107         * gtk/gtksignal.c: Include <string.h> for memset.
5108
5109 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
5110         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
5111
5112         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
5113         Cleanups, comments and the ability to have rulers with 
5114         a reversed direction.
5115
5116 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
5117
5118         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
5119         that Sopwith missed when changing stat => lstat.
5120
5121 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
5122
5123         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
5124           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
5125         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
5126
5127         * gdk/gdk.c: Print sizeof() results
5128         as g_print("%ld", (glong)sizeof(foo)), to deal with
5129         sizeof() being long on Alpha's.
5130
5131         * gtk/testgtk.c: include <string.h> for strlen
5132
5133 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
5134         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
5135         
5136         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
5137         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
5138
5139         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
5140
5141 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
5142         (From: Christopher James Lahey <clahey@umich.edu>)
5143         
5144         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
5145           gtk/testgtk.c:
5146
5147         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
5148         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
5149         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
5150         the default relief for the toolbars buttons. Added an
5151         toggle for the toolbar test in testgtk.c.
5152
5153 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
5154
5155         * docs/gtk-config.1: Rewritten and hopefully improved.
5156
5157 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
5158
5159         * docs/Makefile.am
5160         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
5161
5162 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5163
5164         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
5165         GtkPreview's visual and colormap, otherwise things can BadMatch.
5166
5167         * gtk/testgtk.c (create_color_preview): 
5168         (create_gray_preview): Removed pushing/popping of visual/colormap
5169         now that GtkPreview does things correctly.
5170
5171         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
5172         (gtk_color_selection_draw_wheel): Pick the style from the correct
5173         place (the colorsel->wheel_area widget) so that the GCs will match
5174         with where we are going to paint to.
5175
5176         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
5177         of visual/colormap now that GtkColorSelection does things the
5178         right way.
5179
5180 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
5181
5182         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
5183         previously unused window->need_resize flag to mark if a window's
5184         descendents changed size while the window was not visible. In this
5185         case, when the window becomes visible, we reallocate everything,
5186         since we didn't keep track of what actually changed.
5187
5188         (Fixes bug where changing the popdown strings of a
5189         combo to something of the same length caused them to
5190         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
5191
5192 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
5193
5194         [security audit by Alan Cox]
5195
5196         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
5197         exceed maximum assumed size.
5198
5199         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
5200         not exceed maximum assumed size.
5201         (gtk_menu_factory_remove): likewise.
5202         (gtk_menu_factory_find_recurse): likewise.
5203
5204 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
5205
5206         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
5207         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
5208         redrawn if that is still neccessary. don't allow queueing of already
5209         destructed objects.
5210         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
5211         widgets which are in the queue can be destroyed safely, handle
5212         requeueing properly.
5213         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
5214         widgets which are in the queue can be destroyed/unrealized safely.
5215
5216 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
5217
5218         * gtkfaq.sgml: add question on multi-threading,
5219           minor URL cleanups.
5220
5221 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
5222
5223         * configure.in (cflags_set): preserve automake CFLAGS.
5224
5225         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
5226         and libgdk-1.1.la. this means we need to change certain portions of
5227         the Makefile.am on major/minor version bumps.
5228
5229         * ltmain.sh: the -release option is not required anymore.
5230         
5231         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
5232         of the first argument to be of type GtkObject. unconditionally compile
5233         this function. removed __GNUC__ dependancy of the gtk_object_ref and
5234         gtk_object_unref macro wrappers for this function.
5235
5236 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
5237
5238         * gtk/gtkobject.h:
5239         * gtk/gtkobject.c:
5240         (gtk_object_data_try_key):
5241         (gtk_object_data_force_id): these are now macros substituting the old
5242         functions. we just use the corresponding g_dataset_* functions for
5243         key->id associations. (this is to assure unique key<->id associations).
5244
5245 1998-05-10  Stefan Jeske  <stefan@gtk.org>
5246
5247         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
5248         to gboolean.
5249
5250         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
5251
5252 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
5253
5254         * configure.in (LIBS): Try to figure out if this
5255         is Digital Unix and we need -std1 to get the
5256         right prototypes.
5257
5258 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
5259
5260         * docs/gtk_tut_it.sgml: update of Italian tutorial
5261           translation from Daniele Canazza <dcanazz@tin.it>
5262
5263 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
5264
5265         * gtk/gtkfeatures.h.in: new file used as template for
5266         * gtk/gtkfeatures.h: new file to define macros indicating newly
5267         introduced features, such as GTK_HAVE_SIGNAL_INIT.
5268
5269         * gtk/gtksignal.c:
5270         (gtk_signal_emitv_by_name):
5271         (gtk_signal_emitv):
5272         new functions to emit signals with an already provided parameter set.
5273         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
5274         (gtk_signal_real_emit): prototype changes, so this functions always
5275         gets its parameters and signal structure as arguments.
5276         (gtk_signal_emit): provide the signal structure and parameter list for
5277         gtk_signal_real_emit.
5278         (gtk_signal_emit_by_name): likewise.
5279
5280 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
5281
5282         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
5283         signal connections through unsetting GTK_CONNECTED.
5284         (gtk_signal_handler_insert): reflect the presence of signal connections
5285         through setting GTK_CONNECTED.
5286         (gtk_signal_real_emit): only check for handler emissions if the object
5287         has the GTK_CONNECTED flag set.
5288         (gtk_signal_handler_pending): don't check for pending handlers if the
5289         GTK_CONNECTED flag is not set for this object.
5290
5291         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
5292         a GtkObject has signal handler connections.
5293
5294         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
5295         set for this object call gtk_signal_handlers_destroy().
5296         
5297         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
5298         multiple processing of macro args.
5299
5300         * gtk/gtktypeutils.c:
5301         * gtk/gtkobject.c:
5302         * gtk/gtkwidget.c:
5303         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
5304
5305 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
5306
5307         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
5308         draw-queue when we are done. 
5309
5310         (gtk_widget_queue_draw/_queu_resize): Always return
5311         FALSE and avoid having two idles at the same time.
5312         
5313 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
5314
5315         * gtk/gtktext.c: Various fixes to make sure cache
5316         lines are freed if line_start_cache doesn't point to the
5317         beginning of the cache.
5318
5319 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
5320
5321         * style_set improvements for GtkText and GtkEntry
5322
5323 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
5324
5325         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
5326         been initialized.
5327
5328 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
5329
5330         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
5331         data chunks through a global object data structure list. unlink
5332         object data before invoking its destroy function.
5333         (gtk_object_finalize): slight modification to allow usage of object
5334         data during object finalization.
5335
5336 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
5337
5338         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
5339         signal names, e.g. "signal-name" is now an alias for "signal_name".
5340         (gtk_signal_handler_new): allocate handlers through a global handler
5341         structure list, that's faster than memchunks.
5342         (gtk_emission_new): allocate emissions through a global emission
5343         structure list, that's faster than memchunks.
5344
5345 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
5346
5347         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
5348
5349         * ltmain.sh: added a new commandline flag -postfix similar to -release,
5350         but will immediately change the library name.
5351
5352         * gdk/Makefile.am:
5353         * gtk/Makefile.am: specify -postfix and -version-info
5354
5355         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
5356         GTK_BINARY_AGE. calculate LT_* variables for libtool.
5357
5358 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5359
5360         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
5361         background (fg_set -> bg_set confusion).
5362
5363 1998-05-06  Stefan Jeske  <stefan@gtk.org>
5364
5365         * gtk/testgtk.c (unselect_all): Removed code that caused an
5366         endless loop.
5367
5368 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
5369
5370         * gtk/gtksignal.c: reimplemented the signal storage system to use a
5371         linear array rather than a hash table.
5372         be carefull *not* to keep any GtkSignal pointers across invokations
5373         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
5374         general code cleanups, made all allocations through memchunks.
5375         (gtk_signal_lookup): we now do the lookup of signals through a key_id
5376         for the signal names to avoid multiple hashing of the signal name on
5377         lookups for the several hirarchy levels of an object.
5378
5379 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
5380
5381         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
5382         to speed things up and remove code duplication.
5383
5384         Reintegrated buffer overflow patches, and added
5385         some extra paranoia.
5386         
5387 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
5388
5389         * gdk/gdk.c (gdk_event_translate): A guint * was
5390         being passed where X expected a Keysym *, and
5391         keysyms are long's on Alpha Linux. This was causing
5392         segfaults in Xlib, apparently because of alignment.
5393         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
5394         
5395 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
5396
5397         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
5398         set GDK_EXPOSURE_MASK for DrawingAreas
5399
5400 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
5401
5402         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
5403         (superceded by RC file reparsing capabilities)
5404
5405         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
5406         events. (Shouldn't be sent to the InputOnly leader, which
5407         it is now by gdk_event_send_clientmessage_toall
5408
5409         * gtk/testgtk.c: Added extra button to rcfiles test
5410         to send out _GDK_READ_RCFILES events.
5411         
5412 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
5413
5414         * gtk/gtkselection.c (gtk_selection_clear): Fixed
5415         reversed conditionals that caused segfault on some
5416         platforms.
5417
5418 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
5419
5420         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
5421         cast to GTK_OBJECT for gtk_object_ref.
5422
5423 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
5424
5425         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
5426         checking for signal initialization in gtksignal.c.
5427
5428         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
5429         a long debugging period ;)
5430
5431 1998-05-05  Stefan Jeske  <stefan@gtk.org>
5432
5433         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
5434         New function to wrap XSetDashes; modified gtkctree.c to use it.
5435
5436 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5437
5438         * configure.in: Added $x_libs in the other_libraries field in the
5439         check for XShapeCombineMask.
5440
5441 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
5442
5443         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
5444         gtk_type_is_a().
5445         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
5446         linear array rather than a hash table. it actually speeded up testgtk
5447         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
5448         pointers across invokations of gtk_type_node_next_and_invalidate() and
5449         therefore gtk_type_unique()!
5450
5451         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
5452         inheritance of a class pointer.
5453         (GTK_OBJECT): modifications for speedups.
5454         (GTK_IS_OBJECT): likewise.
5455         (GTK_OBJECT_CLASS): likewise.
5456         (suggested by owen).
5457
5458         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
5459
5460         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
5461
5462         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
5463         since its derivation changed 4 month ago ;(. showed up with the unique
5464         type name checking code in gtk_type_unique().
5465
5466         * random guint->GtkType and macro fixups.
5467
5468 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
5469
5470         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
5471         Configure events that would result in a negative
5472         size.
5473
5474 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
5475
5476         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
5477         "glibconfig.h" and another about writing another IRC
5478         client.
5479
5480 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
5481
5482         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
5483         parameters to log are doubles. Digital Unix apparently
5484         is missing the argument in its prototype.
5485
5486 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
5487
5488         * gtk/gtklabel.c (gtk_label_state_changed): Don't
5489         force a clear until the widget is actually on
5490         screen.
5491
5492 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
5493
5494         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
5495         to make this consistent with the gtk-1-0 tree.
5496
5497 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
5498
5499         * configure.in acheader.h gdk/gdkwindow.c 
5500         Check for Shape extension both on the client and server
5501         side. (And, more importantly, check for the shape extension
5502         so we may include -lXext even when compiling with --disable-xshm)
5503
5504         Don't set override_redirect on all shaped windows. It isn't
5505         necessary.
5506
5507         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
5508         and foreign windows. Use this to check if we
5509         need to get the colormap from X.
5510
5511 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
5512
5513         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
5514         between the default and the button always in GTK_STATE_NORMAL.
5515
5516         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
5517         callback.
5518
5519 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
5520
5521         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
5522           Fix a buffer overflow on pixmaps that claim to have
5523           more than 31 characters per pixel.
5524
5525           (gdk_pixmap_read_string): Don't wrap around strings longer
5526           than half of address space ;-)
5527
5528         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
5529         that were used for printing integers.
5530
5531         * */* (almost):
5532
5533         Style: All 
5534           int foo () { ... }
5535         changed to
5536           int foo (void) { ... }
5537
5538         Even where there were proper prototypes elsewhere.
5539
5540         * gdk/gxid.c (handle_claim_device): Some extra checks.
5541         It isn't safe against being fed bad X id's, but at
5542         least it should be safe against deleting all your
5543         files.
5544
5545 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
5546
5547         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
5548         to set the adjustments value when there is no current emission.
5549         [ Removed by mutual agreement owt 5/3/1998 ]
5550
5551         * gtk/gtksignal.c: added new functions to retrive the number of
5552         existing emissions for a certain signal.
5553         (gtk_signal_n_emissions): new function.
5554         (gtk_signal_n_emissions_by_name): new function.
5555
5556 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
5557
5558         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
5559         set the current focus_child of a container, does proper referencing and
5560         adjusts the vadjustment/hadjustment associated with the focus widget.
5561
5562         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
5563         containers via gtk_container_set_focus_child.
5564
5565         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
5566         where appropriate.
5567
5568         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
5569         child since not every child removal goes through this function (this
5570         showed up after gtk_container_set_focus_child() started to reference the
5571         focus_child of a container).
5572
5573         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
5574         of a container from gtk_container_remove into this place.
5575
5576 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
5577
5578         * gtk/gtksignal.c: added new functions to operate on intermediate
5579         function pointers. implemented incremental blocking.
5580         (gtk_signal_disconnect_by_func): new function.
5581         (gtk_signal_handler_block_by_func): new function.
5582         (gtk_signal_handler_unblock_by_func): new function
5583
5584 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
5585
5586         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
5587         Always show the scrollbars when the policy is
5588         GTK_POLICY_ALWAYS...
5589
5590 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
5591
5592         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
5593         "value_changed" if we really passed a new value.
5594         (gtk_adjustment_changed): new function to emit the "changed" signal.
5595         (gtk_adjustment_set_value): new function to emit the "value_changed"
5596         signal.
5597
5598 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
5599
5600         * gtk/gtkcombo.c: Further changes to the way the window
5601         is popped up so that it will be compatible with 
5602         auto-scrolling in the future.
5603
5604 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
5605
5606         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
5607         the combo-list is empty since that will cause the combo to operate
5608         on a non existing GtkList window.
5609         (gtk_combo_get_pos): provide the combo list with a usfull default
5610         height if empty.
5611         (gtk_combo_popup_button_press): grab the focus.
5612         (gtk_combo_activate): grab the focus.
5613
5614 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
5615
5616         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
5617         function to reset the RC styles for a heirarchy
5618
5619         Clear the window background if necessary in
5620         gtk_window_style_set.
5621
5622         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
5623         rereads all previously read RC files.
5624
5625         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
5626         (Should it just be called gdk_get_toplevels?)
5627
5628         * gtk/testgtk.c: New test to reload RC files.
5629
5630 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
5631
5632         * gtk/gtkclist.h:
5633         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
5634         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
5635         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
5636         the GTK_ prefix (this solution involved less changes in the
5637         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
5638         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
5639         from lars & stefan to support the derivation of GtkCtree.
5640
5641         * gtkctree.h:
5642         * gtkctree.c:
5643         initial import of a tree widget derived from gtkclist, courtesy
5644         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
5645         it just damn rocks!
5646
5647 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
5648
5649         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
5650         for us.
5651         (gtk_list_insert_items):
5652         (gtk_list_remove_items_internal): 
5653         (gtk_list_clear_items): 
5654         remove a possible pointer grab, we might get thrown into a loop
5655         otherwise.
5656         (gtk_list_button_press): grab the pointer *before* selecting the child,
5657         because selection of items may cause the lists children to change,
5658         resulting in a grab release.
5659         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
5660         children.
5661         (gtk_list_shutdown): remove all children from the list.
5662         (gtk_real_list_unselect_child): 
5663         (gtk_real_list_select_child): *always* put our internal structures into
5664         sane state *before* signal emisions (i.e. list->selection updates prior
5665         to gtk_list_item_[de]select() calls).
5666
5667         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
5668         focused child walks out of the window.
5669         removed CAN_FOCUS for the combo arrow's button since it doesn't react
5670         to keyboard events ("clicked" connection is missing).
5671
5672 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
5673
5674         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
5675         getting colormap for FOREIGN windows to go along with
5676         Raster's fix for visuals.
5677
5678 Merges from gtk-1-0
5679 ===================
5680         
5681 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
5682
5683         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
5684         Check to catch the case when the viewport fits in either
5685         direction or both, instead of flip-flopping infinitely.
5686
5687         Only show/hide the scrollbars once at the end.
5688
5689 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
5690
5691         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
5692         Include the scrollbars in the foreach call.
5693         (gtk-fortier-980405-0.patch; 
5694          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
5695
5696         The notebook widget
5697         really should also include its tabs, but that might cause
5698         problems for programs if they
5699
5700 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
5701
5702         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
5703         resize if the size actually changed. 
5704         (gtk-johannes-980414-0.patch ;  
5705          johannes@nada.kth.se (Johannes Keukelaar) )
5706
5707 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
5708
5709         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
5710           ltmain.sh ltconfig config.sub config.guess:
5711
5712         Reverted back to libtool-1.2 (plus minor patches) so as not to
5713         force the issue for everyone else.
5714
5715 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
5716
5717         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
5718         Updated to libtool 1.2a.
5719
5720         * gtk/gtkclist.c: Draw the in-between lines with style->base
5721         instead of style->white.
5722         
5723 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
5724
5725         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
5726         Cache the colormap and children of a window locally
5727         instead of fetching them from the server when needed.
5728         Huge performance difference for creating/destroying
5729         windows.
5730
5731         * gtk/gtkstyle.c: Find the depth from the cached
5732         visual, instead of asking the server.
5733
5734         * gtk.m4: Distribute the new version which tries to
5735         figure out what went wrong and give helpful error
5736         messages.
5737
5738         * ltmain.sh ltconfig config.sub config.sh: 
5739         Updated to libtool 1.2a
5740
5741         * gtk/gtktext.c: Fixed a bug where the drawn level
5742         was being messed up when the text was scrolled
5743         during a deletion.
5744         
5745 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
5746
5747         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
5748         the filesystem under you (fix from Josh)
5749
5750 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
5751
5752         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
5753         if the viewport already exists before iterating over it, maybe we
5754         haven't been constructed yet.
5755
5756 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
5757
5758         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
5759         the GtkBin widget already has a child.
5760
5761         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
5762         check that child->parent == NULL;
5763
5764 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
5765
5766         * gtk/gtkselection.c (gtk_selection_clear): Only return
5767         FALSE when the clear event is been rejected, not when
5768         widget has already lost the selection. (Which should
5769         only happen when we are setting the selection to another
5770         widget ourself.)
5771         
5772 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
5773
5774         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
5775
5776         Removed the "check visibility after gtk_widget_unparent" bug 
5777         in hopefully the last three places.
5778
5779 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
5780
5781         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
5782         rc-files.
5783
5784 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
5785
5786         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
5787         for CAN_FOCUS widgets.
5788
5789         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
5790         adjustments for the table.
5791         (create_list): feature automatic adjustment of the scrolled window to
5792         always contain the focused child.
5793         (create_main_window): keep the focussed button always inside of the
5794         scrolled windoww.
5795
5796         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
5797         adjustments, to contain the allocation of the currently focused child.
5798         (gtk_container_set_focus_hadjustment): new functin to set the
5799         horizontal focus adjustment.
5800         (gtk_container_set_focus_vadjustment): new functin to set the vertical
5801         focus adjustment.
5802
5803         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
5804         clamp the currents adjustment page into a specific range.
5805
5806         * random GtkType fixups for gtk_*_get_type() functions.
5807
5808 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
5809
5810         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
5811         Account for the fact that gtk_tree_item_remove_subtree
5812         will be called recursively. 
5813
5814         Handle removing a collapsed subtree.
5815
5816         (From Andy Dustman <adustman@comstar.net>)
5817         
5818         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
5819         root tree when removing items from a non-previously
5820         mapped tree.
5821
5822         * gtk/testgtk.c: Added a remove_subtree button.
5823         
5824 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
5825
5826         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
5827         before object removing data. This change fixes a bug where 
5828         removing the last weak references would cause it to be 
5829         triggered.
5830
5831 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
5832
5833         * gdk/Makefile.am: Removed mostly useless dependency that
5834         was causing problems for SGI's make, when used with
5835         the 'make dist' form of GTK+. (Dependency caused dependencies
5836         to be redone when BUILT_SOURCES changed)
5837
5838 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
5839
5840         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
5841         like a menu.
5842         
5843         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
5844         to gtkitem.c so dragging can also work in lists.
5845
5846         * gtk/gtklist.[ch]: Track child enter events and use
5847         those to allow dragging the selection. 
5848
5849 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
5850
5851         * gtk/gtktext.c: Try enabling background pixmaps for editable text
5852         widgets.  There is a bit of flashing, but not too bad. If you
5853         don't want the flashing, you can always not set a background
5854         pixmap.
5855
5856 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
5857
5858         * gtk/gtktext.c: Fixed a bug where the drawn level
5859         was being messed up when the text was scrolled
5860         during a deletion.
5861         
5862 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5863
5864         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
5865         bug:  There is no need to set the ExposureMask in the XGrabPointer
5866         (this caused DnD programs to crash).
5867
5868 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
5869
5870         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
5871         field to be of type guint.
5872         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
5873         ref_count>0;
5874         (gtk_accelerator_table_install): keep a per object list of accelerator
5875         tables that refer to this object.
5876         (gtk_accelerator_table_remove): remove the accelerator table from the
5877         per object list.
5878         (gtk_accelerator_table_clean): warn if there are any object references
5879         left in an accelerator table upon destruction.
5880         (gtk_accelerator_tables_delete): new function to delete object
5881         references from the accelerator tables associated with this object.
5882
5883         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
5884         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
5885         of an accelerator can be prevented by gtk_signal_emit_stop().
5886         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
5887         so there are no stale pointers in accelerator tables left.
5888
5889 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5890
5891         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
5892         visible before we unparent it.
5893
5894 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
5895
5896         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
5897         running_timeouts list with the tmp_list link itself, not with a new
5898         GList structure pointing to our link. that would fill up memory and
5899         causes the GList.data fields of the running_timeouts list to point to
5900         GList structures and not GtkTimeoutFunction structures which is a
5901         *really* bad thing.
5902         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
5903         the above entry ;).
5904
5905 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
5906
5907         * gtk/gtkradiomenuitem.h: 
5908         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
5909         ala gtk_radio_button_set_group.
5910         (gtk_radio_menu_item_init): assure that we always have at least a group
5911         that points to self.
5912
5913         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
5914         added g_return_if_fail() statements.
5915         (gtk_radio_button_init): assure that we always have at least a group
5916         that points to self.
5917
5918 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
5919
5920         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
5921
5922 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
5923
5924         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
5925         (Damon Chaplin), which i got wrong when applying Damon's patch the last
5926         time.
5927
5928 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
5929
5930         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
5931         that when we are running with a non-installed colormap,
5932         in 8-bit pseudo-color, we actually are using the system
5933         visual. (Fixes *Bad Match* errors on Digital Unix machines
5934         with multiple 8-bit pseudo-color visuals)
5935
5936 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5937
5938         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
5939         by whoever thought that randomly changing ints to unsigned int
5940         without reviewing the code was a good idea.  It is, btw not
5941         mentioned in the ChangeLog as usual, but I know it was not Elliot
5942         the culprit this time. 
5943
5944 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
5945
5946         * Released GTK+ 1.0.0