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