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