]> Pileus Git - ~andy/gtk/blob - ChangeLog
Don't define ENABLE_NLS unless we have a working NLS. (This should keep
[~andy/gtk] / ChangeLog
1 Mon Jan 25 15:47:46 1999  Owen Taylor  <otaylor@redhat.com>
2
3         * acinclude.m4 (ac_result): Don't define ENABLE_NLS
4          unless we have a working NLS. (This should keep
5          libintl.h from being included when it doesn't
6          exist).
7
8 Mon Jan 25 11:05:10 1999  George Lebl  <jirka@5z.com>
9
10         * gtk/gtkbutton.c: set RECEIVES_DEFAULT on init, and a
11           button press on the widget doesn't grab default anymore
12
13         * gtk/gtkcheckbutton.c,gtk/gtkoptionmenu.c,gtk/gtkradiobutton.c:
14           unset RECEIVES_DEFAULT on init
15
16         * gtk/gtkwidget.[ch]: add a RECEIVES_DEFAULT flag to widget
17           flags
18
19         * gtk/gtkwindow.c,gtk/gtkplug.c: on pressing <enter>, activate
20           the focused widget if it is a RECEIVES_DEFAULT widget,
21           no matter what the current default_widget is
22
23         * gtk/gtkwindow.c: on focus change, migrate the HAS_DEFAULT
24           flag to CAN_DEFAULT widgets if they RECEIVE_DEFAULT as well
25           or migrate it back to the default_widget if the focus widget
26           doesn't "RECEIVE_DEFAULT"
27
28 Sun Jan 24 18:09:24 1999  Owen Taylor  <otaylor@redhat.com>
29
30         * gdk/gdkdnd.c (motif_read_initiator_info): Byteswap
31         the MotifInitiatorInfo structure _before_ using it.
32
33 Sun Jan 24 12:17:39 1999  Owen Taylor  <otaylor@redhat.com>
34
35         * gdk/gdkcolor.c (gdk_colormap_real_destroy): Fix 
36          reversed assertion. 
37          (Pointed out by Austin Donnelly <austin@greenend.org.uk>)
38
39         * gtk/gtkruler.c (gtk_ruler_expose): Remove unecessary
40          and harmful call to gtk_paint_box(). We are going
41          to paint onto the backing store later anyways.
42
43 Sat Jan 23 11:15:39 1999  Owen Taylor  <otaylor@gtk.org>
44
45         * gdk/gdkdnd.c (gdk_window_register_dnd): X expects
46          longs, not uint32 for XChangeProperty, when 
47          format == 32.
48
49         * gdk/gdkdnd.c (motif_read_initiator_info): Byte-swap
50          the MotifInitiatorInfo structure if necessary.
51
52         * gdk/gdkdnd.c: When extracting and constructing
53          Motif DND messages, don't use data.s[], data.l[]
54          since on 64bit architectures, these won't necessarily
55          be in the same place with data.b[]. 
56
57         * gtk/testdnd.c (target_drag_drop): Return TRUE for
58          drag_drop within the drop zone.
59  
60         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Only send
61          a XmTRANSFER_FAILURE if no drop site is found, not
62          on every drop!
63
64 Fri Jan 22 19:22:39 1999  Owen Taylor  <otaylor@redhat.com>
65
66         * gtk/gtkeditable.c: Add flags field to 
67          GtkTargetEntry table.
68         
69         * gdk/gdkwindow.c (gdk_window_is_viewable): Treat foreign
70          windows as always viewable, since we can't track their
71          map-state reliably without speed problems. (Fixes
72          problem where updating didn't occur properly within
73          GtkPlug)
74
75 Sat Jan 23 13:41:00 1999  Jeff Garzik  <jgarzik@pobox.com>
76
77         * gtk/gtkctree.c
78         (tree_delete): Don't search selection list twice.
79         (real_select_row): Remove extra ';', add default for clarity.
80
81 Sat Jan 23 01:44:43 1999  Lars Hamann  <lars@gtk.org>
82
83         * gtk/gtkspinbutton.c (gtk_spin_button_get_value_as_int)
84         (gtk_spin_button_get_value_as_float): removed extra
85         gtk_spin_button_update calls again.
86         * gtk/gtkclist.c (gtk_clist_unmap): unblock dnd signal handler if
87         neccessary
88         * gtk/gtknotebook.c (gtk_notebook_button_press): grab_focus before
89         switch_page
90         (gtk_notebook_set_shape): don't use cur_page if it's NULL.
91
92 Fri Jan 22 12:20:54 1999  Jeff Garzik  <jgarzik@pobox.com>
93
94         * gtk/gtktooltips.c:
95         Fix recent change to match existing coding style.
96
97 Fri Jan 22 07:33:44 1999  Tim Janik  <timj@gtk.org>
98
99         * gtk/gtkvscale.c (gtk_vscale_pos_trough): take value_spacing into
100         account for GTK_POS_LEFT.
101
102         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): use
103         gtk_toggle_button_set_active () to set the new state.
104         (gtk_radio_button_new): only _set_group if group != NULL.
105         (gtk_radio_button_clicked): reference the widget.
106         (gtk_radio_button_init): make radio buttons active upon
107         startup.
108
109 Thu Jan 21 17:13:12 1999  Jeff Garzik  <jgarzik@pobox.com>
110
111         * gtk/gtkselection.c:
112         (gtk_selection_property_notify): Check args for NULL.
113         (gtk_selection_default_handler):
114         Replace manual list count with call to g_list_length.
115         Remove signedness of temp var 'count' to agree with usage.
116         Slight spacing adjustment for readability.
117
118         * gtk/gtkbox.c, gtk/gtklayout.c, gtk/gtkselection.c:
119         Init a few ptrs to NULL, to quiet warnings.
120
121 Thu Jan 21 16:03:02 1999  Owen Taylor  <otaylor@redhat.com>
122
123         * gtk/gtkbutton.c (gtk_button_expose): Code cleanup.
124
125         * gtk/gtktreeitem.c: Add a paint routine, fix up bugs
126         in drawing where if the expose area was contained
127         completely in the right side of the tree the background
128         wasn't redraw, etc.
129
130         * gtk/gtkwidget.c (gtk_widget_clip_rect): Fix a bug
131         in clipping draw regions while propagating them
132         upwards.
133
134 Thu Jan 21 12:20:51 1999  Owen Taylor  <otaylor@redhat.com>
135
136         * gtk/gtkcolorsel.c (gtk_color_selection_dialog_new): 
137         Pushing and popping the visual/cmap in the init() 
138         function does no good, because the window itself needs
139         to be create with that visual/cmap.
140
141         So do it in the new() function instead. 
142
143         This will require people doing gtk_widget_new() to do 
144         the push/pop themselves, but I don't see any way around
145         it other than digging in and tweaking the window
146         widget's colormap and visual ourselves, which
147         is highly non-kosher, but would be safe...
148
149 Thu Jan 21 16:04:35 1999  Timur Bakeyev <mc@bat.ru>
150
151         * gtk/gtkrc.c (gtk_rc_init): It was reported by Owen Taylor 
152         <otaylor@redhat.com>, that LC_ALL produce unparsable garbage
153         on some glibc'ed systems and HP/UX. So, falling to LC_CTYPE.
154
155 Thu Jan 21 02:11:44 1999  Owen Taylor  <otaylor@redhat.com>
156
157         * Set and read the XdndActionList property defined
158         in the Xdnd spec. We do this always, not just for
159         XdndActionAsk like the spec says, but if we don't
160         find it, we fall back to actions = suggested_action,
161         which is compatible with the language of the spec.
162
163 Thu Jan 21 01:15:28 1999  Jeff Garzik  <jgarzik@pobox.com>
164
165         * gdk/gdkdnd.c (gdk_drag_context_unref):
166         Move not-null assertion before pointer de-ref.
167
168         * gdk/gdkevents.c (gdk_event_queue_find_first):
169         Fix infinite loop bug.  Someone should look at this further to
170         make sure the events_pending tests are correct.
171
172 Thu Jan 21 00:44:47 1999  Owen Taylor  <otaylor@redhat.com>
173
174         * gtk/gtkdnd.c (gtk_drag_dest_drop): Default handling
175         for drops should be keyed on GTK_DRAG_DEFAULT_DROP
176         not GTK_DRAG_DEFAULT_MOTION.
177
178 Wed Jan 20 21:52:51 1999  Jeff Garzik  <jgarzik@pobox.com>
179
180         * gtk/gtkclist.c (real_remove_row):
181         Don't search entire row list twice for element being removed.
182
183         * gtk/gtkmenushell.c (gtk_menu_shell_insert):
184         Replaced hand-coded implementation of g_list_insert with
185         call to g_list_insert.
186
187         * gtk/gtktooltips.c
188           (gtk_tooltips_destroy_data, gtk_tooltips_layout_text):
189         tooltipsdata->row test not-null test now properly encompasses
190         both g_list_* calls.
191
192 Thu Jan 21 02:47:36 1999  Lars Hamann  <lars@gtk.org>
193
194         * gtk/gtknotebook.c (gtk_notebook_focus): few cleanups.
195         (gtk_notebook_key_press): call select page function for
196         GDK_DOWN key in case of tab_pos == TOP. Changed other
197         positions accordingly.
198
199 Wed Jan 20 19:57:14 1999  Owen Taylor  <otaylor@redhat.com>
200
201         * gtk/gtkdnd.c (gtk_drag_begin): Start off with the
202         cursor for "no drop" since if we'll get a status
203         if we are over a drag window, but none if we aren't
204         over one. 
205
206 1999-01-20  Jeff Garzik  <jgarzik@pobox.com>
207
208         * gtk/gtkcombo.c (gtk_combo_entry_key_press):
209         Free 'nprefix', closing a memory leak.
210         Spaced out the code a bit to make it more readable.
211
212         * gtk/gtkhbox.[ch] (gtk_hbox_new),
213           gtk/gtkvbox.[ch] (gtk_vbox_new):
214         Change 'homogenous' arg from gint to gboolean.
215
216         * gtk/gtktogglebutton.[ch]:
217         New function gtk_toggle_button_get_active().
218
219 1999-01-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
220
221         * gtk/gtkdnd.c (gtk_drag_get_event_action): Allow button 2 to act
222         as GDK_ACTION_ASK.  Also, allow MOD1 to specify GDK_ACTION_ASK
223         only if that action is enabled in the actions argument.
224
225 1999-01-20  Raja R Harinath  <harinath@cs.umn.edu>
226
227         * configure.in (gtklocaledir): New variable.  Define to
228         $prefix/$DATADIRNAME/locale.  This will point to the directory
229         where po/Makefile actually installs the message translation
230         tables. 
231         * gtk/Makefile.am (INCLUDES): Define GTK_LOCALEDIR to
232         $(gtklocaledir) rather than $prefix/share/locale.
233
234 Wed Jan 20 21:07:45 1999  Timur Bakeyev <mc@bat.ru>
235
236         * gtk/gtkrc.c (gtk_rc_init): There are some systems, that lacks of
237         LC_MESSAGES in locale.h. As a last resort for such systems, set locale
238         according to LC_ALL.
239
240 Wed Jan 20 13:06:51 1999  Owen Taylor  <otaylor@redhat.com>
241
242         * gtk/gtktext.[ch] (clear_[focus_]area): Instead of drawing
243         a background pixmap in with gdk_draw_pixmap(), set
244         it as a tile pixmap for a GC. This should speed
245         up things considerably and also will hide a bug
246         where text->first_onscreen_ver_pixel is being
247         corrupted, causing the bg pixmap drawing code to generate
248         graphics exposes.
249
250 Tue Jan 19 22:15:10 1999  Lars Hamann  <lars@gtk.org>
251
252         * gtk/gtklist.c
253         (gtk_list_button_press):  only call grab_add if pointer_grab succeeds.
254         (gtk_list_unmap): remove pointer/widget grabs if needed.
255         (gtk_list_signal_focus_lost): removed.
256         (gtk_list_focus) (gtk_list_set_focus_child): set last_focus_child.
257         (gtk_list_remove_items_internal) (gtk_list_clear_items): unset
258         undo_focus_child if neccessary. In case of SELECTION_BROWSE/EXTENDED
259         select a new item if selection is empty.
260
261 Tue Jan 19 00:21:15 1999  Tim Janik  <timj@gtk.org>
262
263         * gtk/gtkcompat.h: add compatibility define for
264         gtk_ctree_set_reorderable.
265
266 Tue Jan 19 00:02:10 1999  Lars Hamann  <lars@gtk.org>
267
268         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
269         add a sanity check [from Todd Dukes <todddukes@netscape.net>]
270         
271 Mon Jan 18 22:54:11 1999  Lars Hamann  <lars@gtk.org>
272
273         * gtk/gtkclist.c (gtk_clist_button_press): only call grab_add
274         if pointer_grab succeeds.
275         (gtk_clist_unmap): remove pointer/widget grabs if needed.
276
277 Mon Jan 18 15:46:14 1999  Owen Taylor  <otaylor@redhat.com>
278
279         * gtk/gtklabel.c (gtk_label_init): Initialize
280         label->label_wc. (We allocate labels from
281         a memchunk)
282
283 Mon Jan 18 18:53:08 1999  Tim Janik  <timj@gtk.org>
284
285         * gtk/gtkscale.c (gtk_scale_set_digits): CLAMP digits into a
286         meaningfull range (we need to stay below a certain limit anyways
287         to avoid string buffer overflows).
288
289         * gtk/gtkvscale.c (gtk_vscale_pos_background): fixed up background
290         area calculations for GTK_POS_RIGHT and GTK_POS_BOTTOM.
291         * gtk/gtkhscale.c (gtk_hscale_pos_background): likewise.
292         (gtk_hscale_draw_value): safety CLAMP the value's x position for
293         GTK_POS_TOP and GTK_POS_BOTTOM, so we don't paint strings outside of
294         our allocation.
295
296         * gtk/gtkscale.c: implemented GtkScale::digits, GtkScale::draw_value
297         and GtkScale::value_pos arguments.
298
299 Mon Jan 18 14:26:17 1999  Owen Taylor  <otaylor@redhat.com>
300
301         * docs/Changes-1.2.txt: Some editing, a little more
302         detail.
303
304 Mon Jan 18 13:25:14 1999  Owen Taylor  <otaylor@redhat.com>
305
306         * gtk/gtkmenu.[ch]: Added gtk_menu_set_title() to
307         set the title of a menu in the torn-off state.
308
309         * gtk/gtkthemes.c (gtk_theme_engine_get): When loading
310         of theme engine fails, just warn and do without -
311         don't error out.
312
313         * gtk/gtkmain.c (gtk_check_version): s/to/too/.
314
315 Mon Jan 18 01:21:03 1999  Lars Hamann  <lars@gtk.org>
316
317         * gtk/gtkctree.c (draw_row): fixed auto resize bug.
318
319 Sun Jan 17 17:35:28 CST 1999 Shawn T. Amundson <amundson@gtk.org>
320
321         * Released GTK+ 1.1.13
322
323         * README:
324           INSTALL:
325           docs/gtk-config.1: ver=1.1.13
326
327 Mon Jan 18 00:22:54 1999  Lars Hamann  <lars@gtk.org>
328
329         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release):
330         block drag source signal handler during column resizes.
331         (gtk_clist_set_column_visibility): resize clist if needed.
332         (gtk_clist_map): raise resize windows to make resize
333         cursor visible again.
334
335 Sun Jan 17 22:47:15 1999  Tim Janik  <timj@gtk.org>
336
337         * gtk/gtkwidget.[hc]: 
338         * gtk/gtkspinbutton.[hc]: 
339         * gtk/gtkscrolledwindow.[hc]:
340         * gtk/gtkprogressbar.[hc]:
341         * gtk/gtkpreview.[hc]: 
342         * gtk/gtkobject.[hc]:
343         * gtk/gtkentry.[hc]: 
344         * gtk/gtkctree.[hc]:
345         * gtk/gtkcontainer.[hc]:
346         * gtk/gtkclist.[hc]:
347         removed deprecated functions: gtk_clist_set_border,
348         gtk_container_block_resize, gtk_container_unblock_resize,
349         gtk_container_need_resize, gtk_ctree_set_reorderable,
350         gtk_ctree_show_stub, gtk_ctree_set_use_drag_icons,
351         gtk_entry_adjust_scroll, gtk_object_class_add_user_signal,
352         gtk_preview_put_row, gtk_progress_bar_construct,
353         gtk_scrolled_window_construct, gtk_spin_button_construct,
354         gtk_widget_freeze_accelerators, gtk_widget_thaw_accelerators.
355
356         * gtk/gtkcheckmenuitem.c: removed binary variant of
357         gtk_check_menu_item_set_state, this is still defined in gtkcompat.h
358         though.
359
360         * docs/Changes-1.2.txt:
361         removed section about gtk_idle_remove_by_data vs.
362         gtk_timeout_remove_by_data, we actually don't even provide a
363         gtk_timeout_remove_by_data() function.
364         added a table with removed functions and their replacements.
365         
366         * NEWS: updates for 1.1.13.
367
368 Sun Jan 17 17:56:33 1999  Owen Taylor  <otaylor@redhat.com>
369
370         Patch from Felix Bellaby <felix@pooh.u-net.com>
371
372         * gdk/gdk.c: Use XmbSetWMProperties to set
373         the class/command on the loader window so that the
374         client machine is also set in the same place.
375         (For X11R5 sesssion management compatibility)
376
377         * gdk/gdk.c: (gdk_set_sm_client_id) Implementation
378         of function to set the session manager client ID.
379
380         * gdk/gdkwindow.c (gdk_window_new): Set 
381         WM_CLIENT_LEADER propertiy on all windows pointing
382         back to GDK's leader window.
383
384 Sun Jan 17 12:01:57 1999  Owen Taylor  <otaylor@gtk.org>
385
386         * gtk/gtkrc.c (gtk_rc_style_init): Allow a bg_pixmap
387         of "<none>", as there was no way to set the background
388         on all widget but some widgets. This is important
389         because Text widgets with background images are
390         slow and possibly ugly.
391
392 1999-01-17  Nat Friedman  <nat@nat.org>
393
394         * gtk/gtkscrolledwindow.c (DEFAULT_SCROLLBAR_SPACING): New macro.
395         Changed the spacing from 5 to 3.
396
397         * gtk/gtkmenubar.c (BORDER_SPACING): Changed the extra spacing on
398         the menubar from 2 to 0.
399
400 Sun Jan 17 11:51:17 1999  Owen Taylor  <otaylor@gtk.org>
401
402         * gtk/gtktext.c (gtk_text_move_cursor): Fix typo
403         [ gtk-mailund-990116-0: Thomas Mailund Jensen <mailund@daimi.au.dk> ]
404
405 Sun Jan 17 11:15:05 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
406
407         * gtk+.spec: Update to version 1.1.13, change packager address.
408
409 Sun Jan 17 14:52:29 1999  Tim Janik  <timj@gtk.org>
410
411         * gtk/gtkcompat.h:
412         * gtk/gtkcheckmenuitem.[hc]:
413         deprecated gtk_check_menu_item_set_state, people should use
414         gtk_check_menu_item_set_active instead.
415         
416         * gtk/testgtk.c:
417          s/gtk_check_menu_item_set_state/gtk_check_menu_item_set_active/.
418
419 Sun Jan 17 05:19:14 1999  Tim Janik  <timj@gtk.org>
420
421         * configure.in: incremented version number to 1.1.13, bin age 0,
422         interface age 0.
423
424         * gtk/gtkmain.c (gtk_idle_remove_by_data): use g_idle_remove_by_data to
425         remove idles, so `data' cannot conflict with other sources.
426
427         * gtk/gtkcompat.h: define gtk_style_apply_default_pixmap here.
428
429         * gtk/gtkstyle.[hc]: removed gtk_style_apply_default_pixmap.
430         (struct _GtkStyle): reordered GtkStyleClass*klass; member.
431
432 Sat Jan 16 19:42:48 1999  George Lebl  <jirka@5z.com>
433
434         * gtk/gtktooltips.c: for NO_WINDOW widgets, add their allocation.y
435           to the position of the tooltip. This fixes tooltip positioning
436           problems with some widgets such as a checkbox.
437
438 Sat Jan 16 14:01:53 1999  Stuart Parmenter <pavlov@gtk.org>
439
440         * gtk/gtklayout.c (gtk_layout_put): check for child widget being NULL
441
442 Sat Jan 16 05:02:22 1999  Lars Hamann  <lars@gtk.org>
443
444         * gtk/gtkclist.c (gtk_clist_button_press): fixed double click bug.
445
446 Fri Jan 15 19:16:42 1999  Tim Janik  <timj@gtk.org>
447
448         * gtk/Makefile.am: define GTK_DISABLE_COMPAT_H for compilation of gtk
449         code.
450
451         * gtk/gtkrc.c (gtk_rc_style_unref): added an assertment.
452
453         * gtk/gtkcompat.h:
454         * gtk/gtklabel.h: 
455         don't provide compatibility defines if GTK_DISABLE_COMPAT_H is defined.
456
457         * gtk/gtkstyle.h:
458         * gtk/gtkstyle.c: coding style, indentation and alignment fixups.
459         (gtk_draw_string): 
460         (gtk_paint_string): 
461         (gtk_draw_polygon):
462         (gtk_style_set_background): fixed assertments.
463         (gtk_default_draw_ramp): 
464         (gtk_default_draw_cross): 
465         (gtk_default_draw_oval): issue warnings since these functions aren't
466         yet implemented.
467
468         * gdk/gdkwindow.c:
469         (gdk_window_hide): only unmap window if already mapped.
470         (gdk_window_show): only map window if !mapped.
471         (gdk_window_internal_destroy): destroyed windows can't be mapped.
472
473         * gtk/gtkwidget.c (gtk_widget_event): don't ignore expose events just
474         because a resize is queued on a widget, we rely on the expose events
475         now.
476
477 Fri Jan 15 10:22:21 1999  Owen Taylor  <otaylor@redhat.com>
478
479         * gtk/gtkwidget.c (gtk_widget_class_init): 
480         nparams for selection_get should be 3, not 2.
481         [ From Damon Chaplin <damon@karuna.freeserve.co.uk> ]
482
483         * gtk/gtkeventbox.c (gtk_event_box_paint): Add a paint
484         routine so queued redraws work inside event boxes.
485
486 Thu Jan 14 17:47:37 1999  Owen Taylor  <otaylor@redhat.com>
487
488         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Only
489          redraw character under cursor when not displaying 
490         highlighted selection.
491
492         * gdk/gdkrgb.c (gdk_rgb_init): Add in a cast to
493         gpointer to make IRIX cc happy.
494
495 Thu Jan 14 12:29:50 1999  Owen Taylor  <otaylor@redhat.com>
496
497         * gtk/gtkcheckbutton.c (gtk_check_button_draw): Restructure
498         the drawing code to remove a bit of duplication - 
499         and to remove a call to gtk_widget_draw_focus()
500         that queues a redraw when an expose occurs.
501
502         * gtk/gtklabel.c (gtk_label_expose): Fix up handling
503           of ypadding.
504
505         * gtk/gtknotebook.c (gtk_notebook_draw): If we redraw
506           the whole widget, also redraw the corresponding
507           areas of the child widget. (have_visible_child 
508           still has some problems)
509
510         * gdk/gdkpixmap.c: Change some g_new's to g_new0 so
511           that fields unused for pixmaps get initialzized
512           sanely.
513
514         * gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: Add new calls
515           gdk_window_is_visible() and gdk_window_is_viewable()
516           and a mapped flag to the window private structure.
517         
518         * gtk/gtkbin.c gtk/gtkclist.c gtk/gtkfixed.c gtk/gtkitem.c
519           gtk/gtklayout.c gtk/gtklist.c gtk/gtkmenushell.c
520           gtk/gtknotebook.c gtk/gtkpaned.c gtk/gtktree.c
521           gtk/gtktreeitem.c gtk/gtkviewport.c: 
522         Map windows after mapping children.
523         
524         * gtk/gtkwidget.c (gtk_widget_clip_rect): Handle 
525         rectangles completely clipped away correctly.
526
527         * gtk/gtkwidget.c (gtk_widget_idle_draw): Don't
528         call gtk_widget_draw if width or height is 0.
529
530         * gtk/gtkwidget.c (gtk_widget_idle_draw): Don't
531         rely on GTK_REDRAW_PENDING after we've cleared
532         it. (This was causing draw-combining to not
533         happen at all).
534
535         * gtk/gtkbin.c gtk/gtkscale.c: Remove uneccessary calls
536         to gtk_widget_queue_draw() when mapping.
537
538 Thu Jan 14 11:29:53 1999  Owen Taylor  <otaylor@redhat.com>
539
540         * gtk/gtkdnd.c (gtk_drag_get_event_action): Make
541         MOD1-drag also do action ask.
542
543         * gtk/gtkdnd.c (gtk_drag_button_release_cb): Send the
544         button-release event we simulate to get grabs released,
545         with a window of GDK_ROOT_PARENT instead of the actual 
546         widget. This is a bad hack in some sense, but seems
547         to work nicely. (It's sort of like what you would
548         if you grabbed on button press, then the user 
549         released outside of the widget.)
550
551 Thu Jan 14 20:29:16 1999  Owen Taylor  <otaylor@redhat.com>
552
553         * gtk/gtkstyle.[ch] (gtk_style_apply_default_background): 
554         Change copy_area => !set_bg. Use tile instead of 
555         gdk_window_copy_area when drawing without !set_bg.
556         
557         This does mess up timj's neat check-button example,
558         but is consistent with how we interpret background
559         pixmaps everywhere else in the default scheme.
560
561         Restructure code for clarity.
562
563 Thu Jan 14 19:19:51 1999  Owen Taylor  <otaylor@redhat.com>
564
565         * gdk/gdkevents.c: Do all event processing in
566         dispatch() instead of prepare() and check().
567
568 Wed Jan 13 22:34:29 1999  Owen Taylor  <otaylor@redhat.com>
569
570         * gtk/gtkbutton.c gtk/gtkclist.c gtk/gtkhandlebox.c
571         gtk/gtkframe.c gtk/gtk[hv]box.c gtk[hv]paned.c gtk/gtklist.c
572         gtkmenu.c gtkmenuitem.c gtkmenubar.c gtknotebook.c
573         gtk/gtkscrolledwindow.c gtk/gtktable.c gtk/gtktree.c
574         gtk/gtktreeeitem.c gtk/gtkviewport.c
575         
576         Fix up comparisons of signed and unsigned ints to avoid 
577         assigning negative widths/heigths.
578
579 Wed Jan 13 21:18:41 1999  Owen Taylor  <otaylor@redhat.com>
580
581         * acinclude.m4 (ac_result): Unset CATOBJEXT so
582         that the macros and Makefiles correctly handle
583         disabling NLS when no gettext is found.
584
585 Wed Jan 13 20:14:32 1999  Tim Janik  <timj@gtk.org>
586
587         * gtk/gtkarg.c (gtk_arg_copy): in comparisions with GTK_TYPE_STRING, use
588         the fundamental type to catch GTK_TYPE_IDENTIFIER as well.
589
590         * gtk/gtkmenushell.c:
591         (gtk_real_menu_shell_activate_current):
592         (gtk_menu_shell_button_release): asure that we only activate sensitive
593         menu items, reported by Dave Cole <dave@dccs.com.au>.
594
595 Wed Jan 13 13:28:00 1999  Tim Janik  <timj@gtk.org>
596
597         * gtk/gtkwidget.c: eliminate queue_clears or queue_draws where we know
598         that expose events will be generated.
599         (gtk_widget_map): only queue_draw for NO_WINDOW widgets.
600         (gtk_widget_unmap): only queue_clear_child for NO_WINDOW widgets.
601         (gtk_widget_size_allocate): we don't need a queue_clear on changing
602         allocations of !NO_WINDOW widgets, we do still need a full redraw for
603         them though.
604
605         * gtk/gtklabel.c (gtk_label_set_text): check whether the new string
606         actually differs from the original.
607
608 Tue Jan 12 22:50:44 PST 1999 Manish Singh <yosh@gimp.org>
609
610         * acinclude.m4
611         * ltconfig
612         * ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)
613
614 Tue Jan 12 18:30:51 1999  Owen Taylor  <otaylor@redhat.com>
615
616         * gtk/testdnd.c (label_drag_data_received): Add 
617         a drag_data_received handler for the label.
618
619 Tue Jan 12 15:01:50 1999  Owen Taylor  <otaylor@redhat.com>
620
621         * gdk/gdkevents.c: Removed the putback_events queue, 
622         since it was causing problems with event ordering -
623         just keep a single queue. If we need it, we can
624         add priorities to events.
625
626         * gdk/gdkevents.c: Annotate events with flags - we allocate
627         a GdkEventPrivate structure in gdk_event_new() and use these
628         flags to mark an event being translated as "pending" -
629         I.e., not yet ready to be dequeued. So we can put
630         the event on the queue and get the order of the
631         events right. (This solves the double-click problems)
632         
633         * gdk/gdk.h gdk/gdkevents.h: Add gdk_event_peek() to get a copy
634         of the next event on the event queue.
635         
636         * gtk/gtkmain.c (gtk_main_do_event): Use gdk_event_peek()
637         to check the next event without causing event queue
638         reordering.
639
640 Tue Jan 12 15:41:20 1999  Owen Taylor  <otaylor@redhat.com>
641
642         * gtk/gtklabel.c (gtk_label_expose): Minor fix
643         to handling of misc->[x/y]pad
644
645 Tue Jan 12 14:31:43 1999  Owen Taylor  <otaylor@redhat.com>
646
647         * gtk/gtkstyle.[ch] (gtk_style_apply_default_pixmap): 
648         Add back as wrapper function to restore source/binary 
649         compatibility. grrrr.
650
651 Tue Jan 12 13:47:07 1999  Tim Janik  <timj@gtk.org>
652
653         * reworked the redrawing heuristics somewhat, this fixed a bunch of
654         existing redrawing problems and majorly reduces overall redrawing needs
655         during normal operation. basically we now only queue redraws when
656         neccessary and much rely on the draw_area coalescing code in gtkwidget.c
657         to optimize the queued portions. widgets will now upon reallocation only
658         get redrawed if their allocation has changed. upon hide/show only the
659         area allocated by the child will be queued for the parent, this has the
660         side effect that parents which change their appearance in dependance on
661         the numer of visible children have to keep track of their children's
662         visiblity and eventually fully redraw themselves. this is a minor
663         constrain with great benefits in terms of redraw reduction, and only got
664         triggered by the notebook widget.
665
666         * gtk/gtkwidget.c:
667         (gtk_widget_queue_clear): don't bother if width and height == 0.
668         (gtk_widget_queue_clear_child): new static function to queue a redraw of
669         the area obscured by a child on a parent.
670         (gtk_widget_queue_resize): queue_clear the widget if it is drawable.
671         (gtk_widget_show): queue resize on the widget before showing.
672         (gtk_widget_hide): queue resize on the widget after hiding.
673         (gtk_widget_map): queue_draw the widget after mapping.
674         (gtk_widget_unmap): queue_clear_child the widget.
675         (gtk_widget_size_allocate): queue_clear_child and queue_draw if the
676         widget's allocation changed.
677         (gtk_widget_unparent): queue_clear_child so the parent redraws obscured
678         portions.
679         (gtk_widget_real_show):
680         (gtk_widget_real_hide):
681         (gtk_widget_real_map):
682         (gtk_widget_real_unmap):
683         (gtk_widget_real_size_allocate): don't bother with redraw queueing,
684         descendants that override these functions don't do either and we handle
685         all redrawing/resizing related stuff before or after the signal emission
686         now.
687
688         * gtk/gtkcontainer.c:
689         (gtk_container_resize_children): don't bother about redrawing anymore
690         since gtk_widget_size_allocate handles that for us now.
691
692         * gtk/gtknotebook.h:
693         * gtk/gtknotebook.c:
694         added a flag have_visible_child to indicate whether we need to draw
695         non child related portions at all, e.g. shadows etc.
696         (gtk_notebook_draw): if have_visible_child changed, do a full paint
697         instead of updating a small area only.
698
699 Mon Jan 11 20:44:35 1999  Tim Janik  <timj@gtk.org>
700
701         * gtk/gtkstyle.c: changed gtk_style_apply_default_pixmap to
702         gtk_style_apply_default_background which takes an extra argument
703         copy_area to determine NO_WINDOW widget pixmap copying.
704         changed callers accordingly.
705
706         * gtk/gtktogglebutton.c:
707         (gtk_toggle_size_allocate): 
708         (gtk_toggle_button_expose): 
709         (gtk_toggle_button_paint): avoid messing with our parent's window if
710         toggle_button->draw_indicator == TRUE and we are a NO_WINDOW widget.
711
712         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): draw
713         the draw_indicator with GTK_STATE_ACTIVE if the toggle button is active.
714
715         * gtk/check-n.xpm:
716         * gtk/check-y.xpm:
717         * gtk/testgtkrc: set pixmaps for ACTIVE and NORMAL check button
718         bg_pixmaps.
719
720 Mon Jan 11 23:52:58 1999  Lars Hamann  <lars@gtk.org>
721
722         * gtk/gtklist.c (gtk_list_signal_drag_begin)
723         (gtk_list_drag_begin): end drag selections if necessary.
724
725         * gtk/gtkspinbutton.c/h (gtk_spin_button_update): made function
726         public. Manually force synchronization of spin button text and
727         adjustment value.
728
729 Mon Jan 11 15:23:32 1999  Tim Janik  <timj@gtk.org>
730
731         * gtk/gtktogglebutton.c: eliminated some queue_draws when invoking
732         gtk_widget_set_state, since that cares about redrawing already.
733         some code cleanups.
734
735         * gtk/gtktogglebutton.[hc]:
736         * gtk/gtkfontsel.c:
737         * gtkgamma.c:
738         s/gtk_toggle_button_set_state/gtk_toggle_button_set_active/ since
739         set_state is already taken by gtkwidget.h.
740
741         * gtk/gtkcompat.h: #define gtk_toggle_button_set_state
742         gtk_toggle_button_set_active.
743         
744         * gtk/gtkstyle.c: some indentation cleanups.
745
746 Mon Jan 11 15:12:33 1999  Tim Janik  <timj@gtk.org>
747
748         * gtk/gtktogglebutton.c (gtk_toggle_button_set_mode): take previous
749         visibility state into account when unrealizing.
750
751 Mon Jan 11 10:45:28 1999  Owen Taylor  <otaylor@redhat.com>
752
753         * gtk/gtkdnd.c: Only remove handlers for motion/button_release
754         at drop, remove "selection_get" handler later.
755
756 Mon Jan 11 13:31:49 1999  Tim Janik  <timj@gtk.org>
757
758         * gtk/gtktypeutils.[hc]: removed Paolo Molaro's type creation hooks
759         again, since they 1) don't care about infinite recursion (likely
760         to achive), 2) we are in feature freeze for 1.2. this definitely
761         deserves a sane implementation in 1.3 though (but without a hook
762         return value, without seq_id hackery and with recursion checks).
763
764 Mon Jan 11 13:18:37 1999  Tim Janik  <timj@gtk.org>
765
766         * gtk/gtkwindow.c:
767         (gtk_window_key_release_event): 
768         (gtk_window_key_press_event): only pass key events to the focus widget
769         if it is sensitive.
770
771         * gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): don't popup the
772         submenu if it isn't sensitive.
773         (gtk_menu_item_paint): state_type doesn't need to be reset to
774         GTK_STATE_INSENSITIVE if the widget is insensitive anyways.
775
776         * gtk/gtkcontainer.c (gtk_container_real_focus): 
777         * gtk/gtklist.c (gtk_list_focus): 
778         * gtk/gtkmenushell.c (gtk_menu_shell_move_selected): 
779         * gtk/gtknotebook.c (gtk_notebook_focus): 
780         s/GTK_WIDGET_SENSITIVE/GTK_WIDGET_IS_SENSITIVE/ since a widgets
781         sensitivity is determined through the parent as well,
782         GTK_WIDGET_SENSITIVE is only of interest inside gtkwidget.c, everywhere
783         else GTK_WIDGET_IS_SENSITIVE (widget) needs to be used to check for
784         sensitivity.
785
786         * gtk/gtkaccelgroup.c (gtk_accel_group_activate): don't activate
787         object if it is an insensitive widget.
788
789 Mon, 11 Jan 1999 08:09:08 +0100 Paolo Molaro <lupus@debian.org>
790
791         * gtk/gtktypeutils.[ch]: add gtk_type_{add,remove}_creation_hook().
792         You can have a notification when a type is created.
793
794 1999-01-11  Tim Janik  <timj@gtk.org>
795
796         * gtk/gtkmain.c (gtk_propagate_event): added an assertement.
797
798 Sun Jan 10 14:45:37 1999  Owen Taylor  <otaylor@gtk.org>
799
800         * gtk/gtktext.c (text_properties_equal): Fixed
801         cut and paste bug when comparing text property
802         bg colors.
803         [ Matt Aubury <Matt.Aubury@comlab.ox.ac.uk> ]
804
805 1999-01-10  Tim Janik  <timj@gtk.org>
806
807         * gtk/gtksignal.c (gtk_signal_lookup): if the lookup failed, try
808         to initialize the object class and reattempt the lookup, reported
809         by Paolo Molaro <lupus@lettere.unipd.it>.
810
811 Sat Jan  9 17:36:20 1999  Owen Taylor  <otaylor@redhat.com>
812
813         * configure.in (ALL_LINGUAS): Added cs to ALL_LINGUAS.
814
815 Sat Jan  9 17:27:49 1999  Owen Taylor  <otaylor@redhat.com>
816
817         * gtk/gtkfilesel.c (gtk_file_selection_populate):
818         Mark another string for internationalization.
819         [ Stanislav Brabec <utx@k332.feld.cvut.cz> ]
820
821 Sat Jan  9 14:02:08 1999  Owen Taylor  <otaylor@redhat.com>
822
823         * gtk/gtktooltips.c (gtk_tooltips_force_window): Set
824         name "gtk-tooltips" on tip window so that a style
825         can be set for tooltips.
826
827 Fri Jan  8 19:00:17 1999  Owen Taylor  <otaylor@redhat.com>
828
829         * gdk/gdkdnd.c (gdk_window_cache_filter): Fixed
830         some list-manipulation breakage.
831
832         * gdk/gdkdnd.c (gdk_window_cache_destroy): Free 
833         window cache structure.
834
835         * gtk/gtkdnd.c (gtk_drag_set_icon_pixmap): Set an
836         event mask on the drag window so clicking on it
837         doesn't pop up root menus, etc.
838
839         * gtk/gtkdnd.c (gtk_drag_button_release_cb): Remove
840         signal handlers at button release.
841
842 Fri Jan  8 00:42:00 1999  Lars Hamann  <lars@gtk.org>
843
844         * gtk/gtkspinbutton.c (gtk_spin_button_get_value_as_int)
845         (gtk_spin_button_get_value_as_float): call gtk_spin_button_update
846         before returning a value
847
848         * gtk/gtkclist.c (gtk_clist_motion): don't allow 'drag selections'
849         if clist is a drag source.
850         (gtk_clist_drag_begin): remove pointer grabs, end ongoing selections.
851
852         * gtk/gtkctree.c (remove_grab): copy of clist function.
853         (gtk_ctree_drag_begin): let clists drag_begin method set the
854         source info struct.
855
856 Thu Jan  7 19:10:21 1999  Owen Taylor  <otaylor@redhat.com>
857
858         * gtk/gtkviewport.c (gtk_viewport_style_set): Fixes
859         to drawing the background of the bin window 
860         so that clearing and redrawing of child
861         widgets work properly.
862
863         * gtk/gtkwidget.c (gtk_widget_idle_draw): Juggle around
864         data so that if somebody triggers more redraw queuing
865         from a expose_event handler, it doesn't confuse the
866         heck out of GTK+. (But is highly liable to cause 
867         an infinite loop...)
868
869 Thu Jan  7 12:31:41 1999  Owen Taylor  <otaylor@redhat.com>
870
871         * gtk/gtkselection.c (gtk_target_list_unref): Fix some
872         more memory leaks.
873
874 Wed Jan  6 23:14:19 1999  Lars Hamann  <lars@gtk.org>
875
876         * gtk/gtkctree.c (gtk_ctree_drag_motion): fix for dnd bug reported
877         by Bertrand Guiheneuf. Don't return FALSE if source widget != dest.
878         widget.
879
880 Wed Jan 06 10:04:12 1999  Tristan Tarrant  <ttarrant@etnoteam.it>
881
882         * configure.in,po/it.po: added Italian translations
883
884 Tue Jan 05 21:18:00 1999  George Lebl  <jirka@5z.com>
885
886         * gtk/gtkmenu.c,gtk/gtkmenuitem.c,gtk/gtkeditable.c: free the
887           event that was returned to us by gtk_get_current_event
888
889 Tue Jan  5 19:01:18 1999  Owen Taylor  <otaylor@redhat.com>
890
891         * gtk/gtkcolorsel.c (gtk_color_selection_dialog_init): Push
892         GdkRGB's visual and colormap around the color selection
893         dialog so that the window and the previews have the
894         same colormap. If an app adds things to the colorsel
895         dialog, it will have to take care of them itself.
896
897 Tue Jan  5 15:03:47 1999  Owen Taylor  <otaylor@redhat.com>
898
899         * gtk/gtkmain.c (gtk_propagate_event): Make 
900         gtk_propagate_event() non-static, we need it in gtkdnd.c 
901         so that the button-release we synthesize gets propagated
902         correctly.
903
904         * gtk/gtkdnd.c: Use gtk_propagate_event() so
905         release gets to a GtkList. But we can't really
906         get this right without access to the windows
907         event masks and doing X-style propagation ourselves.
908
909 Tue Jan  5 12:40:57 1999  Owen Taylor  <otaylor@redhat.com>
910
911         * gtk/gtkpreview.c: Add a size_allocate() routine 
912         and set the size of the preview window equal
913         to the area we are going to draw on, instead 
914         of the entire allocation. Do this to avoid having 
915         to set a parent-relative background.
916         
917 Tue Jan  5 11:51:32 1999  Owen Taylor  <otaylor@redhat.com>
918
919         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable):
920         When redrawing the under-cursor character, don't
921         redraw the terminating NULL.
922         [ From: dov@imagic.weizmann.ac.il (Dov Grobgeld) ]
923
924 Tue Jan  5 11:31:55 1999  Owen Taylor  <otaylor@redhat.com>
925          
926         * gtk/gtkselection.c (gtk_target_list_unref): Free
927         memory allocated for target lists.
928
929         * gtk/gtkdnd.c (gtk_drag_drop_finished): Release
930         selections before destroying info structure.
931
932         * gdk/gdkdnd.c gdktypes.h (gdk_drag_get_protocol): Add
933         new value GDK_DRAG_PROTO_NONE, use it for non-drag
934         targets, to quiet Purify.
935
936         * gdk/gdkdnd.c (gdk_window_register_dnd): Set size
937         of property properly.
938
939 Mon Jan  4 03:45:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>
940
941         * Released GTK+ 1.1.12
942
943         * INSTALL:
944           NEWS:
945           README:
946           configure.in:
947           gtk+.spec:
948           docs/gtk-config.1:
949           gtk/gtkfeatures.h.in: version=1.1.12
950
951 1999-01-04  Sung-Hyun Nam  <namsh@lgic.co.kr>
952
953         * configure.in (ALL_LINGUAS): Added 'ko'.
954
955 Sun Jan  3 17:41:22 1999  Lars Hamann  <lars@gtk.org>
956
957         * gtk/gtkctree.c (real_tree_expand): fixed auto_resize bug
958
959 Sat Jan  2 03:54:30 1999  Tim Janik  <timj@gtk.org>
960
961         * gdk/gdk.h (GDK_PRIORITY_EVENTS): make this G_PRIORITY_DEFAULT.
962
963         * gdk/gdkevents.c (gdk_events_init): add the source and the poll fd with
964         a priority of GDK_PRIORITY_EVENTS.
965
966 1999-01-02  Jeff Garzik  <jgarzik@pobox.com>
967
968         * configure.in, config.h.in, gdk/gdkimage.c:
969         Removed features.h test.
970
971         * gdk/gdkdnd.c:
972         Guard public functions against NULL pointer derefs.
973
974 Fri Jan  1 18:41:09 PST 1999 Manish Singh <yosh@gimp.org>
975
976         * gdk/gdk.c
977         * gdk/gdkinputnone.h
978         * gtk/gtkruler.c: casts to get rid of const warnings
979
980         * gtk/Makefile.am: fix gtktypebuiltins.h dependencies, and do a
981         cmp so people don't whine about rebuilds
982
983         * gtk/gtknotebook.c: use g_snprintf on translated strings, so we
984         don't get buffer overflows
985
986         * gtk/gtkrc.c: use g_strdup_printf instead of g_malloc/sprintf
987         Plug some memleaks.
988
989 1999-01-01  Jeff Garzik  <jgarzik@pobox.com>
990
991         * configure.in, config.h.in:
992         Check for features.h.
993
994         * gdk/gdkevents.c (gdk_event_put, gdk_events_queue):
995         Fixed bug in linked list append logic by replacing hand-coded
996         logic with a call to g_list_append.  Bug found by tml.
997
998         * gdk/gdkimage.c:
999         'gcc -ansi -pedantic' on GNU/Linux spews warnings and errors
1000         in sys/ipc.h, including one specific admonishment to use
1001         _SVID_SOURCE or _XOPEN_SOURCE.  Manually defined the latter, and
1002         included features.h if present to obtain the necessary
1003         side-effects.
1004
1005         * gtk/gtkclist.c, gtk/gtkeditable.c:
1006         Eliminates comma-after-final-element warnings.
1007
1008         * gtk/gtkfontsel.c (gtk_font_selection_init):
1009         Fixed bug where an intl string was declared as _("x") in
1010         local var initializer.
1011
1012 1998-12-31  Jeff Garzik  <jgarzik@pobox.com>
1013
1014         * gtk/gtklabel.c (gtk_label_split_text_wrapped):
1015         word->space is now initialized correctly.
1016         Reported by Chi-Deok Hwang <cdhwang@sr.hei.co.kr>.
1017
1018 1998-12-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1019
1020         * gtk/gtkmain.c (gtk_main_do_event): Fix memory leak.
1021         gdk_event_put would make a copy of next_event, and next_event was
1022         not being freed.
1023
1024 Wed Dec 30 18:39:21 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1025
1026         * Released GTK+ 1.1.11
1027
1028         * INSTALL:
1029           NEWS:
1030           README:
1031           configure.in:
1032           gtk+.spec:
1033           docs/gtk-config.1:
1034           gtk/gtkfeatures.h.in: version=1.1.11
1035         
1036 1998-12-29  Owen Taylor  <otaylor@srv-19-29.roc.ny.frontiernet.net>
1037
1038         * gdk/gdkim.c (gdk_wcstombs): Fixed off-by-one
1039         error when computing length.
1040
1041 Thu Dec 24 14:35:48 1998  Jeff Garzik  <jgarzik@pobox.com>
1042
1043         * gdk/gdkevents.c, gdk/gdkim.c, gdk/gdkrgb.c, gdk/gdkwindow.c,
1044           gtk/gtkprogressbar.c:
1045         Pull in string.h for various mem*() and str*() functions,
1046         in an autoconf-friendly way.
1047
1048 Thu Dec 24 12:40:45 1998  Jeff Garzik  <jgarzik@pobox.com>
1049
1050         * gdk/gdkfont.c: removed unused var
1051         * gdk/gdkim.c: 64-bit cast
1052         * gtk/gtkaccelgroup.c: point to const data
1053         * gtk/gtkdnd.[ch]: (gtk_drag_dest_set, gtk_drag_source_set):
1054           Made const-correct.
1055         * gtk/gtkfontsel.c: kill uninitialized var warning
1056         * gtk/gtkselection.[ch]: (gtk_target_list_new,
1057           gtk_target_list_add_table, gtk_selection_add_targets):
1058           Made const-correct.
1059         * gtk/testgtk.c: 64-bit cast
1060
1061 Thu Dec 24 03:16:52 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1062
1063         * INSTALL:
1064           NEWS:
1065           README:
1066           configure.in:
1067           gtk+.spec:
1068           docs/gtk-config.1:
1069           gtk/gtkfeatures.h.in: version=1.1.10
1070
1071 Wed Dec 23 20:31:40 1998  Owen Taylor  <otaylor@redhat.com>
1072
1073         * gtk/gtklabel.c: Fix problem where empty labels were 
1074         getting a requisition height of zero, and trailing 
1075         newlines were being ignored.
1076
1077 Wed Dec 23 13:58:14 1998  Owen Taylor  <otaylor@redhat.com>
1078
1079         * gtk/gtklabel.c (gtk_label_parse_uline):
1080         label->label should be the mb text _after_ removing
1081         the underlines, not before.
1082
1083         * gtk/gtkmenu.c: Reverted Elliot's tearoff-menu-item
1084         title hack. If it deserves being done, it deserves
1085         being done right.
1086         
1087 1998-12-23  Elliot Lee  <sopwith@redhat.com>
1088
1089         * gtk/gtkmenu.c: Allow programmer to gtk_object_set_data(obj,
1090         "GtkTearoffMenuItem_window_title", ..) on a GtkMenuItem and have
1091         it be recognized. If we're getting the title out of the GtkLabel,
1092         then remove all underscores.
1093
1094 Tue Dec 22 17:01:43 1998  Owen Taylor  <otaylor@redhat.com>
1095
1096         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): 
1097         Request XmTRANFER_FAILURE on Motif drops not within
1098         a drop zone. I don't know why this is necessary,
1099         but it is.
1100
1101         * gdk/gdkdnd.c (gdk_drop_reply): Fixed error where
1102         Motif flag field in response was getting wrong
1103         values.
1104
1105 Tue Dec 22 15:55:39 1998  Owen Taylor  <otaylor@redhat.com>
1106
1107         * gtk/gtkoptionmenu.c (gtk_option_menu_button_press): 
1108         Return TRUE for button press events we handle.
1109         (Allows option menus in radio buttons to work...)
1110
1111 Tue Dec 22 14:50:25 1998  Owen Taylor  <otaylor@redhat.com>
1112
1113         * gtk/gtkdnd.c (gtk_drag_find_widget): Optimization -
1114         when we've already found a widget, skip all checks
1115         for subsequent children.
1116
1117         * gtk/gtkdnd.c (gtk_drag_find_widget): Checked for
1118         !MAPPED, not !VISIBLE, since a widget (like a notebook
1119         page), can be VISIBLE, but !REALIZED or !MAPPED.
1120
1121         * gtk/gtkdnd.c (gtk_drag_find_widget): Use forall(),
1122         not foreach().
1123
1124 Mon Dec 21 22:01:49 1998  Lars Hamann  <lars@gtk.org>
1125
1126         * gtk/gtkclist.c (gtk_clist_motion): fixed column resize bug
1127
1128 Sun Dec 20 04:48:59 1998  Tim Janik  <timj@gtk.org>
1129
1130         * gdk/gdk.h (GDK_PRIORITY_EVENTS): export the priority at which
1131         events are processed.
1132
1133         * gtk/gtk[main|signal|container].[ch]: removed deprecated _interp
1134         variants: gtk_container_foreach_interp, gtk_idle_add_interp,
1135         gtk_timeout_add_interp, gtk_signal_connect_interp.
1136
1137 Sat Dec 19 18:45:30 PST 1998 Shawn T. Amundson <amundson@gtk.org>
1138
1139         * configure.in: added sv to ALL_LIGNUAS
1140
1141 Sat Dec 19 22:49:40 1998  Tim Janik  <timj@gtk.org>
1142
1143         * gtk/gtktypeutils.c (gtk_type_query): eek, fixed an embarrasing bug
1144         that caused this function to always return NULL (noticed by marius
1145         vollmer).
1146
1147 Sat Dec 19 17:28:30 1998  Owen Taylor  <otaylor@redhat.com>
1148
1149         * configure.in: Don't add the gthread libs to 
1150         GLIB_LIBS either, or -lgthread -lpthread will get 
1151         pulled into all applications because of shlib deps.
1152
1153         * gtk/gtkmain.h gtk/gtkwidget.c gtk/gtk gdk/gdk: 
1154         Use GLIB's priority #define. Revise scale of 
1155         priorities.
1156
1157 Sat Dec 19 03:44:29 PST 1998 Manish Singh <yosh@gimp.org>
1158
1159         * gtk/gtkmain.c: always run a g_main_iteration, even if
1160         there are no active main loops. This fixes the gimp splash
1161         screen.
1162
1163 Sat Dec 19 05:37:51 1998  Tim Janik  <timj@gtk.org>
1164
1165         * gtk/gtklabel.c (gtk_label_expose): removed return_if_fail
1166         (label->words != NULL) since that's a valid case when the label
1167         is empty, or just default constructed.
1168         fixed indentation prototype arguments and braces in some places.
1169         also, pointer comparisions and initializations are done with NULL
1170         not 0, there's a reason GLib defines NULL.
1171
1172         * gdk/gdkevents.c (gdk_events_pending): return (queued_events ||
1173         putback_events) so this again returns whether events are pending,
1174         not whether other sources like idles are pending.
1175
1176         * gtk/gtkmain.c (gtk_main_iteration_do): 
1177         (gtk_main_iteration): return whether the loop is done, not whether
1178         something got dispatch to restore the original behaviour (yosh: this
1179         fixes code like in GleSelector).
1180
1181 Fri Dec 18 19:20:45 PST 1998 Manish Singh <yosh@gimp.org>
1182
1183         * gtkbutton.[ch]
1184         * gtktogglebutton.c: s/(enter|leave)_button/$1/g, since pthreads.h
1185         no longer conflicts
1186         
1187 Sat Dec 19 01:56:13 1998  Lars Hamann  <lars@gtk.org>
1188
1189         * gtk/gtkclist.c (gtk_clist_button_press): fixed GDK_2BUTTON_PRESS
1190         bug.
1191
1192 Fri Dec 18 15:30:43 PST 1998 Manish Singh <yosh@gimp.org>
1193
1194         * configure.in: add ja to ALL_LINGUAS
1195
1196 Fri Dec 18 15:19:54 1998  Owen Taylor  <otaylor@redhat.com>
1197
1198         * gtk/gtksocket.c (gtk_socket_filter_func): Marked
1199         plug window as destroyed before destroying the 
1200         window.
1201
1202 Fri Dec 18 14:17:14 1998  Owen Taylor  <otaylor@redhat.com>
1203
1204         * gtk/gtkmenu.c (gtk_menu_popup): Set the usize on the
1205         tearoff window so when we reparent the window out,
1206         the window doesn't shrink down.
1207
1208 1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1209
1210         * configure.in: do not export the glib flags for thread support to
1211         gtk-config.
1212
1213 Fri Dec 18 01:32:59 1998  Tim Janik  <timj@gtk.org>
1214
1215         * gtk/gtkmain.c (gtk_main): added gdk_flush() after g_main_run(), so we
1216         get the original behaviour back, i.e. the event queue needs to be flushed
1217         after a main loop has been quitted.
1218         (gtk_main): add/remove the current main loop to/from the main loop
1219         before/after init/quit functions have been exected to preserve the
1220         original gtk_main_quit() behaviour.
1221
1222 Thu Dec 17 23:48:29 1998  Tim Janik  <timj@gtk.org>
1223
1224         * gdk/gdkevents.c (gdk_events_init): changed argument order in call
1225         to g_main_add_poll() to match recent glib changes.
1226
1227 Thu Dec 17 20:33:28 1998  Owen Taylor  <otaylor@redhat.com>
1228
1229         * gtk-config.in: Add @INTLLIBS@. 
1230         gtk-scier-981116-0.patch  Sean Cier <scier@PostHorizon.com>) ]
1231
1232         * gtk/gtkcolorsel.c gtk/gtkfilesel.c gtk/gtkfontsel.c
1233           gtk/gtkgamma.c gtk/gtkinputdialog.c 
1234           gtk/gtknotebook.c gtk/gtkrc.c gtk/gtkthemes.c
1235           gtk/gtktipsquery.c: 
1236         
1237         Applied parts of gtk-egger-981215-1 [ Daniel Egger
1238         <Daniel.Egger@t-online.de> ] marking additional strings for
1239         internationalization.
1240         
1241         * po/nl.po: Added Dutch translation from 
1242         Paul Siegmann <pauls@euronet.nl>.
1243         
1244 Thu Dec 17 18:25:52 1998  Owen Taylor  <otaylor@redhat.com>
1245
1246         * gtk/gtkdnd.c (gtk_drag_drop_finished): Remove the
1247         info tag from the context so if the source unexpectedly
1248         responds in the future, we do nothing properly.
1249
1250 Thu Dec 17 18:24:41 1998  Owen Taylor  <otaylor@redhat.com>
1251
1252         * gtk/gtk[hv]paned.c (gtk_[hv]paned_size_allocate): Handle
1253         the case where one side of the the pane is empty.
1254
1255         * gtk/gtkfilesel.c (gtk_file_selection_init): Set
1256         dir_title before using it. (Pointed out by
1257         Lavoie Philippe <lavoie@zeus.genie.uottawa.ca>)
1258         
1259 Thu Dec 17 10:53:20 1998  Owen Taylor  <otaylor@redhat.com>
1260
1261         * gtk/gtklabel.c (gtk_label_set_text): Free 
1262         previous label->label_wc.
1263
1264         * gtk/testgtkrc: Leave font, not fontset commented
1265         in by default.
1266
1267 1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1268
1269         * gdk/gdkim.c: Define gdk_use_mb outside USE_XIM guard. Removed
1270         unnecessary USE_XIM guard inside another. Made gdk_use_mb
1271         static. Compile gdk_set_locale also if not USE_XIM.     
1272
1273 Thu Dec 17 00:26:01 1998 Shawn T. Amundson <amundson@gtk.org>
1274
1275         * Released GTK+ 1.1.9
1276
1277         * INSTALL:
1278           NEWS:
1279           README:
1280           configure.in:
1281           gtk+.spec:
1282           gtk/gtkfeatures.h.in:
1283           docs/gtk-config.1: version=1.1.9
1284
1285 Wed Dec 16 21:20:00 PST 1998 Manish Singh <yosh@gimp.org>
1286
1287         * autogen.sh: rm -rf intl breaks --disable-nls, put it back
1288
1289         * gtkbutton.[ch]
1290         * gtktogglebutton.c: s/(enter|leave)/$1_button/g.
1291         Digital: 1 GTK+: 0 (for now)
1292
1293 Wed Dec 16 22:38:22 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1294
1295         * gdk/gdkevents.c: updated call to g_main_add_poll
1296           instead of g_main_poll_add
1297
1298 Wed Dec 16 23:32:05 1998  Owen Taylor  <otaylor@redhat.com>
1299
1300         * gtk/gtklabel.c (gtk_label_expose): Remove 
1301         unnecessary cast.
1302
1303 Wed Dec 16 22:50:52 1998  Owen Taylor  <otaylor@redhat.com>
1304
1305         * gdk/gdk.c gdk/gdkim.c: Check for broken glibc 2.0 
1306         mb functions, and avoid them.
1307
1308 Wed Dec 16 16:57:55 1998  Owen Taylor  <otaylor@redhat.com>
1309
1310         * gdk/gdkevents.c (gdk_events_queue): Don't
1311         call XPending() if we have putback events.
1312
1313 Wed Dec 16 16:04:41 1998  Owen Taylor  <otaylor@redhat.com>
1314
1315         * gtk/gtklabel.c (gtk_label_expose): Do nothing
1316         on empty string, quietly.
1317
1318 Wed Dec 16 15:36:19 1998  Owen Taylor  <otaylor@redhat.com>
1319
1320         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable):
1321         Redraw the character under the cursor when removing
1322         the cursor.
1323
1324 Wed Dec 16 13:06:17 1998  Owen Taylor  <otaylor@redhat.com>
1325
1326         * gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main
1327         thread lock back to GDK - we need it there for locking
1328         when translating events. Rename things appropriately.
1329
1330 Wed Dec 16 11:44:21 1998  Owen Taylor  <otaylor@redhat.com>
1331
1332         * gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo.
1333
1334 Wed Dec 16 10:20:27 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1335
1336         * Released GTK+ 1.1.8
1337
1338         * ChangeLog:
1339           INSTALL:
1340           README:
1341           gtk+.spec:
1342           docs/gtk-config.1: version=1.1.8
1343
1344 1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1345
1346         * gdk/gdkglobals.c: Define gdk_xim_ic only, if USE_XIM is defined.
1347
1348 Wed Dec 16 07:03:32 1998  Tim Janik  <timj@gtk.org>
1349
1350         * gtk/gtkwidget.h: 
1351         * gtk/gtkwidget.c: s/USER_DRAW/APP_PAINTABLE/. provided
1352         gtk_widget_set_app_paintable() which users can use to make
1353         a widget paintable for the application. changed other files accordingly.
1354
1355 Wed Dec 16 05:26:32 1998  Tim Janik  <timj@gtk.org>
1356
1357         * configure.in: version bump to 1.1.8, binary age 0, interface age 0,
1358         depend on GLib 1.1.8.
1359
1360         * gdk/gdkprivate.h:
1361         * gdk/gdkglobals.c: removed last Gdk threads specific bits.
1362
1363         * gtk/gtkmain.c (gtk_init): s/g_thread_supported/g_thread_supported()/.
1364
1365         * gtk/gtkprivate.h: changed GTK_THREADS_ENTER and GTK_THREADS_LEAVE
1366         to function macros GTK_THREADS_ENTER() and GTK_THREADS_LEAVE().
1367         honour G_THREADS_ENABLED in the definition of GTK_THREADS_ENTER()
1368         and GTK_THREADS_LEAVE(). changed callers accordingly.
1369
1370 Tue Dec 15 21:26:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1371
1372         * autogen.sh: warn if glib.m4 or gettext.m4 are not found 
1373           in aclocal's directory.
1374
1375 Tue Dec 15 21:36:14 1998  Owen Taylor  <otaylor@redhat.com>
1376
1377         * gtk/testgtk.c (create_layout): Create buttons,
1378         not combos again.
1379
1380 1998-12-15  Joel Becker  <jlbec@ocala.cs.miami.edu>
1381
1382         * autogen.sh: reordered gettextize and aclocal, because
1383         gettextize was messing up aclocal.m4.
1384
1385 Tue Dec 15 22:30:44 1998  Lars Hamann  <lars@gtk.org>
1386
1387         * gtk/gtkclist.h : 
1388         removed clist flag : GTK_CLIST_DRAG_SELECTION
1389         added flags : GTK_CLIST_REORDERABLE, GTK_CLIST_USE_DRAG_ICONS,
1390         GTK_CLIST_DRAW_DRAG_LINE, GTK_CLIST_DRAW_DRAG_RECT
1391         (GtkCListDragPos) : new enum for DND
1392         (GtkButtonAction) : new enum of possible mouse button actions
1393         (struct _GtkCList): added button_actions array.
1394         Added drag_button and click_cell struct, to store cell and
1395         mouse button of last button_press_event
1396         
1397         (struct _GtkCListClass): new class method draw_drag_highlight.
1398         (gtk_clist_set_reorderable) (gtk_clist_set_use_drag_icons) :
1399         new functions. Moved from gtkctree.h. Now clist is reorderable
1400         as well.
1401         (gtk_clist_set_button_actions) new function to customize mouse
1402         button actions.
1403
1404         * gtk/gtkclist.c:
1405         (gtk_clist_drag_begin)
1406         (gtk_clist_drag_motion)
1407         (gtk_clist_drag_leave)
1408         (gtk_clist_drag_end)
1409         (gtk_clist_drag_drop)
1410         (gtk_clist_drag_data_get)
1411         (gtk_clist_drag_data_received) : new dnd widget methods to
1412         implement clists reorderability via DND
1413
1414         (remove_grab) : new function. remove mouse grab if necessary.
1415         (draw_drag_highlight) : new method. Draw dnd highlight depending
1416         on clist flags GTK_CLIST_DRAW_DRAG_LINE and GTK_CLIST_DRAW_DRAG_RECT
1417
1418         (gtk_clist_class_init): added object args "reorderable" and
1419         "use_drag_icons"
1420
1421         (gtk_clist_button_press) (gtk_clist_button_release) :
1422         use button_actions array to decide which action to perform.
1423         (gtk_clist_motion) : start reorder operation if necessary.
1424
1425         * gtk/gtkctree.h :
1426         (struct _GtkCTree): removed drag_icon, icon_widht, icon_height,
1427         drag_row, drag_source, drag_target, reorderable, use_icons,
1428         in_drag, drag_rect
1429         (gtk_ctree_set_reorderable) :  deprecated function.
1430         use gtk_clist_set_reorderable instead.
1431         (gtk_ctree_set_use_drag_icons) : deprecated function.
1432         use gtk_clist_set_use_drag_icons instead.
1433
1434         * gtk/gtkctree.c :
1435         (gtk_ctree_class_init): removed object args "reorderable" and
1436         and "use_drag_icons"
1437
1438         (draw_xor_line) (draw_xor_rect) (create_drag_icon) (check_cursor)
1439         (tree_toggle_selection) (set_mouse_cursor) : removed
1440         
1441         (draw_drag_highlight) : new clist method. replacement for
1442         draw_xor_line and draw_xor_rect functions
1443         (check_drag) renamed check_cursor function
1444
1445         (gtk_ctree_drag_begin)
1446         (gtk_ctree_drag_motion)
1447         (gtk_ctree_drag_data_received) : new dnd methods to implement ctrees
1448         reorderability via DND
1449
1450         (gtk_ctree_button_release)
1451         (gtk_ctree_button_motion) : removed.
1452
1453         * gtk/testgtk.c:
1454         (create_clist) : added new reorderable toggle button
1455         
1456 Tue Dec 15 19:50:41 1998  Owen Taylor  <otaylor@redhat.com>
1457
1458         * gtk/gtkctree.c gtk/gtkclist.c gtk/testgtk.c: Use 
1459         base[NORMAL] instead of bg[PRELIGHT] so CLists now can be
1460         used in detergent commercials.
1461
1462 Tue Dec 15 16:54:09 1998  Owen Taylor  <otaylor@redhat.com>
1463
1464         * gtk/gtklabel.h: Moved gtk_label_set() compatiblity
1465         define from <gtkcompat.h> to <gtklabel.h> for
1466         compatibility.
1467
1468 1998-12-15  Jeff Garzik  <jgarzik@pobox.com>
1469
1470         * configure.in, gdk/Makefile.am, gtk/Makefile.am:
1471         Removed last remaining thread-related configure bits 
1472         that have been moved into GLib.
1473
1474 1998-12-15  Elliot Lee  <sopwith@bogus.cuc.ml.org>
1475
1476         * gdk/gdkevents.c: Use G_IO_ERR|G_IO_HUP|G_IO_NVAL
1477         as the mask for checking for GDK_INPUT_EXCEPTION events.
1478
1479 1998-12-15  Martin Baulig  <martin@home-of-linux.org>
1480
1481         * acinclude.m4: Make the gettext check for for libc5 systems.
1482
1483         * autogen.sh: Not running gettextize fails on a fresh CVS checkout
1484         and we'll get a lot of bug reports tomorrow, so I add it back.
1485
1486         * acinclude.m4: Rename AM_GNU_GETTEXT_GTK to AM_GTK_GNU_GETTEXT and
1487         AM_WITH_NLS_GTK to AM_GTK_WITH_NLS to avoid this ugly automake
1488         warnings.
1489
1490 Tue Dec 15 16:06:15 1998  Owen Taylor  <otaylor@redhat.com>
1491
1492         * acinclude.m4: Provide a hacked version of the
1493           gettext macros that never use the included gettext.
1494          
1495         * Makefile.am configure.in: Remove references
1496           to intl/
1497         
1498         * autogen.sh: Don't run gettextize.
1499
1500 Tue Dec 15 14:30:35 1998  Owen Taylor  <otaylor@redhat.com>
1501
1502         * gdk/gdk.h gdk/gdkfonts.c: Added gdk_text_extents_wc()
1503
1504         * Patch from Jonathan Blanford <jrb@redhat.com> to add line wrapping
1505           to label. (Based on patch from Jeff Dairiki
1506           <dairiki@mac-ceope.apl.washington.edu> gtk-dairiki-971208-0)
1507
1508         - Adds new function gtk_label_set_line_wrap()
1509         - implement GTK_JUSTIFY_FILL.
1510         - rename gtk_label_set to gtk_label_set_text() add
1511            gtk_label_set() to gtkcompat.h.
1512
1513         * Use an internal wc representation in the label, so
1514           that we handle underlining and line breaks correctly
1515           for multi-byte strings.
1516
1517 Tue Dec 15 13:32:28 1998  Owen Taylor  <otaylor@redhat.com>
1518
1519         * gtk/gtkwidget.h: Added GTK_USER_DRAW flag.
1520
1521         * gtk/gtkwindow.c: Honor GTK_USER_DRAW flag.
1522
1523         * gtk/gtkdrawwindow.c gtk/Makefile.am: Removed 
1524         GtkDrawWindow, which GTK_USER_DRAW obsoletes.
1525
1526 Tue Dec 15 11:37:05 1998  Owen Taylor  <otaylor@redhat.com>
1527
1528         * gtk/gtkmain.c: Fixed up some warnings.
1529
1530 Tue Dec 15 10:32:01 1998  Owen Taylor  <otaylor@redhat.com>
1531
1532         * gtk/gtk{h,v,}paned.{c,h}: Add new functions 
1533         gtk_paned_set_position(),
1534         gtk_paned_pack1/2(). The latter take a
1535         shrink and resize parameters, that allows setting
1536         minimum sizes and getting 'relative' resizing.
1537
1538 Tue Dec 15 10:26:23 1998  Owen Taylor  <otaylor@redhat.com>
1539
1540         * gdk/gdkevents.c: Keep separate putback_events and 
1541         queued_events queues so that we get both FIFO and 
1542         preemptive behavior for gdk_event_put().
1543
1544 Tue Dec 15 09:22:44 1998  Owen Taylor  <otaylor@gtk.org>
1545
1546         * gtk/gtkrc.c (gtk_rc_init): Removed unused 
1547         variable, fixed minor memory leak.
1548
1549         * gdk/gdk.c: Fixed another merge problem.
1550
1551 Tue Dec 15 08:53:38 1998  Owen Taylor  <otaylor@redhat.com>
1552
1553         * gdk/gdk.c (gdk_get_display): Remove gdk_signal,
1554         which crept back in in last commit.
1555
1556 Tue Dec 15 01:38:53 1998  Owen Taylor  <otaylor@redhat.com>
1557
1558         * gtk/Makefile.am: Commented out testthreads from
1559         the build process, since we won't have any idea
1560         how to create a thread.
1561
1562         * configure.in (LIBS): use glib-config ... gthread
1563         so we always build a thread-compatible library.
1564
1565         * gtk/gtkaccellabel.c gtk/gtkclist.c gtk/gtkcolorsel.c
1566           gtk/gtkcombo.c gtk/gtkcontainer.c gtk/gtkentry.c
1567           gtk/gtklist.c gtk/gtkmenuitem.c gtk/gtknotebook.c
1568           gtk/gtkrange.c gtk/gtkselection.c gtk/gtkspinbutton.c
1569           gtk/gtktext.c gtk/gtktooltips.c gtk/gtkwidget.c:
1570         
1571         Add GTK_THREADS_ENTER/LEAVE pairs around timeouts
1572         and idles to account for the fact that they are no
1573         longer called within the GTK+ lock.
1574
1575         * gtk/gtkprivate.h: Added definitions for locking
1576         the main GTK+ mutex.
1577         
1578         * gtk/gtkmain.c: Re-implement the main loop 
1579         in terms of the GLib main loop.
1580
1581         * gdk/gdk.h gdk/gdkthreads.c gdk/Makefile.am: Removed threading 
1582         functionality, as it seems better to subsume GDK within the 
1583         GTK+ lock than vice-versa.
1584
1585         * gdk/gdkevents.c: New file, containing event handling bits 
1586         from gdk.c.
1587
1588         * gdk/gdkevents.c: Implement event source for GDK
1589         events.
1590         
1591         * configure.in gdk/gdkevents.c: Removed attempts to 
1592         subtract base_id, which were already non-functional.
1593
1594 Mon Dec 14 23:05:20 PST 1998 Manish Singh <yosh@gimp.org>
1595
1596         * acconfig.h
1597         * configure.in: removed IPC_RMID_DEFERRED_RELEASE check
1598
1599         * gdk/gdk.c: remove signal handlers, since we do an IPC_RMID
1600         after XShmAttach, and nobody complained
1601
1602 Tue Dec 15 02:27:42 MET 1998 Sven Neumann <sven@gimp.org>
1603
1604         * po/de.po: Replaced the crappy german po-file with a valid one.
1605
1606 Mon Dec 14 16:10:05 1998  Owen Taylor  <otaylor@redhat.com>
1607
1608         * gtk/gtkrc.c (gtk_rc_init): Append locale-specific
1609         suffixes to default rc file names, and look these
1610         up in addition to the base filename, to facilitate
1611         having the correct fontset per-locale.
1612
1613         move $(sysconfdir)/gtkrc to $(sysconfdir)/gtk/gtkrc
1614
1615         * gtk/gtkitemfactory.[ch] (gtk_item_factory_set_translate_func):
1616         New function to set a function to translate menu paths.
1617
1618         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Free
1619         results of g_strsplit().
1620
1621 1998-12-14  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>
1622
1623         * configure.in (ALL_LINGUAS): Added 'pt'.
1624
1625         * po/pt.po: Added Portuguese translation.
1626
1627 Mon Dec 14 20:04:31 1998  Stefan Jeske  <stefan@gtk.org>
1628
1629         * gtk/gtkspinbutton.c: Only call gtk_spin_button_update if
1630         the spinbutton is editable.
1631
1632 Mon Dec 14 12:24:13 1998  Owen Taylor  <otaylor@redhat.com>
1633
1634         * HACKING: Added gettext-10.35
1635
1636         * autogen.sh: Run gettextize.
1637
1638 Wed Dec  9 16:29:06 1998  Owen Taylor  <otaylor@redhat.com>
1639
1640         Applied gtk-egger-981010-[12] 
1641         [ Daniel.Egger@t-online.de (Daniel Egger) ]
1642
1643         * gtk/gtkintl.h: New file - defines for localization.
1644
1645         * gtk/gtkfilesel.c gtk/gtkinputdialog.c: Mark strings
1646         for internationalization.
1647
1648         * gtk/gtkmain.c: call bindtextdomain
1649
1650         * po/ - directory for translations. Initially includes
1651         German translation.
1652
1653 Mon Dec 14 02:42:11 1998  Tim Janik  <timj@gtk.org>
1654
1655         * gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
1656         RUN_ACTION signal. moved stuff from gtk_widget_grab_focus() into
1657         gtk_widget_real_grab_focus() so a signal is always emitted
1658         if the focus is grabbed on a widget.
1659
1660 Mon Dec 14 02:13:01 1998  Tim Janik  <timj@gtk.org>
1661
1662         * gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or
1663         not to delay the submenu popup from a menu item deselection time stamp.
1664         the code looks even more hackish than before, but in practice "feels"
1665         very well.
1666
1667 1998-12-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1668
1669         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added a "grab_focus"
1670         signal for widgets.  When the signal is emitted, the widget will
1671         grab the focus.  This is needed to let the user press an
1672         accelerator key in a dialog box and have the corresponding widget
1673         be focused.
1674
1675         * gtk/gtkwidget.c (gtk_widget_class_init): Create the "grab_focus"
1676         signal.  The default handler is simply gtk_widget_grab_focus().
1677
1678 Sun Dec 13 22:15:48 GMT 1998  Tony Gale  <gale@gtk.org>
1679
1680         * docs/gtk_tut.sgml: Update the following sections to the
1681           current API:
1682             - Container Widgets
1683             - CList Widget
1684             - List Widget
1685             - Tree Widget
1686
1687 Sat Dec 12 19:11:35 1998  Tim Janik  <timj@gtk.org>
1688
1689         * gtk/gtkmenuitem.c: made GtkMenuItem::activate a GTK_RUN_ACTION signal.
1690
1691         * gtk/gtkbutton.c: made GtkButton::clicked a GTK_RUN_ACTION signal.
1692
1693         * gtk/gtkfeatures.h.in: define GTK_HAVE_FEATURES_1_1_8.
1694
1695 Sat Dec 12 17:46:55 1998  Owen Taylor  <otaylor@gtk.org>
1696
1697         * gtk/gtklayout.c (gtk_layout_unrealize): Mark
1698         child->window as destroyed so we don't destroy
1699         it again.
1700
1701 Sat Dec 12 17:18:32 1998  Owen Taylor  <otaylor@redhat.com>
1702
1703         * gdk/gdkfont.c (gdk_text_extents): Corrections
1704         to computation of extents of text from a font set.
1705         (from Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
1706          and Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>)
1707         
1708 Fri Dec 11 08:59:12 1998  Owen Taylor  <otaylor@redhat.com>
1709
1710         * gtk/gtklistitem.c (gtk_list_item_style_set):
1711         * gtk/gtklist.c     (gtk_list_style_set):
1712         Added "style_set" handlers.
1713
1714 Fri Dec 11 05:49:30 1998  Owen Taylor  <otaylor@redhat.com>
1715
1716         * gtk/gtkclist.c (gtk_clist_style_set): Add in a "style_set"
1717         handler so that the background of the clist changes
1718         with the theme.
1719
1720 Thu Dec 10 22:02:49 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1721
1722         * Released GTK+ 1.1.7
1723
1724         * INSTALL:
1725           NEWS:
1726           README:
1727           configure.in:
1728           gtk+.spec:
1729           gtk/gtkfeatures.h.in: 
1730           docs/gtk-config.1: Version to 1.1.7
1731
1732 Thu Dec 10 20:48:19 PST 1998 Manish Singh <yosh@gimp.org>
1733
1734         * gtk/gtkclist.c: avoid void pointer math
1735
1736         * gtk/gtkhscale.c
1737         * gtk/gtkhscrollbar.c
1738         * gtk/gtkvscale.c
1739         * gtk/gtkvscrollbar.c: removed trailing , from enums
1740
1741         * gtk/gtksignal.c: can't use enums as a bitfield type, use guint
1742
1743         * gtk/testgtk.c: removed C++ comment added by owenpoo
1744
1745 Thu Dec 10 21:48:34 1998  Owen Taylor  <otaylor@redhat.com>
1746
1747         * gtk/gtkdnd.[ch]: Added gtk_drag_source_unset()
1748
1749 Thu Dec 10 20:42:22 1998  Owen Taylor  <otaylor@redhat.com>
1750
1751         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Use 
1752         gdk_window_get_origin() instead of gdk_window_get_position,
1753         because get_position is unreliable for plugs. 
1754
1755         This is a bad hack, maybe we need GDK_WINDOW_PLUG?
1756
1757 Thu Dec 10 17:58:49 GMT 1998  Tony Gale  <gale@gtk.org>
1758
1759         * docs/gtk_tut.sgml:
1760           - re-write the GtkProgressBar section to the 1.1 API.
1761           - add an Appendix listing all the signals
1762             (apologies to TimJ for taking so long in using his hard work
1763              in automating the extraction - thanx Tim). 
1764         * examples/*: bring them all upto the tutorial versions
1765
1766 Thu Dec 10 02:21:16 1998  Jeff Garzik  <jgarzik@pobox.com>
1767
1768         * gtk/testdnd.c: use g_snprintf, eliminate need for string.h
1769         * gtk/testrgb.c: include string.h, for strlen
1770
1771 Wed Dec  9 17:39:26 1998  Owen Taylor  <otaylor@redhat.com>
1772
1773         * configure.in: Add a case for success in 
1774         test for XUnregisterIMInstantiate, to prevent
1775         screwing up $LIBS.
1776
1777 Wed Dec  9 13:06:31 1998  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1778  
1779         * gdk/gdkim.c (gdk_ic_new,gdk_ic_{set,get}_attr): Fixed argument
1780         list and return type for non-XIM fallback.
1781  
1782         * configure.in: Only build XIM-support if available.
1783  
1784 Wed Dec  9 12:23:30 1998  Owen Taylor  <otaylor@redhat.com>
1785         
1786         * gtk/testselection.c (main): Add in missing 'flags'
1787         field to target list.
1788
1789         * gdk/gdkproperty.c (gdk_atom_intern): Actually
1790         add the atoms to the local cache.
1791
1792 Wed Dec  9 04:57:31 PST 1998 Manish Singh <yosh@gimp.org>
1793
1794         * gdk/gdkprivate.h: put text after #endif in comment
1795
1796         * gdk/gdktypes.h: change whitespace in enum to shut up makeenums.pl
1797
1798         * gtk/testdnd.c: #include <string.h>
1799
1800 Mon Dec  7 10:27:09 1998  Owen Taylor  <otaylor@redhat.com>
1801
1802         * gtk/gtkwidget.c: Destroy widgets _after_ propagating unrealize
1803         signals through the widget heirarchy. This is unpleasant, as it
1804         causes more X traffic, but is necessary, because we have to clean
1805         up our Input Contexts before destroying the X windows.
1806         (from matsu-981109-0.patch)
1807         
1808 Mon Dec  7 10:18:18 1998  Owen Taylor  <otaylor@redhat.com>
1809
1810         Applied gtk-a-higuti-981202-0 : 
1811         [ a-higuti@math.sci.hokudai.ac.jp (Akira Higuchi) ]
1812         
1813         * gdk/gdk.h gdk/gdk.c
1814                 (gdk_mbstowcs): New function. Nearly equals to mbstowcs, but
1815                         implemented by a combination of Xlib functions, so
1816                         it works even with X_LOCALE.
1817                 (gdk_wcstombs): New function.
1818                 (g_mbtowc): Removed. No longer needed.
1819
1820         * gdk/gdk.h gdk/gdkfont.c gdk/gdkdraw.c: 
1821                 Added _wc() variants to gdk_text_width(), 
1822                 gdk_char_width(), gdk_draw_text(),
1823                 
1824         * gdk/gdki18n.h
1825                 (mblen, mbtowc, wctomb, mbstowcs, wcstombs,
1826                  wcslen, wcscpy, wcsncpy):
1827                         Removed. No longer needed.
1828                 (iswalnum): Removed.
1829                 (gdk_iswalnum): New macro.
1830                 (gdk_iswspace): New macro.
1831         * gdk/gdktype.h
1832                 (GdkWChar): New typedef.
1833         
1834         * gtk/gtkentry.h, gtk/gtkentry.c
1835                 There are many changes according to the change of the
1836                 internal representation of text, from multibyte string
1837                 to wide characters. 
1838         * gtk/gtkprivate.h, gtk/gtkmain.c
1839                 Removed the variable gtk_use_mb and related codes.
1840         * gtk/gtkspinbutton.c
1841                 Some changes according to the change of type of entry->text.
1842         * gtk/gtktext.h, gtk/gtktext.c
1843                 Changed the internal representation of text. We use GdkWchar
1844                 if a fontset is supplied. If not, we use guchar to save
1845                 memory.
1846         
1847 Tue Dec  1 15:20:39 1998  Owen Taylor  <otaylor@redhat.com>
1848
1849         * gdk/gdkwindow.c (gdk_window_new): When creating
1850         a window with a specified non-system visual, use
1851         a matching colormap.
1852
1853 Mon Nov 30 11:50:13 1998  Owen Taylor  <otaylor@redhat.com>
1854
1855         * gdk/gdk.c gdk/gdkim.c gdk/gdkprivate.h gdk/gdk.h
1856           gdk/gdktypes.h gtk/gtkeditable.c gtk/gtkmain.c
1857           gtk/gtkentry.c gtk/gtktext.c:
1858
1859          Applied matsu-981109-0
1860          [ matsu@arch.comp.kyutech.ac.jp (Takashi Matsuda) ]
1861         
1862          - Change system of setting input method values 
1863            from varargs to a structure, similar to GC's
1864            or window attributes.
1865
1866          - Various fixes to event handling.
1867
1868          Also:
1869
1870          * gdk/gdkim.c: Split of input method stuff into
1871            a separate source file.
1872
1873          * Remove GdkIM typedef, change everything from
1874            GdkIC to GdkIC * to be consistent with the
1875            rest of GTK.
1876         
1877 Wed Dec  9 00:41:41 1998  Owen Taylor  <otaylor@redhat.com>
1878
1879         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Allocate
1880         correct amount of memory for strings.
1881
1882 Tue Dec  8 18:29:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1883
1884         * Released GTK+ 1.1.6
1885
1886         * NEWS: updated
1887
1888         * gtk/Makefile.am:
1889           gtk/testgtk.c:
1890           gtk/gtkrc.h:
1891           gtk/gtkrc.c: Read in default files.
1892
1893 Wed Dec  9 00:49:12 1998  Tim Janik  <timj@gtk.org>
1894
1895         * gtk/gtktypeutils.h:
1896         * gtk/gtktypeutils.c: added gtk_type_query() which returns a newly
1897         allocated structure holding certain type specific informations.
1898         fixed the big bunch of `discards const' warnings with the
1899         initialization of enum/flags values.
1900
1901 Tue Dec  8 15:10:17 1998  Owen Taylor  <otaylor@redhat.com>
1902
1903         * gtk/gtkwindow.c (gtk_window_transient_parent_realized):
1904         Fixed order of arguments to gdk_window_transient_for().
1905
1906 Tue Dec  8 18:02:57 GMT 1998  Tony Gale  <gale@gtk.org>
1907
1908         * examples/Makefile: simple top level Makefile that invokes all
1909           the sub-directory Makefiles.
1910
1911 1998-12-08  Andrew T. Veliath  <andrewtv@usa.net>
1912
1913         * gtk/testgtk.c: Functions to test the toolbar space style.
1914
1915         * gtk/gtktoolbar.c: Add a private GtkToolbarChildSpace subclass of
1916         GtkToolbarChild to hold allocation. Set default space style to
1917         GTK_TOOLBAR_SPACE_EMPTY, define SPACE_LINE_* for separator
1918         fraction defaults.
1919         (gtk_toolbar_paint_space_line): New function; paints the separator
1920         line, using "toolbar" as the detail.
1921         (gtk_toolbar_expose): (gtk_toolbar_draw): Handle CHILD_SPACE when
1922         style is set to SPACE_LINE.
1923         (gtk_toolbar_size_allocate): Store space allocations.
1924         (gtk_toolbar_insert_element): If we are a space, allocate and
1925         initialize a GtkToolbarChildSpace instead of a GtkToolbarChild.
1926         (gtk_toolbar_set_space_style): New function.
1927
1928         * gtk/gtktoolbar.h: Add GtkToolbarSpaceStyle, with styles of EMPTY
1929         and LINE. Add prototype for gtk_toolbar_set_space_style.
1930
1931 Mon Dec  7 16:03:55 1998  Owen Taylor  <otaylor@redhat.com>
1932
1933         * gtk/gtkthemes.h: Remove random unnecessary includes
1934         of standard headers.
1935
1936 1998-12-07  Damon Chaplin  <DAChaplin@msn.com>
1937
1938         * gtk/gtkfontsel.c (gtk_font_selection_select_best_style): made sure
1939         we only try to match styles which are currently shown.
1940
1941         (gtk_font_selection_init): set the notebook tabs homogeneous and set
1942         the border, so we don't need to set the size explicitly (bad for i18n).
1943         Used the clist auto-resize feature for the font and style lists on the
1944         main page and all the filters. Used padding for the 'Reset Filter'
1945         button instead of spaces around it (bad for i18n).
1946
1947         (gtk_font_selection_find_font): when searching for
1948         a font, if we can't match both the family and foundry, we return any
1949         font where just the family matches. (The foundry can even be '*'.)
1950
1951         (gtk_font_selection_show_available_styles): 
1952         (gtk_font_selection_realize_list): don't set the style clist row
1953         colours (for the charset rows) until the clist is realized, since we
1954         use the clist style's insensitive colours.
1955
1956 Mon Dec  7 13:38:06 1998  Owen Taylor  <otaylor@redhat.com>
1957
1958         * gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
1959         _after_ doing XShmAttach. This should work everywhere,
1960         and avoid the need for signal handlers or configure
1961         checks.
1962
1963 Thu Dec  3 19:58:45 1998  Owen Taylor  <otaylor@redhat.com>
1964
1965         * gtk/gtkinputdialog.c: Use _add_with_viewport() for
1966         scrolled window contents.
1967
1968 1998-12-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1969
1970         * gtk/gtkpaned.h (struct _GtkPaned): Removed the unused cursor
1971         field in the structure.
1972
1973 Mon Dec  7 15:15:06 GMT 1998  Tony Gale <gale@gtk.org>
1974
1975         * docs/gtk_tut.sgml: Start mass update for GTK 1.1
1976         * examples/extract.sh: Look for the best version of awk
1977         * examples/extract.awk: Fix FD leak
1978         * example/base: minimal example from Tutorial
1979
1980 Mon Dec  7 01:29:27 1998  Owen Taylor  <otaylor@gtk.org>
1981
1982         * gtk/gtkwindow.c: New functions
1983         gtk_window_set_transient_for() - set up a "transient for" relationship.
1984         gtk_window_set_default_size() - set the initial size of a window
1985            distinct from its minimum size.
1986         gtk_window_set_geometry_hints() - Allow the user to set
1987            minimum, maximum sizes, aspect rations, and gridded geometry, 
1988            possibly all with respect to a subwidget of the window.
1989         These interfaces are still a wee bit experimental.
1990
1991         * gdk/gdk.c: Added gdk_window_set_transient_for(),
1992         gdk_window_set_geometry_hints(), and gdk_window_set_role().
1993
1994         * gdk/gdktypes.h: Added new types for find-grained specification
1995         of WM hints.
1996
1997         * gtk/testgtk.c: Various changes to tests to test the
1998         above new functions.
1999
2000         * gtk/gtkfontsel.c: Squash a few 'const' warnings.
2001         
2002         * gtk/gtktogglebutton.c (gtk_toggle_button_realize): Restored
2003         call to gtk_style_set_background() to prevent egregious
2004         flashing to black.
2005
2006 Mon Dec  7 03:52:01 1998  Tim Janik  <timj@gtk.org>
2007
2008         * gtk/gtksignal.c (gtk_handlers_run): when marshalling connect_object
2009         signals, don't pass the data pointer twice, but swap it with the
2010         object pointer (proposed on Nov 30 1998 on gtk-devel-list).
2011
2012 Mon Dec  7 03:08:39 1998  Tim Janik  <timj@gtk.org>
2013
2014         * gtk/gtktypeutils.h: 
2015         * gtk/gtktypeutils.c: reverted Marius's change to expose the type systems
2016         internal type info data to the user. if such functionality is required
2017         we should provide wrapping accessors, ala gtk_signal_query(). also the
2018         GtkTypeInfo structures are dynamically allocated memory portions, so
2019         only the type system is really allowed to access that stuff.
2020
2021         * gtk/gtksignal.c (gtk_signal_connect_by_type): reverted marius change,
2022         since it destroys the possibility to implement automatic marshaller
2023         lookups some day, and it also disables third party code's ability to
2024         connect to any signal.
2025
2026 Mon Dec  7 01:32:18 1998  Tim Janik  <timj@gtk.org>
2027
2028         * gtk/gtkfilesel.c (gtk_file_selection_key_press): always intercept the
2029         Tab key on the entry. the focus shouldn't get lost even if completion
2030         is attempted from an empty entry, since an empty entry string does
2031         indeed have a valid completion meaning (complete all).
2032         (gtk_file_selection_init): cast the gchar array parameter in calls to
2033         gtk_clist_new_with_titles() to quit compiler warnings.
2034         (check_dir): the no_stat_dirs struct must not be const, since we do
2035         indeed modify its contents.
2036
2037         * gtk/testgtk.c (event_watcher): adapted prototype to fit new emission
2038         hook semantics.
2039
2040         * gtk/gtksignal.h:
2041         * gtk/gtksignal.c:
2042         changed emission allocation, so we don't use a doubly linked list
2043         but link ourselfs (singly linked).
2044         changed emission hooks, they get the emision parameters passed as
2045         well now and are emitted during the actuall signal emission (after
2046         the RUN_FIRST class method, but prior to RUN_FIRST handlers).
2047         the existing restrictions do still apply to signal emission hooks,
2048         i.e. an emission may not be stopped or restarted from an emission hook.
2049         due to possibly huge perfomance impacts, frequent use of emision hooks
2050         is also not recommended.
2051         (gtk_signal_next_and_invalidate): added an
2052         assertments which explicits what the code assumes anyways: a
2053         maximum amount of 65535 signals.
2054
2055         * gtk/gtkcontainer.h: deprecated gtk_container_foreach_interp(),
2056         gtk_container_foreach_full() should be used instead.
2057
2058         * gtk/gtkmain.h:
2059         deprecated gtk_timeout_add_interp and gtk_idle_add_interp, since
2060         we provide _full variants.
2061
2062         * gtk/gtksignal.h: deprecated gtk_signal_connect_interp(), we provide
2063         gtk_signal_connect_full() for long enough now.
2064
2065 1998-12-06  Marius Vollmer  <mvo@zagadka.ping.de>
2066
2067         * gtk/gtksignal.c (gtk_signal_newv): Allow a NULL marshaller.
2068         (gtk_signal_connect_by_type): Allow only no_marshal handlers to
2069         connect to signals with a NULL marshaller.
2070
2071         * gtk/gtktypeutils.c (gtk_type_get_info): New.
2072         gtk/gtktypeutils.h (gtk_type_get_info): New prototype.
2073
2074 Sun Dec  6 14:27:35 1998  Stefan Jeske  <stefan@gtk.org>
2075
2076         * gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out
2077         arrows if wrap == FALSE and interval borders are reached.
2078
2079 Sat Dec  5 21:07:09 1998  Owen Taylor  <otaylor@gtk.org>
2080
2081         * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
2082         long-standing typo in aspect ratio computation code.
2083         (pointed out by Sebastian Rittau <srittau@jroger.in-berlin.de>)
2084
2085 Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>
2086
2087         * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
2088         valid row numbers only
2089         (toggle_row): check if clist_row != NULL
2090
2091 Fri Dec  4 00:50:12 1998  Lars Hamann  <lars@gtk.org>
2092
2093         * gtk/gtkctree.c (gtk_ctree_export_to_gnode): fixed for-loop.
2094
2095         * gtk/gtkclist.c 
2096         (gtk_clist_set_column_visibility)
2097         (gtk_clist_column_titles_active)
2098         (gtk_clist_column_titles_active)
2099         (gtk_clist_column_title_passive)
2100         (gtk_clist_column_title_active): few additional tests whether
2101         column->button != NULL
2102
2103 Thu Dec  3 16:49:18 1998  Owen Taylor  <otaylor@redhat.com>
2104
2105         * gtk/gtkdnd.c (DROP_ABORT_TIME): Changed to 5 min
2106         from 10 seconds, so it doesn't abort while users
2107         have an ACTION_ASK menu up.
2108
2109         * gtk/gtkdnd.c: Hide the icon window between sending a a 
2110         drop event to the destination and displaying the
2111         snapback animation, so that it doesn't hang around
2112         during ACTION_ASK.
2113
2114 Thu Dec  3 16:37:42 1998  Owen Taylor  <otaylor@redhat.com>
2115
2116         * gtk/gtkclist.c (get_cell_style): Use GTK_STATE_INSENSITIVE
2117         for the foreground of cells for CLists in the insensitive
2118         state, instead of GTK_STATE_PRELIGHT.
2119
2120 Thu Dec  3 06:20:59 1998  Tim Janik  <timj@gtk.org>
2121
2122         * gtk/gtkwindow.c: moved checks upon focus setting from
2123         gtk_window_real_set_focus to gtk_window_set_focus, so we don't
2124         emit the signal if unneccessary.
2125
2126         * gtk/gtkwidget.c (gtk_widget_grab_focus): clear up the old focus
2127         containers when grabbing focus on a new widget. this is based on
2128         a patch from Alexis Mikhailov, submitted to gtk-list on 4 Nov 1998.
2129
2130         * gtk/gtkclist.c (gtk_clist_focus_out): set CLIST_CHILD_HAS_FOCUS
2131         flag, so we take the buttons into consideration upon the next focus
2132         request.
2133
2134         * gtk/gtkcontainer.c (gtk_container_set_focus_child): fixed an
2135         assertment.
2136
2137 Wed Dec  2 17:45:21 CST 1998 Shawn T. Amundson <amundson@gtk.org>
2138
2139         * gtk/gtkpixmap.c: Fixes for low-color displays and a slight
2140           enhancement for true-color displays.
2141
2142         * INSTALL:
2143           README:
2144           configure.in:
2145           gtk+.spec:
2146           docs/gtk-config.1: up to version 1.1.6
2147
2148 Wed Dec  2 01:36:49 PST 1998 Manish Singh <yosh@gimp.org>
2149
2150         * gtk/gtkfeatures.h.in: lets #define GTK_HAVE_FEATURES_1_1_6 before
2151         we release it this time
2152
2153 Wed Dec  2 01:39:02 1998  Tim Janik  <timj@gtk.org>
2154
2155         * gtk/gtknotebook.h: 
2156         * gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
2157
2158         * incremented version number to 1.1.6 and made Gtk
2159         dependant on GLib 1.1.6.
2160
2161         * gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
2162         from guint16 to gint16, since sizes bigger than 32767 are not supported
2163         anyways, and aritmethics with intermediate negative values are possible
2164         now.
2165
2166 Tue Dec  1 00:00:04 1998  Tim Janik  <timj@gtk.org>
2167
2168         * gtk/gtkscrolledwindow.c:
2169         implementation of GTK_POLICY_NEVER functionality, added rationales
2170         on the policy and size requisition handling at the top.
2171         (gtk_scrolled_window_size_request):
2172         we assume a default minimum for our child's width and height
2173         if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
2174         specified the dimension explicitely.
2175         (gtk_scrolled_window_size_allocate): 
2176         do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
2177
2178         * gtk/gtkviewport.c (gtk_viewport_size_request): report the real
2179         size we require (including the child).
2180
2181         * gtk/gtkclist.c:
2182         (gtk_clist_size_request): report the real size required.
2183
2184         * gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
2185
2186         * gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
2187         need to be a static variable.
2188
2189 Mon Nov 30 22:41:25 1998  Tim Janik  <timj@gtk.org>
2190
2191         * gtk/gtkclist.h: 
2192         * gtk/gtkclist.c: 
2193         * gtk/gtkviewport.h:
2194         * gtk/gtkviewport.c:
2195         * gtk/gtktext.h:
2196         * gtk/gtktext.c:
2197         * gtk/gtklayout.h:
2198         * gtk/gtklayout.c:
2199         * gtk/gtkwidget.h:
2200         * gtk/gtkwidget.c:
2201         * gtk/gtkscrolledwindow.h:
2202         * gtk/gtkscrolledwindow.c:
2203         s/scroll_adjustements/scroll_adjustments/
2204         s/scroll_adjustments/set_scroll_adjustments/g
2205
2206 Tue Dec  1 22:45:58 1998  Lars Hamann  <lars@gtk.org>
2207
2208         * gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
2209         row_move.
2210         * gtk/gtkclist.c (gtk_clist_row_move): new public function.
2211         emit a row_move signal
2212         (real_row_move): move source_row to dest_row
2213         (gtk_clist_swap_rows): use gtk_clist_row_move calls.
2214         (gtk_clist_columns_autosize): resize all columns to their optimal
2215         width
2216         * gtk/gtkctree.c (real_row_move): use gtk_ctree_move to move
2217         entire sub-tree.
2218         * gtk/gtknotebook.c (gtk_notebook_nth_page): get nth page widget.
2219
2220 Tue Dec  1 02:40:22 PST 1998 Manish Singh <yosh@gimp.org>
2221
2222         * configure.in
2223         * gdk/Makefile.am
2224         * gtk/Makefile.am: Put -DFOO stuff into Makefile.am INCLUDES.
2225         Separate vars for each, for granularity.
2226
2227 Tue Dec  1 02:19:54 1998  Tim Janik  <timj@gtk.org>
2228
2229         * gtk/gtkenums.h: fixed a stupid error of mine about the run type
2230         values.
2231
2232 1998-11-30  Elliot Lee  <sopwith@cuc.ml.org>
2233
2234         * {gdk,gtk}/*.c: Make read-only data structures "static const" to
2235         allow them to be shared, mainly including (but not limited to) the
2236         GtkTypeInfo structures for each class.
2237
2238         * gtk/gtkfilesel.c: Add /net to the "leave me alone" directory listing.
2239
2240 Mon Nov 30 12:17:10 1998  Jeff Garzik  <jgarzik@pobox.com>
2241
2242         * gtk/gtksignal.c:
2243         Surround debug variable with #ifdef to silence gcc.
2244
2245         * gtk/gtknotebook.c (gtk_notebook_reorder_child):
2246         Added initializer to quiet gcc warning.
2247         Added assertion to check for null pointer deref.
2248
2249 Mon Nov 30 10:11:29 1998  Tim Janik  <timj@gtk.org>
2250
2251         * gtk/testgtkrc: merged testgtkrc with the pre-themes one, removed
2252         system specific includes.
2253
2254         * gtk/gtksignal.c: asured that stop and restart emissions are also
2255         checked and processed for not connected objects. fixed up restart
2256         emission administration. invoke emission hooks after emission, hooks
2257         are not supposed to muck around with the current emission, and
2258         may also not cause emission restarts. fixed up stop emission
2259         administration.
2260
2261 Mon Nov 30 06:20:36 1998  Tim Janik  <timj@gtk.org>
2262
2263         * gtk/testgtk.c: added an event watcher for enter/leave based on
2264         signal emission hooks.
2265
2266         * gtk/gtkobject.c (gtk_object_class_init): made GtkObject::destroy a
2267         GTK_RUN_NO_HOOKS signal.
2268
2269         * gtk/gtksignal.h: 
2270         * gtk/gtksignal.c: implemented emission hooks, new hooks can be added
2271         to a signal with gtk_signal_add_emission_hook or
2272         gtk_signal_add_emission_hook_full, and can be removed again with
2273         gtk_signal_remove_emission_hook.
2274
2275         * gtk/gtkenums.h: remove GTK_RUN_MASK, since it doesn't represent
2276         an appropriate mask for signal runtypes for a long time now.
2277         added GTK_RUN_NO_HOOKS value, which is used to flag signals
2278         that do not allow the running of signal hooks.
2279
2280 1998-11-26  Michael Krause  <m.krause@tu-harburg.de>
2281
2282         * gtk/gtknotebook.c (gtk_notebook_switch_page): made 'page_num'
2283         argument a gint: switch_page signal delivers valid page numbers
2284         again.
2285
2286 Sun Nov 29 06:12:01 1998  Tim Janik  <timj@gtk.org>
2287
2288         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_[hv]adjustment): 
2289         set composite names.
2290
2291         * gtk/gtktypeutils.c (gtk_type_unique): removed default initialization
2292         check, people must use gtk_type_init().
2293         fixed up type allocation for foreign fundamentals.
2294
2295         * gtk/gtkwidget.h: 
2296         * gtk/gtkwidget.c: added gtk_widget_set_composite_name() which is meant
2297         for internal use by containers, that want to assign specific composite
2298         names to their composite children.
2299         added gtk_widget_get_composite_name() which will return a newly
2300         allocated string, containing the composite name of a widget. valid
2301         composite names can only be retrived from widgets that have a parent
2302         assigned and are flagged as GTK_COMPOSITE_CHILD.
2303
2304         * gtk/gtkcontainer.h:
2305         * gtk/gtkcontainer.c: added a new function
2306         gtk_container_child_default_composite_name() which will return a
2307         newly allocated string, holding the composite name of a containers
2308         child. a default implementation is provided which will compose the
2309         composite name out of the widgets type and its sequential children
2310         id. this implementation can be overidden through a new class function
2311         *(composite_name)().
2312
2313 Sat Nov 28 10:57:59 1998  Owen Taylor  <otaylor@redhat.com>
2314
2315         * gtk/gtkwindow.c (gtk_window_expose_event): Removed bogus
2316         expose_event handler - we had two expose_event
2317         handlers!
2318
2319 Sat Nov 28 03:13:42 1998  Tim Janik  <timj@gtk.org>
2320
2321         * gtk/gtkscrolledwindow.h: 
2322         * gtk/gtkscrolledwindow.c: changed scrolled window inheritance,
2323         it inherits from GtkBin now.
2324
2325         * gtk/gtkbin.c (gtk_bin_unmap): removed superfluous check for
2326         visibility of child.
2327         (gtk_bin_draw): removed superfluous check for GTK_WIDGET_DRAWABLE().
2328         added check so a child gets only drawn if it's visible.
2329
2330         * gtk/gtkwidget.h: 
2331         * gtk/gtkwidget.c: removed gtk_widget_draw_children().
2332
2333         * gtk/gtkstyle.h: 
2334         * gtk/gtkstyle.c: rmoved gtk_reset_widget_shapes.
2335
2336         * gtk/gtkwidget.h: 
2337         * gtk/gtkwidget.c: removed crufty relict: gtk_widget_is_child().
2338         added internal function gtk_widget_reset_shapes() from gtkstyle.c.
2339
2340         * gtk/gtkrc.h:
2341         * gtk/gtkrc.c: (gtk_rc_find_pixmap_in_path): removed bogus gscanner
2342         argument, changed callers.
2343
2344         * gtk/gtkmenufactory.c: GtkMenuFactory is deprecated for a long time,
2345         it will issue a warning now.
2346
2347         * gtk/gtkcompat.h: new file to #define aliases for historic
2348         function names.
2349
2350         * changed 8 function names for consistency and provided aliases to keep
2351         source compatibility in gtkcompat.h:
2352         (gtk_accel_label_get_accel_width): renamed from gtk_accel_label_accelerator_width
2353         (gtk_container_set_border_width): renamed from gtk_container_border_width
2354         (gtk_notebook_get_current_page): renamed from gtk_notebook_current_page
2355         (gtk_packer_configure): renamed from gtk_packer_set_child_packing
2356         (gtk_paned_set_gutter_size): renamed from gtk_paned_gutter_size
2357         (gtk_paned_set_handle_size): renamed from gtk_paned_handle_size
2358         (gtk_scale_get_value_width): renamed from gtk_scale_value_width
2359         (gtk_window_set_position): renamed from gtk_window_position
2360
2361         * renamed a few recently added funtions for consistency:
2362         (gtk_notebook_get_tab_label): renamed from gtk_notebook_query_tab_label.
2363         (gtk_notebook_get_menu_label): renamed from gtk_notebook_query_menu_label.
2364         (gtk_progress_configure): renamed from gtk_progress_reconfigure.
2365
2366 Fri Nov 27 18:57:20 PST 1998 Manish Singh <yosh@gimp.org>
2367
2368         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
2369         check for existing viewport first, and don't add one if there
2370         already is one
2371
2372 Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
2373
2374         * gtk/gtkwidget.h: 
2375         * gtk/gtkwidget.c: deprecated gtk_widget_freeze_accelerators and
2376         gtk_widget_thaw_accelerators, we provide gtk_widget_lock_accelerators
2377         and gtk_widget_unlock_accelerators.
2378
2379         * gtk/gtklayout.h:
2380         * gtk/gtklayout.c: implemented incremental freezing facility.
2381
2382         * gtk/gtktext.h: 
2383         * gtk/gtktext.c: implemented incremental freezing facility.
2384
2385         * gtk/gtkenums.h:
2386         * gtk/gtkaccelgroup.h: moved enum GtkAccelFlags into this place.
2387
2388         * gtk/gtkentry.h:
2389         * gtk/gtkentry.c:
2390         deprecated gtk_entry_adjust_scroll().
2391         
2392         * random GtkType, macro and indentation fixes.
2393
2394 Fri Nov 27 22:50:15 1998  Tim Janik  <timj@gtk.org>
2395
2396         * gtk/gtkclist.h: 
2397         * gtk/gtkclist.c: implemented incremental freezing facility, added
2398         a new class member (*refresh)() which takes over the thaw
2399         functionality. the clist FROZEN flag got removed on the way.
2400         * gtk/gtkctree.c: adaptions to feature the clist refresh functionality
2401         and incremental freezing.
2402
2403         * gtk/gtkcalendar.c: implemented incremental freezing facility.
2404
2405 Fri Nov 27 11:41:27 1998  Raph Levien  <raph@gimp.org>
2406
2407         * gdk/gdkinputcommon.h (gdk_input_common_init): Fixed it so that
2408         it still includes the core pointer in gdk_input_devices even
2409         if the XInput extension is not present in the X server.
2410
2411 Fri Nov 27 12:17:15 1998  Owen Taylor  <otaylor@redhat.com>
2412
2413         * gtk/gtkdnd.[ch] (gtk_drag_get_source_widget): New function to
2414         get the source widget of a drag.
2415
2416         * gtk/gtkdnd.[ch]: Target flags GTK_TARGET_SAME_[WIDGET/APP]
2417         to restrict certain targets to the same widget or to
2418         the same application.
2419
2420         * gtk/testdnd.c: Test gtk_drag_get_source_widget().
2421         
2422 Thu Nov 26 19:11:46 1998  Lars Hamann  <lars@gtk.org>
2423
2424         * gtk/gtk-boxed.defs (GtkCTreeNode): define GtkCTreeNode as boxed type
2425         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_CTREE_NODE_TYPE
2426         instead of GTK_TYPE_POINTER in signal definitions.
2427         (patch from James Henstridge <james@daa.com.au>)
2428
2429 Thu Nov 26 18:48:44 1998  Lars Hamann  <lars@gtk.org>
2430
2431         * gtk/gtkclist.c (set_cell_contents)
2432         * gtk/gtkctree.c (set_cell_contents): call column_auto_resize only
2433         if auto.resize == TRUE
2434
2435         * gtk/gtknotebook.c (gtk_notebook_set_shape) (gtk_notebook_expose):
2436         don't draw tab, if show_tabs == FALSE
2437         (bug reports from Alexis Mikhailov / Dave Cole)
2438         (gtk_notebook_focus_changed) (gtk_notebook_draw_focus): draw only
2439         the focus rectangle, not the hole tab.
2440
2441 Thu Nov 26 03:18:08 1998  Tim Janik  <timj@gtk.org>
2442
2443         * gtk/gtkclist.h: 
2444         * gtk/gtkctree.h: 
2445         * gtk/gtkclist.c:
2446         * gtk/gtkctree.c: reverted bogus and undocumented!!! changes from
2447         Jay Cox (98/11/23 13:53:26) which `const' qualified char* arrays.
2448
2449         * gtk/maketypes.awk: changed underline substitution, so we get
2450         GTK_TYPE_CTREE_POS instead of the broken GTK_TYPE_C_TREE_POS.
2451         * gtk/makeenums.pl: likewise.
2452         * gtk/gtkctree.c: adapted type names accordingly.
2453
2454 Tue Nov 24 11:31:06 1998  Owen Taylor  <otaylor@redhat.com>
2455
2456         * docs/Changes-1.2.txt: Edited section on the ScrolledWindow.
2457
2458         * gtk/gtklayout.c (gtk_layout_set_[hv]adjustment): Remove
2459         some code duplication.
2460
2461         * gtk/gtklayout.[ch] Fixed mapping and unmapping of child windows
2462         and child widgets when scrolling greater than 32k pixels.
2463
2464         * testgtk.c: Modified layout test to test scrolling over 
2465         long distances.
2466
2467         * gtk/gtkplug.c: Added a few blank lines.
2468
2469 Tue Nov 24 11:11:05 1998  Owen Taylor  <otaylor@redhat.com>
2470
2471         * gtk/gtklayout.[ch]: Fixed up copyright message.
2472
2473         * gdk/gdkrgb.c (DM): Make the dither matrix constant
2474         so it can be shared.
2475
2476         * gtk/gtkdnd.c: Make cursor bitmaps const.
2477
2478         * gdk/gdk.h gdk/gdkpixmap.c: Added const to 
2479         gdk_pixmap/bitmap_create_from_data.
2480
2481 Tue Nov 24 07:46:09 1998  Tim Janik  <timj@gtk.org>
2482
2483         * docs/Changes-1.2.txt: added a section on scrolled windows and
2484         scrollable widgets.
2485
2486 1998-11-24  Andrew T. Veliath  <andrewtv@usa.net>
2487
2488         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Include radio
2489         buttons when setting relief for button items.
2490         (gtk_toolbar_set_button_relief): Same.
2491
2492 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
2493
2494         * gdk/Makefile.am, gtk/Makefile.am:
2495         Removed DEFS "+=" mess that breaks recent automakes.
2496         INCLUDES is the correct way to add to CFLAGS from Makefile.am.
2497
2498         * gdk/gdk.c, gdk/gdkglobals.c, gdk/gdkimage.c, gdk/gdkinput.c,
2499         gdk/gdkpixmap.c, gdk/gdkthreads.c, gdk/gdkwindow.c,
2500         gdk/gxid_lib.c, gtk/fnmatch.c, gtk/gtkclist.c, gtk/gtkmain.c,
2501         gtk/testthreads.c:
2502         Include "config.h" instead of "../config.h".
2503         Now that DEFS works again, automake will automatically pass us
2504         the location of config.h in -I.
2505
2506 Mon Nov 23 22:10:09 1998  Owen Taylor  <otaylor@redhat.com>
2507
2508         * gtk/Makefile.am gtk/gtk.h gtk/gtklayout.[ch]
2509         gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/gtk.h:
2510
2511         Added layout widget for scrolling arbitrarily big areas.
2512         Added plug/socket widgets for interprocess embedding.
2513
2514         These widgets still, at some point, need to be
2515         made more pure in their use of GDK, as opposed
2516         to raw X.
2517
2518         * gtk/testgtk.c: Added test for layout widget.
2519         
2520 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
2521
2522         * gtk/gtkclist.c: (gtk_clist_swap_rows):  Bugfix from
2523         Brandon Long <blong@fiction.net> - do the right thing with first
2524         and last, which are the absolute values of row arguments row1
2525         and row2.
2526
2527 Mon Nov 23 04:24:55 PST 1998 Manish Singh <yosh@gimp.org>
2528
2529         * gtk/gtkprogress.c: (gtk_progress_set_adjustment): make a saner
2530         default adjustment (from 0 to 100) instead. I'm not sure if this
2531         is the correct level for the fix, but gtk_progress_bar_new()'s
2532         original default behavior is restored.
2533
2534 1998-11-23  Martin Baulig  <martin@home-of-linux.org>
2535
2536         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_5): Define this so
2537         we can check for latest GTK features.
2538
2539 1998-11-23  Havoc Pennington  <hp@pobox.com>
2540
2541         * gtk/gtktoolbar.c: (gtk_toolbar_set_relief):
2542         (gtk_toolbar_insert_element): When setting relief, also affect
2543         toggle buttons.
2544
2545 Sun Nov 22 20:37:06 PST 1998 Manish Singh <yosh@gimp.org>
2546
2547         * gtk/gtkobject.h: remove extraneous comma
2548
2549 Mon Nov 23 05:21:50 1998  Tim Janik  <timj@gtk.org>
2550
2551         * gtk/gtkcontainer.c:
2552         (gtk_container_add_with_args): 
2553         (gtk_container_addv): 
2554         (gtk_container_add): removed assertements for constructed containers
2555         again, since this essentially breaks the "child" arg.
2556
2557         * gtk/gtktooltips.c (gtk_tooltips_force_window): fixup the draw_window
2558         reference count, we don't need to reference toplevels that already have
2559         destroy notifiers.
2560
2561         * gtk/gtkscrolledwindow.c: check for the composites existance in
2562         _forall since we might not be already constructed.
2563
2564 Sun Nov 22 14:34:58 CST 1998 Shawn T. Amundson <amundson@gtk.org>
2565
2566         * Released GTK+ 1.1.5
2567
2568         * configure.in: require GLib 1.1.5
2569
2570 Mon Nov 23 03:21:17 1998  Tim Janik  <timj@gtk.org>
2571
2572         * gtk/gtktext.c (gtk_text_destroy): disconnect hadj & vadj, not
2573         2 * hadj.
2574         (gtk_text_finalize): only unref the current_font if we have
2575         been realized.
2576
2577 Sat Nov 21 18:41:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
2578
2579         * configure.in:
2580           INSTALL:
2581           NEWS:
2582           README:
2583           gtk+.spec:
2584           docs/gtk-config.1: Version incremented to 1.1.5
2585
2586 Sun Nov 22 16:21:28 1998  Tim Janik  <timj@gtk.org>
2587
2588         * gtk/gtkprogress.c: added args ::show_text, ::text_xalign,
2589         ::text_yalign, ::activity_mode.
2590
2591         * gtk/gtkprogressbar.c: added construct arg ::adjustment. added args
2592         ::bar_style, ::orientation, ::discrete_blocks, ::activity_step,
2593         ::activity_blocks.
2594         (gtk_progress_bar_new):
2595         (gtk_progress_bar_new_with_adjustment): use gtk_widget_new().
2596         (gtk_progress_bar_construct): deprecated.
2597
2598         * gtk/gtkvscrollbar.c:
2599         (gtk_vscrollbar_draw_step_back): 
2600         (gtk_vscrollbar_draw_step_forw): use "vscrollbar" as detail for
2601         gtk_paint_arrow, to be consistent with hscrollbar.
2602
2603         * gtk/gtktext.c
2604         added construct args ::hadjustment, ::vadjustment.
2605         added args ::line_wrap, ::word_wrap.
2606         (gtk_text_class_init): added scroll_adjustments signal.
2607         (gtk_text_new): use gtk_widget_new.
2608         (gtk_text_disconnect): remove adjustement with gtk_text_set_adjustments,
2609         so we don't screw the reference counts and don't leave signals connected.
2610         (gtk_text_destroy): disconnect adjustments signals.
2611         (gtk_text_finalize): unref adjustments.
2612
2613         * gtk/gtkctree.c: added construct args ::n_columns and ::tree_column.
2614         added args ::indent, ::spacing, ::show_stub, ::reorderable,
2615         ::use_drag_icons, ::line_style and ::expander_style.
2616         (gtk_ctree_set_show_stub): renamed from gtk_ctree_show_stub, which is
2617         deprecated now.
2618
2619         * gtk/gtkclist.h: remove GTK_CLIST_CONSTRUCT flag.
2620         * gtk/gtkclist.c:
2621         removed ::vadjustment and ::hadjustment args, introduced
2622         ::scroll_adjustments signal.
2623         added ::shadow_type, ::selection_mode and ::row_height args.
2624         added n_columns construct arg.
2625         (gtk_clist_construct): call gtk_object_constructed().
2626         (gtk_clist_set_row_height): if height is passed as 0,
2627         revert to automatic height calculation.
2628         (gtk_clist_destroy): before unrefing the adjustments, disconnect our
2629         signal handlers.
2630
2631 Fri Nov 21 22:34:58 1998  Tim Janik  <timj@gtk.org>
2632
2633         * gtk/gtkwidget.c (gtk_widget_new): call gtk_object_default_construct
2634         like gtk_object_new.
2635         (gtk_widget_destroy): assert that we only destroy constructed widgets.
2636
2637         * gtk/gtkobject.h (enum GtkArgFlags): new flag GTK_ARG_CONSTRUCT_ONLY
2638         to identify args that may only be used for construction.
2639         GTK_ARG_CONSTRUCT maybe used as normal arguments besides construction
2640         time.
2641         * gtk/gtkobject.c (gtk_object_new): invoke gtk_object_default_construct
2642         at the end if the object is not fully constructed.
2643         (gtk_object_newv): likewise.
2644         (gtk_object_destroy): assert that we only destroy constructed objects.
2645         (gtk_object_init): setup GTK_CONSTRUCTED from the
2646         objects real klass.
2647         (gtk_object_default_construct): new function to complete default
2648         construction of an object by applying missing construtor args with
2649         default values of 0, 0.0 or NULL.
2650         (gtk_object_constructed): new function to mark an object as being
2651         constructed (used from within constructors).
2652
2653         * gtk/gtkarg.c (gtk_arg_type_new_static): return the args info pointer
2654         so it is immediatedly available for the caller.
2655
2656         * gtk/gtktypeutils.c (gtk_type_new): pass an object's real class to
2657         the object initilizer (GtkObjectInitFunc takes a second arg now, the
2658         real klass), and asure that object initializers may temporarily alter
2659         the class pointer.
2660
2661 Fri Nov 20 08:00:30 1998  Tim Janik  <timj@gtk.org>
2662
2663         * gtk/testgtk.c: change all occourances of gtk_container_add (
2664         scrolled_window, widget) to gtk_scrolled_window_add_with_viewport (...)
2665         for widget!=(clist, ctree, text, viewport).
2666
2667         * gtk/gtkcombo.c:
2668         (gtk_combo_init): use gtk_scrolled_window_add_with_viewport()
2669         to add children to the scrolled window.
2670
2671         * gtk/gtkscrolledwindow.h:
2672         * gtk/gtkscrolledwindow.c:
2673         changed scrolled_window->viewport to scrolled_window->child, and use
2674         gtk_widget_scroll_adjustements() to set the scroll adjustments for the
2675         widget, we do not create an additional viewport anymore.
2676         added ::hadjustment and ::vadjustment constructor args.
2677         (gtk_scrolled_window_new): use gtk_widget_new() to create the widget.
2678         (gtk_scrolled_window_set_hadjustment):
2679         (gtk_scrolled_window_set_vadjustment): new functions that superceed
2680         gtk_scrolled_window_construct.
2681         (gtk_scrolled_window_construct): deprecated this function.
2682         
2683         * gtk/gtkhscrollbar.c:
2684         * gtk/gtkvscrollbar.c:
2685         * gtk/gtkhscale.c:
2686         * gtk/gtkvscale.c:
2687         support a constructor arg "::adjustment", and use gtk_widget_new() for
2688         the widget creation.
2689
2690         * gtk/gtkrange.c: added ::update_policy arg.
2691         (gtk_range_set_adjustment): if adjustment is passed in as NULL, create
2692         a default adjustment so this function can be used for derived widgets
2693         that depend on the adjustment's existance.
2694         (gtk_range_destroy): disconnect the adjustment signal, so we don't
2695         get called after we got destroyed, we don't destroy the adjustment
2696         in here, because it might have been provided from another widget.
2697
2698         * gtk/gtkviewport.c: introduced ::scroll_adjustments signal.
2699         (gtk_viewport_destroy): same as gtk_range_destroy.
2700
2701         * gtk/gtkprogress.c (gtk_progress_destroy): same as gtk_range_destroy.
2702
2703         * gtk/gtkwidget.h: 
2704         * gtk/gtkwidget.c: changed gtk_widget_activate() to return a
2705         gboolean, indicating whether this widget supports activation.
2706         added gtk_widget_scroll_adjustements() to set the scrolling
2707         adjustments of a widget.
2708
2709 Wed Nov 19 01:22:42 1998  Tim Janik  <timj@gtk.org>
2710
2711         * gtk/gtkoptionmenu.c:
2712         (gtk_option_menu_remove_contents):
2713         (gtk_option_menu_update_contents): removed
2714         gtk_container_[un]block_resize() pairs.
2715
2716         * gtk/gtknotebook.h: 
2717         * gtk/gtknotebook.c: removed the tab_border field, since it shouldn't
2718         be used outside of gtknotebook.c anyways. made ARG_TAB_BORDER a
2719         wrtie-only argument.
2720
2721         * *.c: made deprecated functions issue a message:
2722         gtk_clist_set_border, gtk_container_block_resize,
2723         gtk_container_unblock_resize, gtk_container_need_resize,
2724         gtk_object_class_add_user_signal, gtk_spin_button_construct,
2725         gtk_scrolled_window_construct.
2726         removed non-functional functions:
2727         gtk_container_disable_resize, gtk_container_enable_resize,
2728         gtk_clist_set_policy.
2729
2730 Wed Nov 18 22:54:36 1998  Tim Janik  <timj@gtk.org>
2731
2732         * gtk/gtkbox.c (gtk_box_init): 
2733         * gtk/gtkdrawingarea.c (gtk_drawing_area_init): 
2734         * gtk/gtkeventbox.c (gtk_event_box_init): 
2735         * gtk/gtkfixed.c (gtk_fixed_init): 
2736         * gtk/gtkframe.c (gtk_frame_init): 
2737         * gtk/gtkhandlebox.c (gtk_handle_box_init): 
2738         * gtk/gtkpacker.c (gtk_packer_init): 
2739         * gtk/gtkmisc.c (gtk_misc_init): 
2740         * gtk/gtkpreview.c (gtk_preview_init): 
2741         * gtk/gtkprogress.c (gtk_progress_init): 
2742         * gtk/gtkprogressbar.c (gtk_progress_bar_init): 
2743         * gtk/gtkseparator.c (gtk_separator_init): 
2744         * gtk/gtktable.c (gtk_table_init): 
2745         * gtk/gtkviewport.c (gtk_viewport_init): 
2746         * gtk/gtkalignment.c (gtk_alignment_init): 
2747         removed setting of the GTK_BASIC flag.
2748
2749         * gtk/gtkwidget.h:
2750         * gtk/gtkwidget.c:
2751         removed GTK_BASIC, GTK_WIDGET_BASIC and gtk_widget_basic.
2752
2753         * miscellaneous GtkType and macro fixups.
2754
2755 Sat Nov 21 18:53:13 1998  Owen Taylor  <otaylor@redhat.com>
2756
2757         * gdk/gdkwindow.c (gdk_window_get_deskrelative_origin): 
2758         Fixed so it at least works with window managers other
2759         than Enlightenment, though it probably needs to be
2760         removed altogether.
2761
2762 1998-11-21  Andrew T. Veliath  <andrewtv@usa.net>
2763
2764         * gtk/gtkhandlebox.[ch]: Add shadow_type and
2765         gtk_handle_box_set_shadow_type function (plus a
2766         GtkHandleBox::shadow arg) to allow configuration of shadow in the
2767         bin window.
2768
2769 Thu Nov 19 23:47:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
2770
2771         * gtk/gtkcalendar.c: Fix for marking days from 
2772           Dan Reish <dreish@izzy.net>.
2773
2774 Thu Nov 19 00:15:27 1998  Lars Hamann  <lars@gtk.org>
2775
2776         * gtk/gtkctree.c (gtk_ctree_node_nth): return the nth GtkCTreeNode
2777         in row_list. (from Samuel Solon <ssolon@usa.net>)
2778         
2779         * gtk/gtkclist.c (gtk_clist_get_column_title): return column title
2780         (gtk_clist_get_column_widget): return column widget
2781
2782 Wed Nov 18 11:54:57 1998  Owen Taylor  <otaylor@redhat.com>
2783
2784         * gtk/gtkdnd.c (gtk_drag_find_widget): Accept drops
2785         that are sent to a toplevel but are not within the
2786         toplevels bounds.
2787
2788         * gdk/gdkdnd.c gdk/gdk.h: Added support for a
2789         XdndProxy atom which proxies the drag to another window.
2790
2791 1998-11-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2792
2793         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, now
2794         that it is not needed.
2795
2796 Tue Nov 17 1998 The Rasterman <raster@redhat.com>
2797         * gdk/gdk.h, gdk/gdkwindow.c: Added gdk_window_get_deskrelative_origin
2798           function to correctly determine gdk window position relative to
2799           its "root window" - contains check for an Enlightenment
2800           virtual root window.
2801         * gtk/gtkhandlebox.c: changed gdk_window_get_origin ->
2802           gdk_window_get_deskrelative_origin to get the origin of dragged
2803           handleboxes correctly. Now it works correctly with E.
2804           
2805 Tue Nov 17 1998  Tuomas Lukka <lukka@iki.fi>
2806
2807         * gtk/gtktypeutils.c: Fix vital bug where LOOKUP was used when
2808           getting types even though we were not using real type names,
2809           just the index.  This caused random crashes when more than 
2810           256 types were defined.
2811
2812 1998-11-17  Martin Baulig  <martin@home-of-linux.org>
2813
2814         * gtk/genmarshal.pl: Put output files in the current directory
2815         and not in the $(srcdir) since the VPATH is ignored for built
2816         sources.
2817
2818 Tue Nov 17 01:37:53 PST 1998 Manish Singh <yosh@gimp.org>
2819
2820         * gtk/genmarshal.pl
2821         * gtk/Makefile.am: check for unchanged autogenerated files, so
2822         we don't rebuild everything just for adding a new function
2823
2824 Mon Nov 16 19:19:00 CST 1998 Shawn T. Amundson <amundson@gtk.org>
2825
2826         * gtk/gtkpixmap.h
2827           gtk/gtkpixmap.c: Pixmaps now grey out when insensitive,
2828           code thanks to GNOME stock by Eckehard Berns.  New function
2829           gtk_pixmap_set_build_insensitive to provide ability to turn 
2830           this off.
2831
2832 Tue Nov 17 00:06:29 1998  Lars Hamann  <lars@gtk.org>
2833
2834         * gtk/gtknotebook.h (struct _GtkNotebook): new flags : homogeneous;
2835         new guints : tab_hborder, tab_vborder; marked tab_border deprecated
2836         (struct _GtkNotebookPage): new flags : expand, fill, pack
2837
2838         * gtk/gtknotebook.h/c
2839         (gtk_notebook_set_homogeneous_tabs): new function. set homogeneneous
2840         tabs
2841         (gtk_notebook_set_tab_border): set tab_h/vborder to tab_border
2842         (gtk_notebook_set_tab_hborder): new function. set tab_hborder
2843         (gtk_notebook_set_tab_vborder): new function. set tab_vborder
2844         (gtk_notebook_query_tab_label): new function. get tab_label widget.
2845         (gtk_notebook_set_tab_label): new function. set tab_label widget.
2846         (gtk_notebook_set_tab_label_text): new function. set tab_label text.
2847         (gtk_notebook_query_menu_label): new function. get tab_label widget.
2848         (gtk_notebook_set_menu_label): new function. set tab_label widget.
2849         (gtk_notebook_set_menu_label_text): new function. set tab_label text.
2850         (gtk_notebook_set_tab_label_packing): new function. set tab_label
2851         fill, expand, fill_type
2852         (gtk_notebook_query_tab_label_packing): new function. get tab_label
2853         fill, expand, fill_type
2854
2855         (gtk_notebook_real_page_position): return logic page number
2856         (gtk_notebook_search_page) search next/prev logic page
2857         (gtk_notebook_update_labels): set logic page number.
2858         (gtk_notebook_page_compare): renamed gtk_notebook_find_page
2859         (gtk_notebook_set/get_child_arg): new args CHILD_ARG_TAB_EXPAND,
2860         CHILD_ARG_TAB_FILL, CHILD_ARG_TAB_PACK
2861         (gtk_notebook_button_press) (gtk_notebook_key_press)
2862         (gtk_notebook_focus) (gtk_notebook_pages_allocate)
2863         (gtk_notebook_calc_tabs) (gtk_notebook_switch_focus_tab)
2864         use gtk_notebook_search_page
2865         (gtk_notebook_page_allocate): fixed allocation bug
2866         (gtk_notebook_set/get_arg): new args TAB_HBORDER, TAB_VBORDER.
2867         (gtk_notebook_init): unset GTK_NO_WINDOW flag
2868         (gtk_notebook_size_request): check whether page->child is visible.
2869         changes due to tab h/vborder, homogeneous tabs
2870         (gtk_notebook_paint): don't draw invisible tabs
2871         (gtk_notebook_switch_page): calculate page_num if it's less than 0
2872         (gtk_notebook_append_*) (gtk_notebook_prepend_*)
2873         (gtk_notebook_insert_page): removed sanity checks
2874
2875         * gtk/testgtk.c (create_notebook): extended Notebook sample a bit.
2876
2877 Mon Nov 16 15:10:33 1998  Owen Taylor  <otaylor@redhat.com>
2878
2879         * gtk/gtktext.c: Optimizations for [advance/decrement]_mark_n.
2880         (gtk-mailund-980718-0, Thomas Mailund Jensen <mailund@daimi.aau.dk>)
2881
2882         * gtk/gtkfixed.c: Removed gtk_fixed_umap, which was 
2883         broken. (GtkWidget's default unmap handler should work fine).
2884         Pointed out by Patrice Fortier <Patrice.Fortier@aquarel.fr>
2885
2886 Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org>
2887
2888         * gtk/gtkmenubar.[ch]: added shadow_type setting and
2889         gtk_menu_bar_set_shadow_type function to allow shadow
2890         configurability for menubars
2891
2892         * gtk/gtkviewport.h: use GtkShadowType enum instead of generic
2893         guint
2894
2895 Mon Nov 16 00:17:53 1998  Tim Janik  <timj@gtk.org>
2896
2897         * gtk/gtktypeutils.c (gtk_type_new): relookup type node after
2898         class creation and parent class' object initializer.
2899
2900 1998-11-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2901
2902         * gtk/gtkpaned.c (gtk_paned_realize): Destroy the cursor after we
2903         have assigned it to the window -- there is no point in keeping it around.
2904         (gtk_paned_unrealize): No need to destroy the cursor here.
2905
2906         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, as
2907         it is not needed.
2908
2909 Fri Nov 13 11:22:38 1998  Owen Taylor  <otaylor@redhat.com>
2910
2911         * gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new().
2912         (gtk-blizzard-981005-0. 
2913          Christopher Blizzard <blizzard@applied-theory.com)
2914
2915         * gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and
2916         gdk_pixmap_foreign_new to gdkx.h.
2917
2918 Fri Nov 13 16:06:48 1998  Owen Taylor  <otaylor@redhat.com>
2919
2920         * gtk/Makefile.am: Added rules to generate an empty
2921         GTK+ theme called "Default" upon installation.
2922         
2923         * gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance
2924         of fonts and fontsets. 
2925         (gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp)
2926
2927         * gtk/gtkmain.c: Change test to detect glibc's
2928         utf8 based mb* functions to be more specific.
2929
2930         * gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation 
2931         cleanups.
2932
2933 Fri Nov 13 16:43:36 1998  Lars Hamann  <lars@gtk.org>
2934
2935         * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
2936         show event_window
2937         (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
2938         event_window if draw_indicator is set
2939         (gtk_toggle_button_set_mode):
2940
2941 Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
2942
2943         * gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
2944         ensure proper type (SunPro cc complains)
2945
2946         * gtk/gtklist.c: removed bogus '*' from "*GTK_CONTAINER_CLASS"
2947
2948         * gtk/gtktogglebutton.c: use our own draw method so we get proper
2949         redraws on active state
2950
2951 Thu Nov 12 00:26:13 1998  Lars Hamann  <lars@gtk.org>
2952
2953         * gtk/gtkstyle.c (gtk_default_draw_box_gap): use GtkPositionType
2954         defines.
2955
2956         * gtk/gtknotebook.c (gtk_notebook_draw_tab): fixed gap_side for
2957         GTP_POS_RIGHT
2958
2959 Wed Nov 11 19:54:58 1998  Lars Hamann  <lars@gtk.org>
2960
2961         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init)
2962         (gtk_scrolled_window_set_arg) (gtk_scrolled_window_get_arg):
2963         added ARG_WINDOW_PLACEMENT
2964
2965         * gtk/gtkclist.c (size_allocate_columns): resize column if column
2966         button > column width and auto_resize is set
2967         (real_clear) (column_auto_resize) (gtk_clist_optimal_column_width):
2968         consider column button width of auto resized columns
2969         (gtk_clist_parent_set): removed 
2970
2971         * gtk/gtkctree.c (gtk_ctree_insert_node): call column_auto_resize.
2972         (auto_resize_columns): auto_resize all columns
2973         (real_tree_collapse) (gtk_ctree_remove_node): call auto_resize_columns
2974         (column_auto_resize): respect column button width of auto resized
2975         columns
2976
2977 1998-11-10  Martin Baulig  <baulig@merkur.uni-trier.de>
2978
2979         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_4): Define this so
2980         we can check for latest GTK features.
2981
2982 Mon Nov  9 00:39:20 1998  Lars Hamann  <lars@gtk.org>
2983
2984         * gtk/gtkenums.h : new enum GtkCornerType 
2985         * gtk/gtkscrolledwindow.h (struct _GtkScrolledWindow): added
2986         window_placement.
2987         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_placement): 
2988         new method to set window_placement.
2989         (gtk_scrolled_window_viewport_allocate)
2990         (gtk_scrolled_window_size_allocate): few changes due to
2991         window_placement.
2992         * gtk/testgtk.c (remove_selection): fixed while loop.
2993
2994 Sat Nov  7 21:55:00 PST 1998 Manish Singh <yosh@gimp.org>
2995
2996         * gtk/gtkclist.c: check if column[i].button is valid before calling
2997         gtk_widget_intersect on it in gtk_clist_draw
2998
2999         * gtk/gtkdnd.c: removed unused variable empty_bits
3000
3001         * gtk/gtkrc.c: we should use gslist_* functions with GSLists...
3002
3003         * gtk/gtktypeutils.[ch]: makes more send for gtk_type_is_a to return
3004         a boolean (thanks to Elrond for noticing this)
3005
3006 1998-11-07  Jay Cox  <jaycox@earthlink.net>
3007
3008         * gtk/gtkwindow.c: forward declaration for gtk_window_paint
3009         * gdk/gdkxid.c: declare xid_ht static
3010         * examples/*/Makefile: get the link ordering right.
3011
3012 Sat Nov  7 16:31:56 1998  Stefan Jeske  <stefan@gtk.org>
3013
3014         * gtk/gtkclist.c (gtk_clist_realize): Set background of
3015         title button window to GTK_STATE_NORMAL instead of
3016         GTK_STATE_SELECTED to avoid ugly flicker.
3017
3018 Fri Nov  6 23:29:40 1998  Lars Hamann  <lars@gtk.org>
3019
3020         * gtk/gtkclist.c (real_clear) (adjust_adjustments): resize clist
3021         if adjustments are NULL and list size has changed
3022         (gtk_clist_size_request): return real list requsition,
3023         if adjustments are NULL.
3024         (size_allocate_columns): use button->requisition.with, if column
3025         width is not set.
3026         (list_requisition_width): new function. return full list width.
3027         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): do not
3028         auto create adjustments.
3029         (gtk_clist_motion) (move_vertical) (move_horizontal):
3030         check adjustment != NULL.
3031
3032 Thu Nov  5 12:06:16 1998  Owen Taylor  <otaylor@redhat.com>
3033
3034         * gtk/gtkcheckbutton.c (gtk_check_button_draw_focus): Queue
3035         a clear/redraw, not just a redraw, so the focus
3036         gets undrawn properly.
3037
3038         * gtk/gtktogglebutton.c (gtk_toggle_button_unrealize): 
3039         Chain to gtk_widget_unrealize() instead of duplicating
3040         code.
3041
3042 Wed Nov  4 14:34:51 1998  Owen Taylor  <otaylor@redhat.com>
3043
3044         * gdk/gdk.c gdk/gdkprivate.h gdk/gdkwindow.c: Removed
3045         last vestiges of old DND.
3046
3047 Tue Nov  3 12:27:52 1998  Owen Taylor  <otaylor@redhat.com>
3048
3049         * gtk/gtkentry.c: Restored inner border to entries,
3050         erase cursors to background image.
3051
3052 Fri Oct 30 12:09:21 1998  Owen Taylor  <otaylor@redhat.com>
3053
3054         * gtk/gtkentry.c gtk/gtkstyle.[ch]: removed paint_entry() -
3055         it was identical to paint_flat_box().
3056
3057         * gtk/gtkstyle.c: Coding style fixups.
3058
3059         * gtk/gtkwindow.c (gtk_window_move_resize): removed useless
3060         test.
3061
3062         * gtk/gtkframe.c gtkstyle.[ch] gtknotebook.c: 
3063         Change 'side' for paint_[box/shadow]_gap and paint_extension
3064         to be GtkPositionType instead of a random int.
3065
3066         * gtk/gtkaspectframe.c (gtk_aspect_frame_paint): Use 
3067         "frame" as detail - an aspectframe should draw identical
3068         to a frame.
3069
3070 Tue Oct 27 09:58:11 1998  Owen Taylor  <otaylor@redhat.com>
3071
3072         * gdk/gdkwindow.c (gdk_window_merge_child_shapes): renamed
3073         from combine_child_shapes().
3074
3075         * gdk/gdkwindow.c: Merge propagate_shapes() and
3076         propagate_combine_shapes() to remove code duplication.
3077
3078 Thu Nov  5 14:31:57 PST 1998 Manish Singh <yosh@gimp.org>
3079
3080         * gdk/gdk.c: sometimes we get a KeyRelease before a KeyPress in
3081         gdk_event_translate, and the USE_XIM buffer isn't allocated yet.
3082         So allocate some mem if it's not already done.
3083
3084         * clist scrollbar merges from HEAD
3085
3086 Tue Nov  3 13:16:36 PST 1998 Manish Singh <yosh@gimp.org>
3087
3088         * gtk/Makefile.am: remove explict -ldl, gmodule takes care of that
3089
3090         * gtk/gtkdnd.c: start TARGET_MOTIF_SUCCESS from 0x40000000 instead
3091         of 0x80000000, so we stay within the bounds of a postive signed
3092         int (it broke some compilers)
3093
3094         * gtk/gtkmenushell.c
3095         * gtk/gtkoptionmenu.c: merges from HEAD to make option menus work
3096         when some of the menuitems are hidden
3097
3098         * gtk/gtkthemes.h: don't include dlfcn.h explictly, gmodule takes
3099         care of that
3100
3101         * gtk/gtkwidget.c: add a dummy continue after the line label
3102         next_rect, since some compilers don't like label: }
3103
3104 Sun Nov  1 20:05:55 PST 1998 Manish Singh <yosh@gimp.org>
3105
3106         * Okay, so we need the X11R6 keysyms so programs don't have to
3107         worry about them. They don't conflict anyway. Reverted the #ifdef
3108         changes to gtk/*.c
3109
3110         * gdk/Makefile.am: remove the BUILT_SOURCES rule, and make a
3111         special rule for them (X-derived-headers)
3112
3113 Sun Nov  1 05:30:32 PST 1998 Manish Singh <yosh@gimp.org>
3114
3115         * gdk/Makefile.am: changed the awk scripts to generate gdkcursors.h
3116         and gdkkeysyms.h into sed scripts, since the awk scripts weren't
3117         portable, and we really shouldn't be using awk anyway.
3118
3119         * makecursors.awk
3120         * makekeysyms.awk: bye bye
3121
3122         * gtk/gtkaccelgroup.c
3123         * gtk/gtkclist.c
3124         * gtk/gtknotebook.c
3125         * gtk/gtkwindow.c: don't use X11R6 keysyms if they aren't there
3126
3127 Sat Oct 31 15:22:14 PST 1998 Manish Singh <yosh@gimp.org>
3128
3129         * gdk/Makefile.am: do the same built sources trick for gdkcursors.h
3130         and gdkkeysyms.h. Remove those files from CVS.
3131
3132 Sat Oct 31 14:44:01 PST 1998 Manish Singh <yosh@gimp.org>
3133
3134         * gdk/gdk.c: move prototype of gdk_wm_protocols_filter outside
3135         of the USE_XIM #ifdef
3136
3137         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
3138         even with --include-deps. Slightly different from timj's fix, to avoid
3139         circular dependency with gtkmarshal.c
3140
3141         * autogen.sh
3142         * gtk/gtkclist.[ch]
3143         * gtk/gtkctree.c
3144         * gtk/gtkfontsel.[ch]
3145         * gtk/gtklist.c
3146         * gtk/gtklistitem.c
3147         * gtk/gtkobject.[ch]
3148         * gtk/testgtk.c: merges from HEAD
3149
3150         * gtk/gtkmenubar.c
3151         * gtk/gtkradiomenuitem.c
3152         * gtk/gtktreeitem.c: cleanups
3153
3154 Wed Oct 28 23:32:19 PST 1998 Manish Singh <yosh@gimp.org>
3155
3156         * gdk/gdkrgb.c: Oops. s/BIGENDIAN/BIG_ENDIAN/
3157
3158 Wed Oct 28 19:04:49 PST 1998 Manish Singh <yosh@gimp.org>
3159
3160         * configure.in: AIX has libpthreads, to make sure you can have
3161         more than one thread. Also add -D_THREAD_SAFE, and reorder
3162         configure.in so CFLAGS doesn't get clobbered when we actually
3163         want to modify it
3164
3165         * gdk/gdkimage.c: initialize the bpp and byte_order fields properly
3166         in gdk_image_get
3167
3168         * gtk/testdnd.c: removed unused variable "buf"
3169
3170 Mon Oct 26 16:46:15 1998  Owen Taylor  <otaylor@redhat.com>
3171
3172         * gtk/gtkcontainer.c (gtk_container_unregister_toplevel): 
3173         remove_link(), not remove()
3174
3175 Thu Oct 22 02:27:30 PDT 1998 Manish Singh <yosh@gimp.org>
3176
3177         * gdk/gdkrgb.c: use glib endian stuff
3178
3179         * configure.in: don't need to check for endianness anymore
3180
3181         * gtk/gtkstyle.h: removed #pragma }, causing a silly warning
3182
3183 Wed Oct 21 17:44:27 1998  Owen Taylor  <otaylor@redhat.com>
3184
3185         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Reset
3186         all toplevel widgets, not toplevel windows. (I.e.,
3187         plugs should be reset)
3188
3189         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Yes, we
3190         _do_ need to notify the other toplevels - by the time
3191         the get the client messages, the RC file dates will
3192         have been updated.
3193
3194         * gtk/gtkcontainer.h: Added a function call to list
3195         every toplevel widget.
3196
3197         * gdk/gdk.c (gdk_event_send_client_message_to_all_recurse): 
3198         Don't send client messages to _every_ window on display!
3199         
3200 Tue Oct 20 16:21:04 1998  Owen Taylor  <otaylor@redhat.com>
3201
3202         * gtk/gtkdnd.c (gtk_drag_source_event_cb): Don't start drags 
3203         when dragging across widgets, only in drags
3204         starting in widget.
3205
3206 Tue Oct 20 15:59:49 1998  Owen Taylor  <otaylor@redhat.com>
3207
3208         * gtk/gtkdnd.c (gtk_drag_source_info_destroy): 
3209         Emit "drag_end" signal at end of drag.
3210
3211 Tue Oct 20 13:07:54 1998  Owen Taylor  <otaylor@redhat.com>
3212
3213         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Look
3214         for "gtk-embedded" data currently set by 
3215         GtkSocket, and use that to forward client message
3216         on to embedded windows. Only reset our own toplevel -
3217         the others will handle themselves. (Now that
3218         GtkMenus live in GtkWindows)
3219
3220 Mon Oct 19 16:40:40 1998  Owen Taylor  <otaylor@redhat.com>
3221
3222         * gdk/gdkdnd.c (get_client_window_at_coords_recurse): Modify
3223         client window finding code so that it works with
3224         WM's other than fvwm.
3225  
3226 Sun Oct 18 22:48:27 1998  Owen Taylor  <otaylor@redhat.com>
3227
3228         * gtk/gtkdrawwindow.c (gtk_draw_window_get_type): Added
3229         the "GtkDrawWindow" class, which is a descendent
3230         of the Window class which leaves its background alone.
3231         Essentially, a toplevel drawing area, though it does
3232         allow adding a child.
3233
3234 Sat Oct 17 00:40:51 1998  Owen Taylor  <otaylor@redhat.com>
3235
3236         * gtk/gtkrc.c (gtk_rc_style_init): Duplicate bg_pixmap_name when
3237         merging RC styles. Report new share/themes path for
3238         themes directory. Deref theme engines when appropriate.
3239
3240         * gtk/gtkclist.c: Set all backgrounds in _style_set().
3241         Make sure that pixel for xor_gc is never 0.
3242
3243         * gtk/gtkctree.c: Choose colors for plus/minus more
3244         carefully, in a hopefully style-independent fashion.
3245         (Still needs a bit more work)
3246
3247         * gtk/gtkwidget.c: Don't send expose events to widgets
3248         which are about to be resized and redrawn. (Needs a
3249         bit more thought.)
3250
3251         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Avoid
3252         drawing on tabs for newly allocated, un-sized
3253         pages - we'll get the size wrong.
3254
3255 Thu Oct  1 17:38:07 1998  Owen Taylor  <otaylor@redhat.com>
3256
3257         * gtk/gtkwidget.c (gtk_widget_redraw_queue_remove): Fixed
3258         up stupidities in last commit.
3259
3260 Thu Oct  1 14:25:43 1998  Owen Taylor  <otaylor@redhat.com>
3261
3262         * gtk/gtkwidget.c: When handling queued resizes, account
3263         for handleboxes, where the widget heirarchy is different
3264         than the window heirarchy by just queueing a resize on
3265         the entire handlebox if the detached child is changed.
3266
3267         - Remove widgets from the redraw queue when reparenting,
3268         even if not unrealizing. We queue a resize/redraw in
3269         any case.
3270
3271 Mon Sep 28 21:07:01 EDT 1998 The Rasterman <raster@redhat.com>
3272         * gtk/gtkstyle.c: added check to see if the widget has been shaped
3273         byt the app via gtk_widget_shape_combine_mask and if it has does
3274         not reset the shape on theme change.
3275         
3276 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
3277
3278         * gtk/gtkfilesel.c: Keep a list of directories in which we never
3279         want to stat the entries (like /afs), and assume everything in
3280         those directories is a subdirectory.
3281
3282         - When following a path, try to open components even when
3283         we don't find them in their parent's directory to
3284         support automounters.
3285
3286 Fri Sep 11 15:36:33 1998  Owen Taylor  <otaylor@redhat.com>
3287
3288         * gdk/gdkinputgxi.h (gdk_input_gxi_grab_pointer): Hopefully
3289         now at least compiles again.
3290
3291         * gdk/gdk.c (gdk_event_translate): Don't pass events
3292         on destroyed widgets to the gdk_input layer.
3293
3294 Thu Sep  3 19:45:34 1998  Owen Taylor  <otaylor@redhat.com>
3295
3296         * gtk/gtkthemes.c: Use g_module instead of dlopen()
3297
3298 Thu Sep  3 19:30:11 1998  Owen Taylor  <otaylor@redhat.com>
3299
3300         * gtk/gtktooltips.c (gtk_tooltips_expose): Check
3301         if we've changed widgets since the expose event
3302         was queued.
3303
3304 Mon Aug 31 15:33:13 1998  Owen Taylor  <otaylor@redhat.com>
3305
3306         * gtk/gtkstyle.h (struct _GtkStyle): Reordered a bit
3307         to restore approximate bin compatibility with the
3308         non-themes branch. (This does break bin compat
3309         within the themes branch.)
3310
3311 Sun Aug 30 16:48:27 1998  Owen Taylor  <otaylor@gtk.org>
3312
3313         * gtk/gtklabel.c (gtk_label_set): Eliminate a 
3314         gdk_window_clear_area() that snuck in with the
3315         menu underlines merge.
3316
3317 Mon Aug 24 23:37:26 1998  Owen Taylor  <otaylor@redhat.com>
3318
3319         * gtk/gtktext.c: Fixed some remaining background drawing,
3320           merges from main branch, cleanups.
3321
3322 Mon Aug 24 10:55:51 1998  Owen Taylor  <otaylor@redhat.com>
3323
3324         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Don't
3325           dereference NULL focus tab.
3326
3327         * gtk/gtkscale.c (gtk_scale_[un]map): Add map/unmap
3328           functions since we need to both show/hide and 
3329           queue a redraw. (There's some duplication of drawing here, 
3330           we probably should only be queuing a redraw on the
3331           "value" portion of the scale.)
3332
3333 Fri Aug 21 19:02:30 1998  Owen Taylor  <otaylor@redhat.com>
3334
3335         * gtk/gtkrange.[ch] gtk/gtkhscale.c gtk/gtkvscale.[ch]: Fit scales
3336           into the theme-drawing framework. We do this by making them,
3337           like check/radio-buttons, no-window widgets with subwindows. We
3338           then move the value by calling gtk_widget_queue_clear() and only
3339           redraw the value in our draw() / expose() handler.  A virtual
3340           function clear_background is added which queues a clear on the
3341           "background" portion of the widget.
3342
3343 Fri Aug 21 13:04:27 1998  Owen Taylor  <otaylor@redhat.com>
3344
3345         * gtk/gtktext.c (mark_bg_gc): Make background colors work
3346           again. (We can't always paint the background with a
3347           paint() function - only do that for selected text)
3348
3349 Mon Aug 17 20:31:01 1998  Owen Taylor  <otaylor@redhat.com>
3350
3351         * gtk/gtktearoffmenuitem.c gtk/gtkclist.[ch] gtk/gtkctree.[ch]
3352           gtk/gtklabel.c gtk/gtkmenu.c: Merges from main branch.
3353
3354         * Makefile.am (SRC_SUBDIRS): Removed themes from SRC_SUBDIRS.
3355           the themes can't be built as part of the same build since
3356           they depend on gdk_imlib.
3357
3358 Fri Aug 14 12:44:30 1998  Owen Taylor  <otaylor@redhat.com>
3359
3360         * gtk/gtkthemes.c (gtk_theme_engine_get): Removed sample engine code
3361           from gtkthemes.c.
3362                 
3363         * configure.in ltconfig.in ltmain.sh gdk/Makefile.am gtk/Makefile.am
3364           gtk/
3365
3366           - Upgrade to libtool-1.2b + patch to add shared library dependencies
3367             for Linux. (Needs to be extended to other platforms where they
3368             are safe)
3369
3370          - Check for -ldl so this branch should build on all platforms, though
3371            themes will work on all platforms they could work on.
3372
3373          - Use -version and -release simultaneously: sonames stay as they are
3374            in the current scheme, but -lgtk-1.1 changes to -lgtk.
3375
3376          - Added in extra -l flags to library LDFLAGS so we get shared library
3377            dependencies against X libs and -ldl. (But not libgtk against 
3378            libgdk or libglib yet, since dependencies against uninstalled
3379            libraries aren't portable)
3380
3381 Fri Aug 21 16:10:38 EDT 1998 The Rasterman <raster@redhat.com>
3382         * gtkrc.c - added api calls to find module and theme paths from gtk.
3383           nuked gtk_install_prefix global.
3384         
3385 Fri Aug 21 12:36:46 EDT 1998 The Rasterman <raster@redhat.com>
3386         * fixed gtk_install_prefix global.
3387           
3388 Thu Aug 20 19:27:49 EDT 1998 The Rasterman <raster@redhat.com>
3389         * added gtk_install_prefix global const variabel to find where gtk is
3390           installed.
3391           
3392 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
3393         * added ~/.gtk/lib/themes/engines/ to the default searchpath for
3394           gtk theme engines
3395         
3396 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
3397         * made gtkrc scanner append dir that gtkrc is read from to pixmap path.
3398
3399 Mon Aug 10 23:03:55 1998  The Rasterman <raster@redhat.com>
3400         * Fixed minor problem in gtkhandlebox.c with drawing, and some
3401           notebook stuff. Also pixmap theme is now "clean" again.
3402           
3403 Mon Aug 10 23:03:55 1998  Owen Taylor  <otaylor@redhat.com>
3404         * gtk/gtkwidget.c (gtk_widget_clip_rect): Fixed up 
3405           queued area resizing once more.
3406
3407 Mon Aug 10 23:09:30 EDT 1998
3408         * Added a few drawing fixes for notebook and other widgets. finished
3409           pixmap theme up to the level that can be supported so far. (need to
3410           add path discovery 9ie where is the rc fiel from - add to pixmap 
3411           path so we can get theimages from there too). then we can package 
3412           themes. After that need to add to theme seartch path stuff in users 
3413           home dir.
3414           
3415 Thu Aug  6 16:49:25 1998  Owen Taylor  <otaylor@redhat.com>
3416
3417         * gtk/gtktooltips.c (gtk_tooltips_expose): Draw into a
3418           drawing area, draw in an expose handler.
3419
3420         * gtk/gtknotebook.c (gtk_notebook_expose): Check for
3421           empty current page.
3422
3423 Wed Aug  5 16:13:15 1998  Owen Taylor  <otaylor@redhat.com>
3424
3425         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel): Moved
3426           creation of GC's so that they will be set before
3427           they are used for map events (why are they used there?)
3428
3429         * gtk/gtkwidget.c: Fixed mistake that caused widgets to
3430           be queued in multiple times in the queue.
3431
3432 Wed Aug  5 14:23:52 1998  Owen Taylor  <otaylor@redhat.com>
3433
3434         * gtk/gtkstyle.c (gtk_default_draw_shadow): Don't set
3435           clip rects (or do anything) for shadow_none.
3436
3437 Wed Aug  5 13:14:57 1998  Owen Taylor  <otaylor@redhat.com>
3438
3439         * gtk/gtkbutton.c (gtk_button_paint): Restored paint function.
3440           Yes, it was needed. draw() and expose() are _not_
3441           identical.
3442
3443 Sat Aug  1 17:44:31 EDT 1998 EDT 1998 The Rasterman <raster@redhat.com>
3444         * Wheeeeeeeeeeeeeeee fixed radiobittons to work in gimp again.
3445
3446 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
3447         * YES YES YES YES YES clist borders work again! YES! YES YES! gimme 
3448           more baby oooh yeah more more MORE YES YES.
3449
3450 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
3451         * hopefully fixed problem wiht togglebuttons acting like
3452           radiobuttons in gtktogglebutton.c
3453
3454 Thu Jul 30 23:36:46 EDT 1998 The Rasterman <raster@redhat.com>
3455         * fixed another drawing buglet in the frame drawing code (actually
3456           in the clearing code but anyway in gtkstyle.c)
3457
3458 Thu Jul 30 19:23:48 EDT 1998 The Rasterman <raster@redhat.com>
3459         * Fixed warning from colorsel widget...
3460
3461 Thu Jul 30 19:10:42 EDT 1998 The Rasterman <raster@redhat.com>
3462         * Fixed defautl drawing code to no longer clobber the original style
3463           pixmap bgs as it did and added a helper funciton og gtkstyle.c to
3464           help with this.
3465
3466 Thu Jul 30 18:09:21 1998  Owen Taylor  <otaylor@redhat.com>
3467
3468         * gtk/gtkrc.c gtk/gtkstyle.c: More mm fixups
3469
3470         * gtk/gtktooltips.c: Pass a widget (the window) to the
3471           drawing function instead of the GtkTooltips.
3472
3473 Thu Jul 30 17:27:10 1998  Owen Taylor  <otaylor@redhat.com>
3474
3475         * gdk/gdkwindow.c: Abstract out checking for shape
3476           extension into a function.
3477
3478         * gtk/gtkwindow.c: Fix up gtk_window_expose()/draw().
3479           Remove extra callls to gtk_window_draw().
3480
3481 Thu Jul 30 11:18:43 1998  Owen Taylor  <otaylor@redhat.com>
3482
3483         * gtk/gtkstyle.c gtk/gtkrc.c: Memory management fixups.
3484
3485         * themes/th_main.c: Moved messages around so they are
3486           printed before destroying strings.
3487
3488 Wed Jul 29 16:56:07 1998  Owen Taylor  <otaylor@redhat.com>
3489
3490         * gdk/gdk.c: Fairly simple implementation of expose compression.
3491           (No GraphicsExpose compression yet, always compress
3492           with the equivalent of XtCompressMultiple - no compression
3493           of Expose events across non-Expose events)
3494         
3495         * gdk/gdk.h gdk/gdkrectangle.c: gdk_rectangle_union()
3496           Find rectangle bounding two rectangles.
3497
3498         * gtk/gtkstyle.c: Set clip rects for a few extra GC's
3499           in gdk_default_draw_shadow()
3500         
3501 Wed Jul 29 16:03:20 EDT 1998 The Rasterman <raster@redhat.com>
3502         * Fixed drawing functions to handle switching themes on the fly 
3503           gracefully and look decent.
3504           
3505 Tue Jul 28 22:52:10 EDT 1998 The Rasterman <raster@redhat.com>
3506         * Added all the theme drawing code to all widgets, fixed up minor
3507           nigglies in some widgets when it comes to themes, seem to be
3508           running into some funky behavior with clipping rects in GC's. Too
3509           many files to list here. (all files that now use gtk_paint_* are
3510           affected).
3511
3512 Tue Jul 28 22:49:16 1998  Owen Taylor  <otaylor@redhat.com>
3513
3514         * themes/th_main.c themes/th_draw.c gtk/testgtkrc: 
3515           Set up the demo theme so it is loaded from the RC file.
3516
3517         * themes/th_draw.c: Alleviate the hardcoded paths a wee
3518           bit. (use $HOME/themes/)
3519
3520         * gtk/gtkthemes.[ch] gtk/gtkmain.c: Load engines specified in 
3521           the RC file via dlopen()
3522
3523 Tue Jul 28 20:30:56 1998  Owen Taylor  <otaylor@redhat.com>
3524
3525         Internal handling of styles and RC styles pretty much
3526         completely reworked for Theme work.
3527
3528         * gtkthemes.[ch]: 
3529          - Added routines for virtualization of RcStyle and Style handling.
3530          - Temporary "sample" inline theme-engine. (Does nothing
3531            but print out a few messages.
3532         
3533         * gtkrc.[ch]
3534          - Made GtkRcStyle public, added flags to tell if particular
3535            colors have been set.
3536          - RC Styles are "transparent", and the final style for
3537            a widget is the composition of all matching styles
3538          - Added pointer to GtkThemeEngine, and gpointer engine_data
3539            to RC style and style.
3540          - Parse "engine" keyword, load the appropriate theme engine
3541            and call the engine's parser.
3542         
3543         *  gtkstyle.[ch]
3544          - Keep a GtkRcStyle * in styles created from Rc Styles.
3545          - Load up images from RC file at style attachment time.
3546          - Call ->engine->foo() at appropriate times.
3547          - Don't use a GCache. All incarnations for a style are
3548            just linked together in a list, depend on the RC style 
3549            code to find the existing copy.
3550
3551 Tue Jul 28 14:41:54 1998  Owen Taylor  <otaylor@redhat.com>
3552
3553         * gtk/gtkwidget.[ch]: Added the concept of queued redraws
3554           of partial areas. This can be done either relative
3555           to the existing windows (gtk_widget_queue_clear[_area]())
3556           or relative to the future allocation of the widget
3557           (gtk_widget_queue_draw[_area]). 
3558
3559           The initial implementation is pretty braindead, but
3560           can be improved.
3561
3562         * gtk/gtkwidget.[ch]: Removed calls to gdk_window_clear_area()
3563           in favor of gtk_widget_queue_clear().
3564         
3565         * gtk/gtklabel.[ch] gtk/gtkpixmap.[ch]: Removed needs_clear
3566           flags in favor of gtk_widget_queue_clear()
3567         
3568 Tue Aug  4 19:12:14 1998  Owen Taylor  <otaylor@redhat.com>
3569
3570         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fixed up
3571           handling of partially clipped areas.
3572
3573 Thu Nov  5 18:52:35 1998  Lars Hamann  <lars@gtk.org>
3574
3575         * gtk/gtkclist.h (struct _GtkCListClass)
3576         * gtk/gtkclist.c (gtk_clist_class_init): removed scrollbar_spacing.
3577
3578 Thu Nov  5 16:00:32 1998  Lars Hamann  <lars@gtk.org>
3579
3580         * gtk/gtkclist.h (struct _GtkCList): removed vscrollbar, hscrollbar,
3581         vscrollbar_policy, hscrollbar_policy. added h/vadjustment.
3582
3583         * gtk/gtkclist.c (gtk_clist_class_init): added new args types
3584         "hadjustment" & "vadjustment"
3585          (gtk_clist_set_arg) (gtk_clist_get_arg): new object class
3586         set/get_arg functions
3587         (gtk_clist_construct): don't create/adjust scrollbars.
3588         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): new functions
3589         to set h/vadjustments
3590         (gtk_clist_get_vadjustment) (gtk_clist_get_hadjustment): new functions
3591         to query h/vadjustments
3592         (create_scrollbars): removed.
3593         (create_adjustments): replacement for create_scrollbars
3594         (gtk_clist_new): call gtk_clist_new_with_titles
3595         (gtk_clist_new_with_titles): don't warn on titles == NULL
3596         (move_horizontal): use CLAMP instead
3597         (gtk_clist_set_policy): deprecated method.
3598         use gtk_scrolled_window_set_policy instead.
3599         (vadjustment_value_changed): use clist->vadj.
3600         (adjust_scrollbars): renamed to adjust_adjustments
3601         (adjust_adjustments): former adjust_scrollbars
3602         (gtk_clist_destroy): unref adjustments
3603         (gtk_clist_size_allocate) (gtk_clist_map) (title_focus)
3604         (gtk_clist_unmap) (gtk_clist_size_request) (gtk_clist_focus)
3605         (gtk_clist_size_allocate) (gtk_clist_forall): don't use scrollbars
3606         (gtk_clist_thaw) (real_insert_row) (real_remove_row)
3607         (gtk_clist_set_row_height) (real_resize_column):
3608         call adjust_adjustments
3609         (gtk_clist_moveto): return if clist has no adjustments yet.
3610         (gtk_clist_parent_set): new GtkWidget::parent_set function.
3611         Autogenerate h/vadjustments if needed.  
3612         (move_horizontal) (move_vertical): some cleanups
3613
3614         * gtk/gtkviewport.c (gtk_viewport_set_arg) (gtk_viewport_new):
3615         call only gtk_viewport_set_h/vadjustment and let these functions
3616         do the work.
3617         (gtk_viewport_set_hadjustment) (gtk_viewport_set_vadjustment):
3618         generate a new adjustment if needed
3619
3620         * gtk/gtkscrolledwindow.h ((struct _GtkScrolledWindow):
3621         use a guint bitfield for h/vscrollbar_policy and h/vscrollbar_visible
3622         
3623         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
3624         queue_resize if visibility of scrollbars changes
3625         (gtk_scrolled_window_remove): only call container_remove with
3626         scrolled_window->viewport automatically if viewport was autogenerated
3627         (gtk_scrolled_window_add): add widget as scrolled_window->viewport.
3628         auto create a viewport only if widget does not take h/vadjustments.
3629         (gtk_scrolled_window_construct): don't generate a viewport
3630         automatically.
3631         (gtk_scrolled_window_forall): call callback with viewport in any case
3632         (gtk_scrolled_window_set_arg): call gtk_container_add in case of
3633         ARG_VIEWPORT
3634         (gtk_scrolled_window_size_allocate) (gtk_scrolled_window_size_request)
3635         (gtk_scrolled_window_map) (gtk_scrolled_window_unmap): check
3636         viewport != NULL
3637
3638         * gtk/testgtk.c 
3639         (create_ctree) (export_ctree) (create_clist): use a scrolled_window
3640         in conjunction with clists/ctrees
3641
3642         * gtk/gtkfilesel.c (gtk_file_selection_init): use a scrolled_window
3643         in conjunction with clists
3644
3645         * gtk/gtkfontsel.c (gtk_font_selection_init): use a scrolled_window
3646         in conjunction with clists
3647
3648 Wed Nov  4 21:52:57 1998  Lars Hamann  <lars@gtk.org>
3649
3650         * gtk/gtkctree.c (gtk_ctree_unlink): fix focus_row adjustment
3651         (gtk_ctree_remove_node): select focus_row if needed
3652         (cell_size_request): only get pixmap size if pixmap != NULL
3653
3654 Wed Nov  4 04:30:37 1998  Tim Janik  <timj@gtk.org>
3655
3656         * gtk/gtkwidget.c: added a bunch of checks for widget != NULL and
3657         GTK_IS_WIDGET (widget):
3658
3659 Wed Nov  4 02:02:07 1998  Lars Hamann  <lars@gtk.org>
3660
3661         * gtk/gtkclist.c (real_remove_row) (sync_selection): set correct
3662         focus_row after a remove_row call.
3663
3664 Sun Nov  1 21:00:06 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>
3665
3666         * gtk/gtkoptionmenu.c
3667         * gtk/gtkmenushell.c: make option menus work when some of the
3668         menuitems are hidden - previously, option menu would popup too
3669         high.
3670
3671 1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
3672
3673         * gtk/gtkfeatures.h.in: Remove `#pragma }'.
3674
3675         * gdk/gdki18n.h: Update to use new `glib' widechar defines.
3676
3677         * configure.in (CFLAGS): Don't use test -z "echo .. | grep".  Use
3678         case instead.
3679         (wchar.h, wctype.h, iswalnum): Duplicate widechar tests from `glib'.
3680         (GDK_WLIBS): New variable.  Lists extra libraries needed to use
3681         widechar functions.
3682         * gtk-config.in (--libs): List $GDK_WLIBS, too.
3683
3684 Sat Oct 31 03:11:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
3685
3686         * Released GTK+ 1.1.3
3687         
3688         * INSTALL:
3689         * NEWS:
3690         * README:
3691         * gtk+.spec:
3692         * docs/gtk-config.1: updated for v1.1.3
3693
3694         * Makefile.am
3695         * sanity_check
3696         * docs/Makefile.am: Includes new 'make release' as well as
3697           'make sanity'.  Also handles html and text creation from html,
3698           and puts them into the distribution
3699
3700         * docs/Makefile.sgml: removed, similar functionality is now in 
3701           the Makefile.am file
3702
3703         * docs/.cvsignore: ignore html and text directories
3704         * docs/glib.texi: removed (now in glib dist)
3705
3706 Fri Oct 30 20:02:36 1998  Lars Hamann  <lars@gtk.org>
3707
3708         * gtk/gtklist.c (gtk_list_remove_items_internal): 
3709         free undo_un/selection, unselect list_item before disconnect
3710         signal functions
3711         (gtk_list_destroy): removed. gtk_list_shutdown clears the list
3712         already
3713         (gtk_list_signal_item_select) (gtk_list_signal_item_deselect)
3714         (gtk_list_signal_item_toggle)   (gtk_list_signal_scroll_horizontal)
3715         (gtk_list_signal_toggle_focus_row) (gtk_list_signal_select_all)
3716         (gtk_list_signal_unselect_all) (gtk_list_signal_undo_selection)
3717         (gtk_list_signal_start_selection) (gtk_list_signal_end_selection)
3718         (gtk_list_signal_toggle_add_mode) (gtk_list_signal_scroll_vertical)
3719         (gtk_list_signal_extend_selection) (gtk_list_signal_focus_lost):
3720         new functions. These functions are signal connected to inserted
3721         list_items, to handle key bindings and GtkItem::de/select/toggle
3722         signals.
3723
3724         * gtk/gtklistitem.c (gtk_list_item_class_init): added missing
3725         gtk_object_class_add_signals call.
3726         (gtk_list_item_toggle_focus_row) (gtk_list_item_select_all)
3727         (gtk_list_item_unselect_all) (gtk_list_item_undo_selection)
3728         (gtk_list_item_start_selection) (gtk_list_item_end_selection)
3729         (gtk_list_item_extend_selection) (gtk_list_item_scroll_horizontal)
3730         (gtk_list_item_scroll_vertical) (gtk_list_item_toggle_add_mode):
3731         removed. These functions are handled via connected
3732         gtk_list_signal_* functions now
3733
3734 Fri Oct 30 05:24:43 1998  Tim Janik  <timj@gtk.org>
3735
3736         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
3737         even with --include-deps:
3738         $(libgtk_la_SOURCES): $(BUILT_SOURCES)
3739
3740 Fri Oct 30 01:56:08 1998  Tim Janik  <timj@gtk.org>
3741
3742         * gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
3743         gtk_object_data_set_destroy to fit the gtkobject.h API.
3744
3745         * applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
3746         * gtk/gtkfontsel.h:
3747         * gtk/gtkfontsel.c:
3748         Added support for an extra 'base' filter which an application can
3749         set to restrict the fonts available to the user (e.g. a terminal
3750         program only wants the user to be able to select fixed-width fonts).
3751         The type of font (bitmap/scalable/scaled bitmap) is now
3752         also a part of the filter, so that an application can
3753         request that only scalable fonts are shown.
3754         There are new functions to set the base & user filters.
3755         I've also stopped the up/down key press signals getting
3756         to the clists since the font selection widget handles
3757         them itself. It acted a bit strangely before.
3758
3759 Sun Oct 25 20:27:02 1998  Tim Janik  <timj@gtk.org>
3760
3761         * gtk/gtkmain.c (gtk_init): support an environment variable
3762         GTK_MODULES= which takes a colon sperated list of module names
3763         automatically loaded at gtk_init() startup.
3764
3765 Sun Oct 25 08:04:33 1998  Tim Janik  <timj@gtk.org>
3766
3767         * gtk/gtkwidget.c: added more g_return_if_fail() statements.
3768
3769 Thu Oct 22 22:40:35 1998  Lars Hamann  <lars@gtk.org>
3770
3771         * gtk/gtkctree.c (gtk_ctree_destroy): removed. gtk_clist_destroy
3772         is sufficient
3773
3774 Thu Oct 22 16:22:55 1998  Lars Hamann  <lars@gtk.org>
3775
3776         * gtk/gtkclist.c (COLUMN_FROM_XPIXEL): samll fix for invisible
3777         columns
3778
3779 Thu Oct 22 02:29:53 1998  Tim Janik  <timj@gtk.org>
3780
3781         * gtk/gtkfilesel.h: GtkType and macro fixups
3782         * gtk/gtkfilesel.c (gtk_file_selection_complete): set a pattern
3783         for the file selection widget to try a completion on (set the
3784         initial filter).
3785
3786 Wed Oct 14 14:34:04 1998  Tim Janik  <timj@gtk.org>
3787
3788         * gtk/gtkmain.c: implement idle functions via GHook. this gives a
3789         slight speed improvement and lessens code duplication.
3790
3791 Tue Oct 20 14:53:28 1998  Owen Taylor  <otaylor@redhat.com>
3792
3793         * gtk/gtkdnd.c: Always send "drag_leave" to dests
3794         without GTK_DEST_DEFAULT_MOTION. 
3795
3796 Tue Oct 20 11:55:24 1998  Owen Taylor  <otaylor@redhat.com>
3797
3798         * gdk/gdk.c (gdk_event_translate): Handle DestroyNotify
3799         on destroyed windows so we clear the XID table properly.
3800         Finish up restructure of return value handling that
3801         was half-done before.
3802
3803 Tue Oct 20 12:57:10 1998  Owen Taylor  <otaylor@redhat.com>
3804
3805         * gdk/gdk.c (gdk_send_clientmessage_to_all): Hunt
3806         the window tree more comprehensively, so that we find
3807         client windows hidden under non-toplevels.
3808
3809 Tue Oct 20 12:43:04 1998  Owen Taylor  <otaylor@redhat.com>
3810
3811         * gtk/gtkselection.c (gtk_selection_data_set): 
3812         Maintain the null-termintation guarantee, even when 
3813         data = NULL, length = 0. (Warn on data = NULL, 
3814         length > 0)
3815
3816 Mon Oct 19 16:41:44 1998  Owen Taylor  <otaylor@redhat.com>
3817
3818         * gtk/gtkwidget.h (struct _GtkWidgetClass): Add in coordinates
3819         into function prototype for drag_data_received. 
3820
3821 Tue, 20 Oct 1998 11:33:10 +0200 Paolo Molaro <lupus@debian.org>
3822
3823         * gtk/gtkdnd.h,gtk/gtkdnd.c: delete is a reserved word in c++.
3824
3825 Mon Oct 19 23:44:41 1998  Lars Hamann  <lars@gtk.org>
3826
3827         * gtk/gtkclist.c: rearranged some functions
3828         (gtk_clist_set_column_auto_resize): new function. toggle auto_resize
3829         flag of column
3830         (gtk_clist_set_column_resizeable): if resizeable disable auto_resize 
3831         (gtk_clist_set_border): deprecated function, use
3832         gtk_clist_set_shadow_type instead.
3833         (gtk_clist_set_shadow_type): replacement for gtk_clist_set_border
3834         (adjust_scrollbars): some cleanups
3835         (select_row) (unselect_row): removed. replaced by equivalent
3836         gtk_signal_emit calls
3837         (add_style_data): removed, use gtk_clist_style_set instead
3838         (gtk_clist_style_set): fill in size data, after style was set. 
3839         (set_cell_contents) (gtk_clist_set_shift) (gtk_clist_set_row_style)
3840         (gtk_clist_set_cell_style): auto_resize columns if needed
3841         (column_auto_resize): resize column if needed for auto_resize 
3842         (real_clear): disable auto_resize while list destroy
3843         (resize_column): removed
3844
3845         * gtk/gtkctree.c : (gtk_ctree_remove_node)
3846         (gtk_ctree_set_line_style) (gtk_ctree_set_expander_style)
3847         (gtk_ctree_node_set_row_style) (gtk_ctree_node_set_cell_style)
3848         (set_cell_contents) (gtk_ctree_node_set_shift) (gtk_ctree_set_spacing)
3849         (real_tree_move) (gtk_ctree_set_indent) (gtk_ctree_insert_node)
3850         (real_tree_collapse) (real_tree_expand) (column_auto_resize):
3851         auto_resize columns if needed
3852         (gtk_ctree_collapse_recursive) (gtk_ctree_collapse_to_depth)
3853         (real_clear): disable auto_resize while processing the tree
3854
3855         * gtk/testgtk.c (create_clist) (create_ctree): set auto_resize
3856         for one column
3857
3858 Mon Oct 19 08:31:36 1998  Owen Taylor  <otaylor@redhat.com>
3859
3860         * gtk/gtkdnd.c (gtk_drag_selection_received): Fixed
3861         typo - look for right atom on transfer failures.
3862
3863 Sun Oct 18 20:52:22 1998  Owen Taylor  <otaylor@gtk.org>
3864
3865         * gtk/gtkwidget.c gtkmarshal.list: Change signal 
3866         for drag_data_get to match the use that was being
3867         made of it everywhere else...
3868
3869 Sun Oct 18 18:16:39 1998  Owen Taylor  <otaylor@gtk.org>
3870
3871         * gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
3872         mechanism, that is used for the DND messages.
3873
3874           Removed all the old DND code.
3875
3876         * gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
3877         get the visual of a given colormap.
3878         
3879         * gtk/gtkcolorsel.c: Conversion to new DND, drag 
3880         a color-swatch.
3881
3882         * gdk/gdk.h gdk/gdkdnd.c: The low-level
3883         X oriented portions of drag and drop protocols.
3884         Sending and receiving client messages, and navigating
3885         window trees.
3886
3887         * gdk/gdkimage.c: added a gdk_flush() when destroying
3888         SHM images to hopefully make it more likely that
3889         X will gracefully handle the segment being destroyed.
3890
3891         * gdk/gdkprivate.h gtk/gtkdebug.h: Add new 
3892         DND debugging flags.
3893
3894         * gtk/gtkeditable.[ch]: Updates for the selection handling
3895         changes.
3896         
3897         * gtk/gtkselection.[ch]: Added GtkTargetList, a 
3898         refcounted data structure for keeping track of lists
3899         of GdkAtom + information. Removed selection_handler_add
3900         in favor of a "drag_data_get" signal.
3901
3902         * gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
3903         dependent) parts of the DND protocols, display of drag icons,
3904         drag-under highlighting, and the "default handlers".
3905
3906         * gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
3907         windows that are used for reliable pointer grabs and
3908         selection handling in the DND code.
3909
3910         * gtk/testdnd.c: New test program for new DND. (Old
3911         DND tests in testgtk still need to be converted.)
3912
3913         * gtk/testselection.c: Use the new selection API.
3914         
3915         * docs/dnd_internals: Start at describing how
3916         all the new code works inside.
3917
3918         * docs/Changes-1.2.txt: New file describing source-incompatible
3919         changes in GTK+-1.2.
3920
3921 Sat Oct 17 22:50:34 1998  Owen Taylor  <otaylor@gtk.org>
3922
3923         * gdk/gdkwindow.c (gdk_window_remove_filter): Free
3924         the right list node.
3925
3926         * gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
3927         to the XID table so we can receive events on it.
3928
3929 Wed Oct 14 12:57:40 1998  Owen Taylor  <otaylor@redhat.com>
3930
3931         * gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
3932         to get the timestamp from a generic event.
3933
3934 Fri Oct  9 13:16:04 1998  Owen Taylor  <otaylor@redhat.com>
3935
3936         * gtk/gtkwidget.c (gtk_widget_add_events): Added function
3937         that safely adds additional events to a widget's event 
3938         mask, even if the widget has previously been realized.
3939         (We can do this, but not remove events from the event
3940          mask).
3941
3942 Fri Oct  2 17:35:35 1998  Owen Taylor  <otaylor@redhat.com>
3943
3944         * gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
3945         for AnyPropertyType.
3946
3947 Fri Oct  2 10:32:21 1998  Owen Taylor  <otaylor@redhat.com>
3948
3949         * gdk/gdkproperty.c (gdk_atom_intern): Add client-local
3950         hashing.
3951
3952 Thu Sep 24 20:33:54 1998  Owen Taylor  <otaylor@redhat.com>
3953
3954         * gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
3955         isn't a timestamp.
3956
3957 Thu Sep 17 14:23:03 1998  Owen Taylor  <otaylor@redhat.com>
3958
3959         * gdk/gdk.c (gdk_event_translate): Removed printing
3960         of unknown window lookup warnings. (Made it
3961         a GDK_NOTE) - they happen in many circumstances.
3962
3963 Tue Sep  8 12:38:43 1998  Owen Taylor  <otaylor@redhat.com>
3964
3965         * Call XFilterEvent() on events we get for unknown
3966         windows, since it may be the window Xlib uses to
3967         communicate with the IM. 
3968         (From Yung-Ching Hsiao <yhsiao@cae.wisc.edu>)
3969
3970 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
3971
3972         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
3973         the adjustment.
3974
3975 Thu Aug 27 12:03:14 1998  Owen Taylor  <otaylor@redhat.com>
3976
3977         * gtk/gtksignal.c (gtk_signal_newv): Improve warning
3978         message for return_value + GTK_RUN_FIRST.
3979
3980 1998-10-18  Martin Baulig  <martin@home-of-linux.org>
3981
3982         * gtk/gtktext.c (gtk_text_set_line_wrap): new function to toggle
3983         line wrapping like gtk_text_set_word_wrap () toggles word wrapping.
3984
3985 Fri Oct 16 15:59:02 1998  Lars Hamann  <lars@gtk.org>
3986
3987         * gtk/testgtk.c (insert_row_clist) (create_clist): change a few cell
3988         styles of inserted row
3989         (change_style): change style of focus_row
3990
3991         * gtk/gtkclist.c (gtk_clist_get_row_style) (gtk_clist_set_row_style)
3992         (gtk_clist_get_cell_style) (gtk_clist_set_cell_style): new functions
3993         to set/get row/cell styles.
3994         (gtk_clist_realize): attach row and cell style, allocate row colors.
3995         (gtk_clist_unrealize): detach row and cell styles.
3996         (get_cell_style): new function. get correct cell style.
3997         (draw_cell_pixmap): new function. 
3998         (draw_row): draw cells with row or cell styles.
3999         (row_new): set cell and row styles to NULL.
4000         (row_delete): detach & unref cell and row styles.
4001
4002         * gtk/gtkctree.c (ctree_detach_styles) (ctree_attach_styles): 
4003         new functions to attach/detach styles and allocate colors.
4004         (gtk_ctree_realize) (gtk_ctree_unrealize): attach/detach cell and row
4005         styles of invisible nodes.
4006         (draw_cell_pixmap): new function. 
4007         (get_cell_style):  new function. get correct cell style.
4008         (gtk_ctree_draw_expander): new function. draw tree expander.
4009         (gtk_ctree_draw_lines): new function.draw tree lines.
4010         (draw_row): draw cells with row or cell styles.
4011         (row_new): set cell and row styles to NULL.
4012         (row_delete): detach & unref cell and row styles.
4013         (gtk_ctree_node_get_row_style) (gtk_ctree_node_set_row_style) 
4014         (gtk_ctree_node_get_cell_style) (gtk_ctree_node_set_cell_style): 
4015         Analogons of GtkCList functions 
4016         (gtk_ctree_set_spacing): new function. set spacing between
4017         tree expander and cell contents
4018         (gtk_ctree_set_expander_style): new function. set expander style
4019         of ctree.
4020         (ctree_is_hot_spot): few changes due to draw_row modifications.
4021
4022 Wed 14 Oct 1998 10:17:13 +0200 Paolo Molaro <lupus@debian.org>
4023
4024         * gtk/gtkcombo.c: try completion on MOD1-TAB.
4025         Handle case when the combo->list is empty.
4026
4027 Mon Oct 12 07:51:34 1998  Tim Janik  <timj@gtk.org>
4028
4029         * gtk/gtksignal.c (gtk_signal_handlers_destroy): only unref those
4030         handlers that have not yet been disconnected (finally managed to
4031         trigger the gtk_signal_handler_unref() paranoid warning).
4032
4033 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
4034
4035         * gtk/gtkwidget.c (gtk_widget_get_arg): fixed default value for x, y,
4036         width and height which is -1 and not -2.
4037
4038 Sat Oct 10 00:50:53 PDT 1998 Manish Singh <yosh@gimp.org>
4039
4040         * HACKING
4041         * autogen.sh: we need libtool 1.2b now
4042
4043 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
4044
4045         * gtk/gtktable.c (gtk_table_set_child_arg): take the left, right, top
4046         and bottom attach arguments as mandatory and readjust the table size
4047         and opposing edge accordingly if required. this way the order in which
4048         the arguments are set doesn't matter.
4049
4050 Thu Oct  8 15:53:59 1998  Owen Taylor  <otaylor@redhat.com>
4051
4052         * gtk/gtktypeutils.c (gtk_type_class_init): Fixed warning
4053         message to print out parent class name correctly.
4054
4055 Thu Oct  8 07:07:10 1998  Tim Janik  <timj@gtk.org>
4056
4057         * gtk/gtkobject.h: 
4058         * gtk/gtkobject.c:
4059         removed functions gtk_object_set_data_destroy and
4060         gtk_object_set_data_destroy_by_id.
4061         added functions gtk_object_remove_no_notify and
4062         gtk_object_remove_no_notify_by_id which will remove a certain data
4063         portion without invokation of its destroy notifier, this should only
4064         be used in very controled circumstances.
4065
4066 Wed Oct  7 23:59:37 1998  Lars Hamann  <lars@gtk.org>
4067
4068         * gtk/gtkclist.c (gtk_clist_set_column_resizeable): added
4069         size_allocate_title_buttons call
4070         (gtk_clist_realize): changed initial column.window position
4071
4072 Wed Oct  7 20:27:28 1998  Lars Hamann  <lars@gtk.org>
4073
4074         * gtk/gtkctree.h (struct _GtkCTree): removed xor_gc, use clists
4075         xor_gc instead
4076         * gtk/gtkctree.c (create_xor_gc): removed
4077         (gtk_ctree_button_press): set correct line_attributes for
4078         clist->xor_gc on drag start
4079         (gtk_ctree_button_release): reset clist->xor_gc
4080
4081 Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>
4082
4083         * gtk/gtk*.h:
4084         * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
4085         which were in place to fixup emacs' cc-mode indentation.
4086         putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
4087         proper way to achive this and doesn't produce problems for
4088         stupid pragma-related compiler bugs. ;)
4089
4090 Wed Oct  7 00:59:46 1998  Lars Hamann  <lars@gtk.org>
4091
4092         * gtk/gtkclist.h: new signal GtkCList::resize_column.
4093         * gtk/gtkclist.c (draw_row): don't draw invisible columns
4094         (size_allocate_title_buttons) (size_allocate_columns):
4095         skip invisible columns
4096         (new_column_width): take min/max_width into account 
4097         (gtk_clist_button_release) (gtk_clist_motion):
4098         changes due to changed new_column_width function
4099         (LIST_WIDTH): changed define to inline function.
4100         (real_resize_column): class function for resize_column signal
4101         (gtk_clist_motion): fixed autoscrolling for column resizes
4102         (gtk_clist_set_column_visibility): don't hide last visible column,
4103         changed visible arg to gboolean
4104         (gtk_clist_set_column_min_width)(gtk_clist_set_column_max_width):
4105         new functions : set min/max width of a column
4106         (gtk_clist_set_column_resizeable): new function : enable/disable
4107         column resize operations by mouse
4108
4109         * gtk/gtkctree.c (draw_row): don't draw invisible columns
4110         (ctree_is_hot_spot): return FALSE if tree_column is invisible
4111         (draw_xor_line)  (draw_xor_rect): draw full rectangle/line if
4112         tree_column is invisible
4113         (gtk_ctree_find_all_by_row_data)
4114         (gtk_ctree_find_all_by_row_data_custom):  new function from
4115         Ronan Bourlier <ronan@radioss.com>. Returns a GList of all
4116         GtkCTreeNodes with row->data == data.
4117
4118 Tue Oct  6 14:05:00 1998  Tim Janik  <timj@gtk.org>
4119
4120         * gtk/testgtk.c (cb_tree_destroy_event): use g_free to free g_malloced
4121         memory (Martin Pool <mbp@wistful.humbug.org.au>).
4122
4123 Mon Oct  5 15:26:30 1998  Raph Levien  <raph@gimp.org>
4124
4125         * gdk/gdkrgb.c (gdk_rgb_convert_0888_br): Fixed a few long's that
4126         should have been guint32. Thanks to Tristan Colgate for finding it.
4127
4128 Sun Oct  4 22:47:22 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4129
4130         * gtk/gtkcalendar.h:
4131           gtk/gtkcalendar.c: More changes:
4132           - The day with focus is now seperated from the day selected
4133           - The day with focus has the xor's line around it
4134           - The selected day is now standard selected style
4135           - The week names and week numbers are now also drawn
4136             with selected style
4137           - Space now selects the day which has focus
4138
4139 Sun Oct  4 17:55:52 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4140
4141         * gtk/gtkcalendar.h:
4142           gtk/gtkcalendar.c: Some significant changes, including:
4143           - No longer draw focus around entire widget, only around
4144             the day which has focus
4145           - Draw relief around entire widget like originally planned
4146           - Show header and day names by default 
4147           - Move data private to the widget out of GtkCalendar struct
4148             and only point to it with a gpointer
4149           - Remove some old unused variables from GtkCalendar struct
4150
4151 Sun Oct  4 17:45:43 BST 1998  Tony Gale  <gale@gtk.org>
4152
4153         * docs/gtk_tut.sgml: update I've had sat around:
4154           - Grammar patch from James R. Van Zandt <jrv@vanzandt.mv.com>
4155           - Range Widget update from David Huggins-Daines <bn711@freenet.carleton.ca>
4156           - New Toolbar section from Jacek Wojdel <J.C.Wojdel@cs.tudelft.nl>
4157
4158 1998-10-01  Martin Baulig  <martin@home-of-linux.org>
4159
4160         * gtk/gtkclist.h (GtkCListColumn): Added `visible'.
4161         
4162         * gtk/gtkclist.c (gtk_clist_set_column_visibility): New function.
4163         Makes it possible to individually show and hide columns.
4164         (size_allocate_columns): Adapted to keep track of hidden columns.
4165         (size_allocate_title_buttons): Likewise.
4166
4167 Sat Oct  3 17:54:48 1998  Tim Janik  <timj@gtk.org>
4168
4169         * gtk/gtkargcollector.c (GTK_ARG_COLLECT_VALUE): for unknown foreign
4170         fundamental types, collect an argument of the type returned from
4171         gtk_type_get_varargs_type(). removed the first macro argument which
4172         was just the same as the fundamental type of the *arg passed to
4173         the macro.
4174         * gtk/gtkarg.c (gtk_args_collect): 
4175         * gtk/gtksignal.c (gtk_signal_collect_params): changed callers.
4176
4177         * gtk/gtktypeutils.h: 
4178         * gtk/gtktypeutils.c: new functions gtk_type_set_varargs_type() and
4179         gtk_type_get_varargs_type() to set and query the varargs collect
4180         type used for a fundamental type, registered outside of Gtk.
4181
4182         * gtk/gtkmisc.c (gtk_misc_class_init): changed object arguments
4183         GtkMisc::xalign and GtkMisc::yalign from GTK_TYPE_DOUBLE to
4184         GTK_TYPE_FLOAT.
4185
4186         * gtk/gtkframe.c (gtk_frame_class_init): changed object arguments
4187         GtkFrame::label_xalign and GtkFrame::label_yalign from GTK_TYPE_DOUBLE
4188         to GTK_TYPE_FLOAT.
4189
4190 Sat Oct  3 01:25:24 1998  Lars Hamann  <lars@gtk.org>
4191
4192         * gtk/gtkctree.c (gtk_ctree_insert_gnode) (real_tree_collapse)
4193         (gtk_ctree_link) (gtk_ctree_unlink) (real_tree_expand): 
4194         fixes for assignment errors with GTK_CTREE_NODE_NEXT/PREV
4195
4196         (real_tree_expand) (real_tree_collapse):
4197         don't expand/collapse a leaf
4198
4199 Fri Oct  2 16:10:36 1998  Tim Janik  <timj@gtk.org>
4200
4201         * gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't
4202         segfault when looking up a non-existant value name (reported by
4203         Pablo <pcj+gtk@primenet.com>).
4204
4205 Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
4206
4207         * gtk/gtkclist.h (gtk_clist_prepend):
4208         * gtk/gtkclist.c (gtk_clist_prepend): new function.
4209         (gtk_clist_insert): added g_return_val_if_fail()
4210         statements. accept a row parameter < 0 or > clist->rows to indicate
4211         append mode.
4212         (real_clear): first clean up all internal pointers and lists (e.g.
4213         clist->row_list or clist->rows), then delete the distinct rows. this
4214         is required because of destroy notifiers, we need to have all internal
4215         structures updated and be reentrant.
4216
4217         * gtk/gtkcalendar.h: 
4218         * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
4219         GtkCalendarClass signal methods.
4220         GtkType and macro fixups, put `void' into () prototypes, avoid C++
4221         style comments, indentation fixes, fixed some g_return_if_fail()
4222         statements.
4223         (gtk_calendar_paint_header):
4224         (gtk_calendar_paint_day_names): 
4225         (gtk_calendar_paint_week_numbers): 
4226         (gtk_calendar_paint_main): made these static functions.
4227         (gtk_calendar_select_month):
4228         (gtk_calendar_select_day):
4229         (gtk_calendar_mark_day):
4230         (gtk_calendar_unmark_day):
4231         (gtk_calendar_get_date): signedness corrections, use guints
4232         rather than gints.
4233         (gtk_calendar_size_request): removed unused variables.
4234
4235 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
4236
4237         * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
4238         widgets in the ->widgets_by_action list that have a callback
4239         defined (not only those with a callback_action!=0).
4240
4241 Sun Sep 27 22:02:48 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4242
4243         * gtk/gtkcalendar.h:
4244           gtk/gtkcalendar.c:
4245           examples/calendar/gcalendar.c: remove HAVE_FEATURES stuff
4246
4247 Sun Sep 27 02:18:06 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4248
4249         * gtk/gtkcalendar.h:
4250           gtk/gtkcalendar.c:
4251           examples/calendar: Added gtkcalendar widget and demo
4252
4253 Sat Sep 26 06:15:34 1998  Tim Janik  <timj@gtk.org>
4254
4255         * gtk/gtkclist.c (gtk_clist_sort): 
4256         (gtk_clist_clear): 
4257         (gtk_clist_unselect_all): 
4258         (gtk_clist_select_all): adde g_return_if_fail() statements.
4259
4260 Sat Sep 26 04:46:22 1998  Tim Janik  <timj@gtk.org>
4261
4262         * configure.in: set binary age and interface age to 0.
4263
4264         * gtk/gtkspinbutton.h: 
4265         * gtk/gtkspinbutton.c: changed gtk_spin_button_construct to
4266         gtk_spin_button_configure. gtk_spin_button_construct is still defined
4267         as an alias for gtk_spin_button_configure for source compatibility,
4268         but actuall use is deprecated.
4269         typeness corrections, i.e. gint->gboolean and gint->guint.
4270         added object arguments: GtkSpinButton::value, GtkSpinButton::wrap,
4271         GtkSpinButton::shadow_type, GtkSpinButton::update_policy,
4272         GtkSpinButton::numeric, GtkSpinButton::snap_to_ticks,
4273         GtkSpinButton::adjustment, GtkSpinButton::digits and
4274         GtkSpinButton::climb_rate.
4275         GtkType and macro fixups.
4276
4277 Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>
4278
4279         * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
4280         the *real* geometry position of a window, taken possible window
4281         manager offsets into account.
4282         this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
4283         olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
4284         it does fail though for amiwm which adds windows to a pseudo root
4285         window, and for icewm by a small offset because it defines the
4286         geometry position whithin its border.
4287
4288         * gtk/testgtk.c: added "saved position" test to figure how
4289         gdk_window_get_root_origin() interacts with window managers (repopup
4290         this window to figure ;).
4291
4292 Wed Sep 23 06:09:19 1998  Tim Janik  <timj@gtk.org>
4293
4294         * configure.in: update to Gtk+ version 1.1.3, binary age 1,
4295         interface age 1.
4296
4297         * gtk/gtkobject.c
4298         (gtk_object_ref): 
4299         (gtk_object_unref): check for ->ref_count to be greater than 0 (the
4300         existing code was buggy in letting ->ref_count==0 pass through and
4301         then failing the living_objs_ht assertion).
4302
4303         * gtk/gtkclist.c (draw_row): fix chopping bug for right justified
4304         pixtext fields (Roman Pozlevich <roma@botik.ru>).
4305
4306 Mon Sep 21 23:53:18 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4307
4308         * Released GTK+ 1.1.2
4309
4310 Mon Sep 21 01:12:44 1998  Jay Cox  (jaycox@earthlink.net)
4311
4312         * gtk/Makefile.am: use $(PERL) instead of perl
4313         * gtk/gtkcolorsel.c: render properly in non-square aspect ratios.
4314         also much faster to render.
4315
4316 Mon Sep 21 07:44:30 1998  Tim Janik  <timj@gtk.org>
4317
4318         * gtk/gtkobject.c (gtk_object_class_add_signals): reallocate
4319         the required memory block, rather than allocating it newly from
4320         scratch and doing a full-blown block copy on it.
4321
4322 Mon Sep 21 02:30:06 1998  Tim Janik  <timj@gtk.org>
4323
4324         * NEWS file update for upcoming release of Gtk+ version 1.1.2,
4325         binary age 0, interface age 0.
4326
4327         * gtk/gtkmain.c (gtk_init): enforce gtk-modules to always be resident.
4328
4329 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
4330
4331         * ltmain.sh: Patch to libtool-1.2b to make --disable-static
4332         work.
4333
4334 Sun Sep 20 09:52:39 1998  Owen Taylor  <otaylor@gtk.org>
4335
4336         * HACKING: indent other than GNU indent should be OK
4337           now.
4338
4339         * gtk/genmarshal.pl gtk/Makefile.am: Call indent on file
4340           instead of piping through indent. If indent wasn't
4341           found in ./configure don't bother indenting at 
4342           all.
4343
4344 Fri Sep 18 19:11:10 1998  Owen Taylor  <otaylor@redhat.com>
4345
4346         * gdk/gdk.h: Add names to prototype for gdk_image_new_bitmap.
4347
4348 Fri Sep 18 18:54:59 1998  Jay Cox  (jaycox@earthlink.net)
4349
4350         * gtk/Makefile.am: use $(AWK) instead of awk
4351
4352 1998-09-18  Raja R Harinath  <harinath@cs.umn.edu>
4353
4354         * gtk/Makefile.am (gdk_headers): 
4355         Remove references to $(top_srcdir). 
4356         (gtk.defs, gtktypebuiltins{.h,_vars.c,_ids.c,_evals.c}): Simplify.
4357         * gtk/makeenums.pl (parse_entries): Don't look for $srcdir.
4358
4359 Fri Sep 18 19:58:24 1998  Tim Janik  <timj@gtk.org>
4360
4361         * gtk/gtkobject.h (struct _GtkObject): changed gpointer object_data; to
4362         GData*object_data to cure compiler warnings.
4363
4364 Thu Sep 17 19:06:47 PDT 1998 Manish Singh <yosh@gimp.org>
4365
4366         * install-sh
4367         * missing
4368         * mkinstalldirs: updated to latest automake version
4369
4370 1998-09-17  Raja R Harinath  <harinath@cs.umn.edu>
4371
4372         * gtk/Makefile.am (source_headers): Move `gtkfeature.h' ...
4373         (gtkinclude_HEADERS): ... here.
4374         (gtk.defs): Pass `g' flag to sed, to replace all occurances.
4375
4376 Thu Sep 17 10:49:51 1998  Raph Levien  <raph@gimp.org>
4377
4378         * HACKING: added GNU indent, as it is now required to successfully
4379         build gtk+. Should this be detected in autoconf, possibly?
4380
4381 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
4382
4383         * Makefile.am gtk-config.in l*: Update to libtool-1.2b,
4384         change library versioning scheme to drop LT_RELEASE
4385         from the -l line, while keeping it in the soname.
4386
4387 Tue Sep 15 14:10:33 1998  Owen Taylor  <otaylor@redhat.com>
4388
4389         * configure.in Makefile.in: define a MAINT-like variable REBUILD
4390         which is set if Perl and awk are found, and autogenerated sources
4391         can be rebuilt. Remove the auto-generated sources from
4392         CVS. 
4393
4394         Add dependencies so that the autogenerated sources are 
4395         rebuilt if the files they depend on change. 
4396         (This unfortunately currently results in the entire
4397         gtk/ directory being rebuilt when any header changes.
4398         Moving all enums to gtkenums.h would fix this.)
4399
4400 Thu Sep 17 05:12:48 1998  Tim Janik  <timj@gtk.org>
4401
4402         * gtk/gtkobject.h: added gtk_object_set_data_destroy and
4403         gtk_object_set_data_destroy_by_id functions to set the destroy
4404         function pointer for an existing data portion.
4405
4406         * gtk/gtkobject.c: removed the GtkObjectData implementation and
4407         made all gtk_object_*data* functions use the GLib equivalents.
4408
4409 1998-09-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4410
4411         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Test whether type
4412         is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before checking that
4413         (widget != NULL), otherwise radio button insertion will not work
4414         -- the widget argument is NULL for the first radio button in the
4415         group.
4416
4417 Tue Sep 15 13:09:24 1998  Owen Taylor  <otaylor@redhat.com>
4418
4419         * gdk/gdkimage.c (gdk_image_new): Reverted global changes
4420         of g_new to malloc(), added back in the one place where
4421         it actually mattered. #include <stdlib.h>.
4422
4423         * gdk/gdkrgb.c: g_malloc() to malloc() as above.
4424
4425 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
4426
4427         * gtk/gtkfilesel.c: Keep a list of directories in which we never
4428         want to stat the entries (like /afs), and assume everything in
4429         those directories is a subdirectory.
4430
4431         - When following a path, try to open components even when
4432         we don't find them in their parent's directory to
4433         support automounters.
4434
4435 Tue Sep 15 11:06:13 1998  Owen Taylor  <otaylor@redhat.com>
4436
4437         * gtk/gtkwindow.c (gtk_window_move_resize): Don't request
4438         a new size from the WM if we asked for the same size
4439         before and our request was rejected.
4440
4441         * gtk/gtkwindow.c (gtk_window_configure_event): If
4442         in response to a request, we get a configure event
4443         with unchanged dimensions, send a synthetic expose
4444         since ForgetGravity won't expose our window.
4445
4446 Mon Sep 14 14:28:24 1998  Owen Taylor  <otaylor@redhat.com>
4447
4448         * gtk/gtktext.c (adjust_adj): Change the way we
4449         set the adjustments on resize so that it tries to
4450         keep the beginning of the text in approximately
4451         the same place. 
4452
4453         Removed assertion that the above change made invalid.
4454
4455 Thu Sep 10 22:19:35 1998  Owen Taylor  <otaylor@redhat.com>
4456
4457         * gtk/gtktext.c: - Save first_cut_pixels when switching
4458         sizes, so that if we switch to the _same_ size,
4459         we don't move lines around.
4460
4461         - Make sure that the text area always has a size of at
4462         least 1x1, then do all computations when realized.
4463
4464         - When fetching lines in recompute_geometry, make
4465         sure we fetch enough lines to cover the screen.
4466         
4467 Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4468
4469         * gdk/gdkimage.c: changed g_new()s to malloc()s and 
4470           g_free()s to free()s to avoid mixing g_new()s with 
4471           free()s.  X itself uses free() on some of the 
4472           malloced memory.
4473
4474 Sat Sep 12 10:44:06 1998  Owen Taylor  <otaylor@redhat.com>
4475
4476         * gtkfilesel.c: Maintain a list of directories like
4477         /afs we know contain only directories, and avoid
4478         stat'ing files in those directories. (Because
4479         stat'ing all files in /afs is extremely expensive)
4480
4481         To support automounters, try to open directories,
4482         even if we couldn't find them when reading their
4483         parent directory.
4484
4485 Thu Sep  3 10:29:03 1998  Owen Taylor  <otaylor@redhat.com>
4486
4487         * gtk.m4: Conditionalize check for GTK_MAJOR_VERSION,
4488         to allow the same gtk.m4 to work for 1.0.x and
4489         1.1.x.
4490
4491 Fri Sep 11 15:25:10 1998  Lars Hamann  <lars@gtk.org>
4492
4493         * gtk/gtkclist.c (gtk_clist_set_selectable): new function
4494         to set/unset the selectable flag of a single row.
4495         (gtk_clist_get_selectable): new function 
4496         to get the state of the selectable flag
4497
4498         * gtk/gtkctree.c (gtk_ctree_node_set_selectable)
4499         (gtk_ctree_node_get_selectable): clist analogons
4500         
4501 Thu Sep 10 17:04:03 1998  Raph Levien  <raph@gimp.org>
4502
4503         * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test
4504         pattern.
4505
4506         * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment
4507         bugs in the 4bit gray cases.
4508
4509 Wed Sep  9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org>
4510
4511         * configure.in: added -posix check for NeXTStep
4512
4513         * gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
4514         a unique buffer for each thread.
4515
4516         * docs/gtk-config.1: clarified copyright
4517
4518 Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>
4519
4520         * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.
4521
4522         * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.
4523
4524         * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
4525         ATEXIT.
4526         
4527         * ltconfig: use GLib's ltconfig which honours lcc.
4528
4529 Mon Sep  7 20:09:23 PDT 1998 Manish Singh <yosh@gimp.org>
4530
4531         * configure.in: comment the -std1 check and save LIBS properly
4532
4533 Sun Sep  6 12:36:23 PDT 1998 Manish Singh <yosh@gimp.org>
4534
4535         * gtk/testrgb.c: #include <stdlib.h>
4536
4537 Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>
4538
4539         * gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
4540         When the pointer is grabbed on an input window,
4541         either explicitely, or through press-grab, and
4542         then grabbed on a non-input window, ungrab the
4543         devices.
4544
4545 Sat Sep  5 07:13:19 1998  Tim Janik  <timj@gtk.org>
4546
4547         * gtk/gtktypeutils.h: don't include any gdk headers.
4548         added structure definitions for GtkTypeObject and GtkTypeClass,
4549         which cover the very basic fields of GtkObject and GtkObjectClass,
4550         which are actually used by the type system.
4551         
4552         * gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
4553         we only refer to our own structures. improved class inheritance
4554         sanity checking a bit.
4555
4556         * gtk/gtkobject.h: placed appropriate comments at the beginnings
4557         of the GtkObject and GtkObjectClass structures, which explain
4558         their relationship to GtkTypeObject and GtkTypeClass.
4559
4560         * gtk/gtktypeutils.h:
4561         * gtk/gtkobject.h:
4562         moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
4563         GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
4564         gtkobject.h to gtktypeutils.h.
4565
4566         * gtk/gtkobject.h:
4567         * gtk/gtkobject.c:
4568         removed gtk_object_check_cast() and gtk_object_check_class_cast()
4569         functions. to keep source compatibility, we can provide macro aliases
4570         for the corresponding gtk_type_* functions. but then again, people
4571         shouldn't have been using these functions anyways since they were part
4572         of Gtk's internal API.
4573
4574         * gtk/gtktypeutils.h:
4575         * gtk/gtktypeutils.c:
4576         implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
4577         functions to check GtkTypeObject and GtkTypeClass types.
4578
4579 Thu Sep  3 07:16:54 1998  Tim Janik  <timj@gtk.org>
4580
4581         * gtk/gtkctree.h:
4582         * gtk/gtkctree.c: `const' fixups.
4583
4584         * gtk/gtkclist.h:
4585         * gtk/gtkclist.c: `const' fixups and some coding style adaptions.
4586
4587         * gtk/gtkctree.c (gtk_ctree_insert_node): don't dereference *text
4588         if it is passed as NULL.
4589
4590 Wed Sep  2 22:41:40 1998  Raph Levien  <raph@gimp.org>
4591
4592         * gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
4593         big-endian cases. Added a 4bpp packed gray mode (somewhat
4594         incorrectly hardwired to MSB), which should take care of
4595         Stric's hardware.
4596
4597 Thu Sep  3 04:45:57 1998  Tim Janik  <timj@gtk.org>
4598
4599         * gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
4600         GtkSIgnalQuery leak.
4601
4602 Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>
4603
4604         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
4605         GTK_MENU_DIR_CHILD: check for the existance of
4606         menu_shell->active_menu_item before accessing its child.
4607         GTK_MENU_DIR_PREV:
4608         GTK_MENU_DIR_NEXT: if we haven't had an active item and still
4609         don't, make a default selection.
4610
4611 Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>
4612
4613         * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
4614         the children with _forall for sensitivity changes and with
4615         _foreach on pure state changes. this fixes a lot of the
4616         old inclusions of internal widgets into _foreach calls.
4617
4618         * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
4619         do the work. don't walk the subtrees of first level children.
4620
4621         * gtk/gtktreeitem.c: provide a _forall implementation,
4622         which walks the subtrees as well for include_internals.
4623
4624         * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
4625         the submenus as well for include_internals.
4626
4627         * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
4628         implemented gtk_scrolled_window_forall, which will iterate over
4629         the viewport and the scrollbars for gtk_container_forall or
4630         iterate over the viewports children for gtk_container_foreach.
4631
4632         * gtk/gtktoolbar.c: 
4633         * gtk/gtktable.c: 
4634         * gtk/gtkpaned.c:
4635         * gtk/gtkpacker.c:
4636         * gtk/gtkmenushell.c: 
4637         * gtk/gtklist.c: 
4638         * gtk/gtkfixed.c:
4639         * gtk/gtkclist.c:
4640         * gtk/gtkbox.c: 
4641         * gtk/gtkbin.c: 
4642         * gtk/gtknotebook.c:
4643         removed the old gtk_*_foreach functions and provided gtk_*_forall.
4644
4645         * gtk/gtknotebook.c:
4646         (gtk_notebook_real_switch_page): expose tabs.
4647         (gtk_notebook_page_num): new function to return the page number
4648         of a distinct child.
4649         (gtk_notebook_focus): minor fixups. foxus handling is still screwed
4650         under some circumstances.
4651
4652         * gtk/gtktreeitem.c:
4653         (gtk_real_tree_item_select):
4654         (gtk_real_tree_item_deselect): major fixes.
4655         some general fixups wrt queue_redraw, and tree items not being
4656         NO_WINDOW widgets.
4657
4658         * gtk/gtklistitem.c:
4659         (gtk_real_list_item_select): 
4660         (gtk_real_list_item_deselect): 
4661         (gtk_real_list_item_toggle): 
4662         removed unneccessary queue_redraw calls.
4663
4664 Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>
4665
4666         * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
4667         automatically popup the menu on space bar.
4668
4669 Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>
4670
4671         * gtk/gtkcontainer.h:
4672         * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
4673         method), which acts similar to gtk_container_foreach(), but iterates
4674         over internal children. the GtkContainer::foreach signal vanished in
4675         favour of a new class method ->forall() that optionally includes
4676         internal widgets.
4677
4678         * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
4679         but a _forall implementation, since all child widgets we have are
4680         internal ones.
4681         (column_button_create): set the parent window prior
4682         to gtk_widget_set_parent().
4683
4684         * gtk/gtkwidget.c:
4685         exchanged all calls to gtk_container_foreach() with
4686         gtk_container_forall().
4687
4688         * gtk/gtkwidget.h: 
4689         * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
4690         the GtkWidget::composite_child argument. to have a widget created
4691         with the flag initially, two new functions got added to wrap a widgets
4692         creation:
4693         gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
4694
4695 Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>
4696
4697         * gtk/gtktooltips.h:
4698         * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
4699         gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
4700         prior to the first tip being set.
4701         don't put an extra reference on the window, since it is a toplevel,
4702         it wont get destroyed from anywhere else.
4703
4704         * overall macro and GtkType fixups.
4705
4706 1998-09-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4707
4708         * gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
4709         constructs by more forgiving ones.  (Does anyone else feel like
4710         the color selector need rewriting?).
4711
4712 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
4713
4714         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
4715         the adjustment.
4716
4717         * gtk/gtkmenu.c: Modified reference counting so
4718         that the reference count from the toplevel that
4719         the menu creates to the menu is invisible to the
4720         application.
4721
4722 Mon Aug 31 21:36:31 1998  Raph Levien  <raph@gimp.org>
4723
4724         * gdk/gdkrgb.c (gdk_rgb_select_conv): Improved the 24bpp
4725         conversion selection logic, so Suns and other big-endian
4726         machines should get faster conv routines. This is also the
4727         point where 4bpp gray and 1bpp are checked in, although I
4728         wouldn't be surprised if 1bpp is a little buggy. This is
4729         synchronized with the 0.0.7 release of GdkRgb.
4730
4731         * gtk/Makefile.am: 
4732         * gtk/testrgb.c: Checked in testrgb.c to CVS, and made the
4733         appropriate change to the Makefile.am
4734
4735 Mon Aug 31 15:18:19 1998  Raph Levien  <raph@gimp.org>
4736
4737         * gdk/gdkrgb.[ch]: Added a gdk_draw_rgb_image_dithalign function,
4738         which is good for images that scroll (makes the dither patterns
4739         align correctly)
4740
4741 Sat Aug 29 14:50:56 PDT 1998 Manish Singh <yosh@gimp.org>
4742
4743         * gdk/gdkcolor.c:
4744         (gdk_colormap_new) (gdk_colormap_get_system):
4745         quell some warnings with g_hash_table_new
4746
4747         * gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery
4748         when we're done with it
4749
4750         * gtk/itemfactory.c:
4751         (gtk_item_factory_from_path):
4752         (gtk_item_factory_create_item): free some strings
4753
4754         * gtk/gtklabel.c:
4755         (gtk_label_finalize): free label->pattern when done
4756         (gtk_label_parse_uline): null terminate pattern string, delete
4757         some duplicated code
4758
4759         * gtk/testthreads.c: add #include <unistd.h> for sleep()
4760
4761 Tue Aug 25 16:52:47 1998  Owen Taylor  <otaylor@redhat.com>
4762
4763         * gtk/gtktext.c (recompute_geometry): Make sure the
4764         mark we pass to line start is the beginning of a 
4765         real line, not a wrapped one.
4766
4767 Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>
4768
4769         * gtk/gtktext.c: Reference count the fonts used in
4770         the text widget.
4771
4772         * gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
4773         freeing functions to be more consistent, and more 
4774         convenient; leave the old names in for backwards compatibility.
4775
4776         * gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
4777         allocations in pseudo-color colormaps to greatly reduce
4778         calls to XAllocColor. Keep a per-colormap hashtable to
4779         speed up finding if there is an already-allocated matching
4780         color.
4781
4782         * gdk/gdkcolor.c: Don't just match read the system colormap
4783         when the colormap is created, but synchronize our copy
4784         with the system colormap periodically.
4785         
4786         * gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c: 
4787         Change XIM constants names to match GDK conventions
4788
4789         * gtk/testinput.c: Allow the drawing area to get the focus.
4790
4791         * gtk/testgtk.c: Change around the Text test to demonstrates
4792         multiple fonts, use more colors.
4793
4794         * gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
4795         so they work after a widget is unrealized.
4796
4797         * gtk/gtktext.[ch]: Remove the requirement that the text
4798         widget be realized before adding text (!) Allocate colors
4799         ourself, instead of requiring the caller allocate them.
4800         Allow changing styles to work properly by keeping track
4801         of the values for a certain property are default or
4802         set explicitely.
4803
4804         * gtk/gtkmenu.h: Added some comments.
4805
4806         * gtk/gtkentry.c: Changes to match XIM constants.
4807
4808         * gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
4809         for adding keyed data to drawables. (Uses g_dataset
4810         internally)
4811
4812         * gdk/gdkpixmap.c: Keep track of the colors we allocate,
4813         when creating an XPM - store them as user data for the GdkPixmap,
4814         so we don't leak colors when we create pixmaps from XPM's.
4815
4816         Allocate memory for color information in large blocks instead of 
4817         as many little pieces.
4818         
4819 Mon Aug 24 11:09:32 PDT 1998 Manish Singh <yosh@gimp.org>
4820
4821         * gdk/gdkrgb.c: removed some unused variables
4822
4823         * gtk/gtkclist.c
4824         * gtk/gtkmain.c: #if 0'd out some unused code
4825
4826         * gtk/gtkobject.c: check for NULL object hash table in gtk_object_debug
4827
4828 Mon Aug 24 02:36:53 1998  Tim Janik  <timj@gtk.org>
4829
4830         * gtk/gtkarg.h:
4831         * gtk/gtkarg.c:
4832         * gtk/gtkwidget.h: 
4833         * gtk/gtkwidget.c: 
4834         * gtk/gtkobject.h:
4835         * gtk/gtkobject.c:
4836         * gtk/gtkcontainer.h: 
4837         * gtk/gtkcontainer.c: 
4838         (gtk_object_new):
4839         (gtk_object_set):
4840         (gtk_widget_new):
4841         (gtk_widget_set): 
4842         (gtk_container_add_with_args):
4843         (gtk_container_child_set):
4844         begin the parameter elipsis (...) after the first argument name. this
4845         change is source compatible, since it was always required, even as NULL.
4846         (gtk_args_collect): 
4847         (gtk_object_args_collect): 
4848         (gtk_container_child_args_collect):
4849         changed prototypes to pass first_arg_name, also, pass va_list variable
4850         by value (portability concerns). callers changed.
4851
4852         * gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
4853         a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
4854         can't pass va_list variables by reference for portability reasons.
4855
4856 Fri Aug 21 22:40:00  Raph Levien  <raph@gtk.org>
4857
4858         * gdk/gdkrgb.c: added calls to gdk_rgb_init in the get_cmap and
4859         get_visual calls, so that it gets implicitly initialized.
4860
4861 Fri Aug 21 13:06:04 1998  Stuart Parmenter  <pavlov@gimp.org>
4862         * gtk/gtkfeatures.h.in:  added GTK_HAVE_FEATURES_1_1_2 for changes
4863         such as GtkCTree function name changes
4864         
4865 Fri Aug 21 02:31:26 1998  Tim Janik  <timj@gtk.org>
4866
4867         * gtk/gtkmain.h:
4868         * gtk/gtkmain.c (gtk_check_version): added a function to perform a
4869         binary version check, returning a static string for error descriptions,
4870         or NULL on success.
4871
4872 Thu Aug 20 20:08:15 1998  Owen Taylor  <otaylor@redhat.com>
4873
4874         * gtk/gtktext.c ([un]draw_cursor): Check to see if we've
4875         computed our geometry yet, and if not, ignore the request.
4876
4877         * gtk/gtktext.c (correct_cache_insert): Fiddled around
4878         some more. All the bug-test codes seem to work at once
4879         now. (fingers crossed...)
4880
4881 Thu Aug 20 13:04:08 PDT 1998 Manish Singh <yosh@gimp.org>
4882
4883         * gdk/gdkrgb.c: silly visual fixes
4884
4885         * gtk/testgtk.c: call gdk_rgb_init so color preview test actually
4886         works
4887
4888 1998-08-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4889
4890         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
4891         anything if the event's window is not the bin window.
4892         (gtk_handle_box_motion): Likewise.
4893
4894 1998-08-19  Raph Levien  <raph@gimp.org>
4895
4896         * gtk/testgtk.c (create_color_preview): pushed the colormap and
4897         visual so it would work better with GdkRgb.
4898
4899 1998-08-19  Raph Levien  <raph@gimp.org>
4900
4901         * gdk/gdkrgb.c: fixed some bugs in the 565_d mode, and added a
4902         4bpp static_color mode (for vga displays). Also fixed a '64' value
4903         in the dither matrix, which was causing one pixel out of 16k to be
4904         dithered wrong.
4905
4906         * gtk/gtkpreview.{c,h}: Changed it to work with GdkRgb, gutting
4907         most of the contents. This is an API change - any apps that relied
4908         on the internal structure of GtkPreview will need some change -
4909         most notably in the use of reserved colors. The Gimp needed
4910         changes in this regard.
4911
4912 Wed Aug 19 00:11:14 1998  Tim Janik  <timj@gtk.org>
4913
4914         * gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
4915         G_ENABLE_DEBUG being defined (specifically --gtk-module= and
4916         --g-fatal-warnings), noticed by miguel.
4917
4918 Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>
4919
4920         * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
4921         getcwd().
4922
4923         * gdk/gdkprivate.h:
4924         * gdk/gdkglobals.c:
4925         * gdk/gdkwindow.c:
4926         * gdk/gdk.c:
4927         * gtk/gtkwindow.c: 
4928         * gtk/gtkitemfactory.c: 
4929         dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.
4930
4931         * gtk/gtkselection.c:
4932         * gtk/gtkpreview.c:
4933         * gtk/gtkobject.c: 
4934         * gtk/gtkmain.c: 
4935         * gtk/gtktypeutils.c: indentation fixes due to g_message() use.
4936
4937         * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
4938
4939 Tue Aug 18 17:22:22 1998  Lars Hamann  <lars@gtk.org>
4940
4941         * gtk/gtknotebook.c (gtk_notebook_switch_focus_tab): 
4942         * gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
4943         in case of show_tabs == NULL
4944
4945 Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>
4946
4947         * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
4948         to --g-fatal-warnings again. this option now causes log levels of
4949         WARNING and CRITICAL to abort().
4950
4951         * gdk/gdk.c: 
4952         * gdk/gdkdnd.c: 
4953         * gdk/gdkcc.c: 
4954         * gdk/gdkfont.c: 
4955         * gdk/gdkwindow.c:
4956         * gdk/gdkvisual.c:
4957         * gtk/gtkwidget.c:
4958         * gtk/gtktypeutils.c:
4959         * gtk/gtktree.c:
4960         * gtk/gtkfontsel.c:
4961         * gtk/gtkmain.c:
4962         * gtk/gtkobject.c:
4963         * gtk/gtkpreview.c:
4964         * gtk/gtkselection.c:
4965         * gtk/gtktext.c:
4966         * gtk/gtktree.c:
4967         * gtk/gtktreeitem.c:
4968         did a global search&replace to substitute g_print() calls with
4969         g_message(). libraries shouldn't use printf(), g_print() or
4970         g_printerr() at all.
4971         a bunch of the replacements should probably be wrapped into the
4972         G{D|T}K_NOTE() macros, so they are special cased for debugging
4973         purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
4974         things.
4975
4976         * gdk/gdkdnd.c: added copyright notice.
4977
4978 Mon Aug 17 17:28:00  Raph Levien  <raph@gtk.org>
4979
4980         * gdk/gdkrgb.c: Further speedups of the 565_d case. It's
4981         impressively fast now - about 4.65 Mpix/s on an IBM TP 600
4982         running a PII 233. It's synced with the 0.0.5 release of
4983         GdkRgb.
4984
4985 Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>
4986
4987         * gtk/gtkclist.h:
4988         (struct _GtkCListClass): new class methods:
4989         (sort_list) (insert_row) (remove_row) (set_cell_contents)
4990
4991         * gtk/gtkclist.c :
4992         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
4993         removed and replaced by (set_cell_contents)
4994         (set_cell_contents): function for class method set_cell_contents
4995         (real_insert_row): function for class method insert_row
4996         (real_remoce_row): function for class method remove_row
4997         (real_sort_list): function for class method sort_list
4998         (default_compare): fix to avoid problems with cell types != CELL_TEXT
4999
5000         * gtk/gtkctree.h :
5001         (gtk_ctree_export_to_gnode): new function to export a ctree as gnode 
5002         (gtk_ctree_node_is_visible): new function to return visibility state
5003         of a node
5004         (gtk_ctree_show_stub): new function to set visibility of root stub
5005
5006         renamed functions :
5007         (gtk_ctree_insert) -> (gtk_ctree_insert_node)
5008         (gtk_ctree_remove) -> (gtk_ctree_remove_node)
5009         (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
5010         (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
5011         (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
5012         (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
5013         (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
5014         (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
5015         (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
5016         (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
5017         (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
5018         (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
5019         (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
5020         (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
5021         (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
5022         (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
5023         (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
5024         (gtk_ctree_sort) -> (gtk_ctree_sort_node)
5025         (gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
5026
5027         * gtk/gtkctree.c :
5028         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
5029         removed and replaced by (set_cell_contents)
5030         (set_cell_contents): function for class method set_cell_contents
5031         (real_insert_row): function for class method insert_row
5032         (real_remoce_row): function for class method remove_row
5033         (real_sort_list): function for class method sort_list
5034         (default_compare): removed. CTree now also compares two GtkCTreeRows
5035         instead of two GtkCTreeNodes.
5036         (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
5037         unlinking the node
5038         (real_tree_expand) (real_tree_collapse): fix for refcounting of
5039         node pixmaps
5040         (set_node_info): call gtk_ctree_node_set_pixtext instead of
5041         manipulating the row itself
5042         
5043         * gtk/testgtk.c: use renamed functions of GtkCTree.
5044         new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
5045         at work.
5046
5047 Mon Aug 17 15:31:38 1998  Tim Janik  <timj@gtk.org>
5048
5049         * gtk/gtkmain.c: removed gtk_input_add_interp.
5050
5051         * gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
5052         keyword.
5053         (gtk_editable_get_event_time): fix default: case.
5054
5055         * gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.
5056
5057         * gdk/gdkpixmap.c: made a bunch of unexported functions static.
5058
5059         * gdk/gdkcolor.c:
5060         * gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
5061         of our functions.
5062
5063         * various minor compilation cleanups, such as bogus commas in
5064         enums and similar things.
5065
5066 Mon Aug 17 07:47:43 1998  Tim Janik  <timj@gtk.org>
5067
5068         * gtk/gtkmain.c (gtk_init): NULL terminate the arg list to g_strconcat()
5069         (thanx raph).
5070
5071 Sun Aug 16 23:14:20 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
5072
5073         * NEWS: updated for 1.1.2
5074         * gtk+.spec: version = 1.1.2
5075
5076 Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
5077
5078         * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
5079         times. changed --gtk-with-module to --gtk-module at owen's request.
5080
5081 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
5082
5083         * gtk/gtkmain.c (gtk_init): feature a new commandline option
5084         --gtk-with-module=<module> that allows additional loading and
5085         initialization of modules (e.g. GLE).
5086
5087 Mon Aug 17 01:40:00 1998  Tim Janik  <timj@gtk.org>
5088
5089         * configure.in: version bump to 1.1.2, binary age 0, interface age 0.
5090         pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.
5091
5092         * gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
5093         with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
5094         "--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
5095         different *-fatal-* arguments now. this needs to be revised and
5096         compressed to a reasonable amount of arguments.
5097
5098 Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>
5099
5100         * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
5101         "--g-fatal-warnings" causes fatal warnings in GLib,
5102         "--gdk-fatal-warnings" causes fatal warnings in Gdk,
5103         "--gtk-fatal-warnings" causes fatal warnings in Gtk.
5104
5105         * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
5106         * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.
5107
5108         * gtk/testgtk.c: 
5109         * gdk/gxid.c:
5110         we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
5111         since automake doesn't support per target _CFLAGS yet.
5112
5113         * configure.in: require GLib 1.1.3.
5114
5115 Sat Aug 15 03:19:30 1998  John Ellis  <johne@bellatlantic.net>
5116
5117         * gtk/gtkctree.[ch] (gtk_ctree_set_drag_compare_func): New function
5118         to set a callback to test if a node in drag can be dropped onto
5119         it's currrent location.
5120         * gtk/gtkctree.c (set_mouse_cursor),(check_cursor): New functions
5121         to change the pointer when a drag destination is not allowed.
5122
5123 Thu Aug 13 21:06:00 1998  Raph Levien  <raph@gtk.org>
5124
5125         * gdk/gdkrgb.c: committing a patch by Ray Lehtiniemi that
5126         speeds up the 565_d case by about 25% total. Thanks Ray!
5127
5128 Thu Aug 13 16:47:44 1998  Owen Taylor  <otaylor@redhat.com>
5129
5130         * Changed GtkSignalFunc back to () from (void). (again!)
5131
5132         * Added file README.cvs-commits
5133         
5134 Thu Aug 13 09:11:11 BST 1998  Tony Gale  <gale@gtk.org>
5135
5136         * docs/gtk_tut.sgml:
5137           - Tidy up of the menufactory example from
5138             Andy Kahn <kahn@zk3.dec.com>
5139           - New section on Range Widgets from
5140             David Huggins-Daines <bn711@freenet.carleton.ca>
5141           - Started a new section on 'Advanced Event and Signal
5142             Handling' - used an email from Owen.
5143           - New appendix on Gdk Event Types
5144           - Added the tictactoe full example code to the
5145             'Code Examples' appendix
5146
5147 Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>
5148
5149         * gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() - 
5150           to calculate all the metrics at once of a string, including
5151           things which weren't calculated before.
5152
5153         * gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
5154           MenuItem type, that when put as the first thing in a
5155           menu, makes the menu tearoff. Currently drawn as a
5156           dashed line.
5157
5158         * gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
5159           "hide_on_activate" to the MenuItem class structure to allow
5160           check and radio buttons to be changed with <Space> without
5161           hiding the menu.
5162
5163         * gtk/gtkitemfactory.c: 
5164           - Create a AccelGroup for each MenuShell we create.
5165           - If an '_' appears before a  character 'c' in the path,
5166             then make 'c' an accelerator in the menu's accel group,
5167             and if the menuitem is menubar <alt>C an accelerator 
5168             in the itemfactory's accel group. Double '__' inserts
5169             a literal '_'
5170
5171         * gtk/gtklabel.[ch]: Add support for a pattern arg - 
5172           which is a string. If an '_' appears in this string,
5173           the corresponding position in the label is underlined.
5174
5175           Add gtk_label_parse_uline() convenience function which
5176           takes a string with embedded underlines, sets the
5177           pattern and label, and returns the accelerator keyval.
5178
5179         * gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
5180           Instead, they create a GtkWindow and add themselves
5181           to that. (When torn off, another new feature, they
5182           create another GtkWindow to hold the torn off menu)
5183
5184           New function gtk_menu_set_tearoff_state()
5185         
5186         * gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h: 
5187           Added action signals  for keyboard navigation of menus.
5188
5189         * gtk/gtkmenushell.c: Key press handler which activates
5190           bindings for navigation, and accelerators, for handling
5191           underline accelerators. Exported functions to select 
5192           and activate menu items in a menushell.
5193
5194         * gtk/testgtk.c: Added a new "Item Factory" test which
5195           tests GtkItemFactory and the new keyboard navigation
5196           of menus.
5197
5198 Tue Aug 11 20:52:58 1998  Tim Janik  <timj@gtk.org>
5199
5200         * gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
5201         external functions have been called. also relookup nodes after
5202         this function has been invoked.
5203
5204 Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>
5205
5206         * gtk/gtktext.[ch]: Removed has_cursor, set the cursor
5207           beginning of Text when creating the Text widget.
5208
5209         * gtk/testgtk.c: Grab the focus on the text widget so
5210           as to test out the above.
5211
5212 Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>
5213
5214         * gtk/gtkeditable.c: Reverted part of timj's change of Jul 16. 
5215           ::changed is a notification signal and should have no default
5216           handler. A complete redraw of the Text widget does _not_ need to
5217           be done on every text insertion.
5218
5219 Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
5220         (gtk-abilleira-072198-patch)
5221
5222         * gtk/gtkwindow.[ch]: 
5223           Add gtk_window_set_modal() which sets a flag; when
5224           set the window does a gtk_grab_add() when the window
5225           is shown, and a gtk_grab_remove() when the window
5226           is hidden. 
5227
5228         * gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
5229           that case will run "Create Dir","Delete File" and "Rename File" 
5230           dialogs as modal too.
5231
5232         * gtk/testgtk.c: Added a button with an example of creating modal 
5233           dialog boxes. Including file selection and color selection standard
5234           dialogs.
5235         
5236 Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>
5237
5238         * gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
5239           Removed CAN_FOCUS by default from scrollbars, button
5240           children of toolbar. (But not GTK_TOOLBAR_CHILD_WIDGET children)
5241           (Scrollbar definitely good change, toolbar bit more questionable)
5242
5243 Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>
5244
5245         * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
5246         Pettersen).
5247
5248 Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
5249
5250         * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
5251           added all logical operations to gc->function.
5252
5253 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
5254
5255         * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
5256         gtk_widget_size_allocate instead of gtk_widget_queue_resize
5257         if the visibility state of a scrollbar changes.
5258
5259 Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>
5260
5261         * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
5262
5263 Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>
5264
5265         * gtk/gtkclist.c: Renamed my_merge and my_mergesort to
5266         gtk_clist_merge and gtk_clist_mergesort. :)
5267
5268 1998-08-06  Martin Baulig  <martin@home-of-linux.org>
5269
5270         * gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
5271         `mergesort' -> `my_mergesort'.
5272
5273 Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>
5274
5275         * gtk/gtkenums.h: new enum GtkSortType.
5276         
5277         * gtk/gtkclist.h:
5278         * gtk/gtkclist.c:
5279         Added sorting capabilities to GtkCList. New APIs :
5280         gtk_clist_set_compare_func, gtk_clist_set_sort_column,
5281         gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort. 
5282         New internal functions : default_compare, merge, mergesort.
5283
5284         (gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
5285         
5286         (gtk_clist_insert): Modified to handle gtk_clist_append and the
5287         auto sort flag. Changed the return value from void to gint to
5288         return the row number where the element was actually inserted.
5289
5290         (gtk_clist_swap_rows): Return immediately if auto sort flag is set.
5291         
5292         * gtk/gtkctree.h:
5293         * gtk/gtkctree.c:
5294         Removed the auto_sort flag, replaced ctree->node_compare with
5295         clist->compare all over the place, modified default_compare to
5296         match clist's needs. Removed API´s : gtk_ctree_set_auto_sort,
5297         gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
5298
5299         * gtk/testgtk.c: Modified clist/ctree samples to demonstrate
5300         sorting. The lists can be sorted by a column by clicking the 
5301         corresponding title button.
5302         
5303 Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
5304
5305         * Released GTK+ 1.1.1
5306
5307 Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>
5308
5309         * gtk/gtkctree.h:
5310         * gtk/gtkctree.c:
5311         (gtk_ctree_find): changed to return a gboolean
5312         (gtk_ctree_insert_gnode): new function for recursive insertion of a
5313         GNode tree.
5314         (gtk_ctree_real_select_recursive): fix for extended selection
5315         (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
5316         (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
5317
5318 Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>
5319
5320         * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
5321         GLib version 1.1.1 is now required at minimum.
5322
5323         * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
5324         of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
5325
5326 Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>
5327  
5328         * gtk/gtktext.c (gtk_text_forward_delete): Undraw the
5329           cursor before (possibly) deleting the cursor's text
5330           property.
5331  
5332         * gtk/gtktext.c (correct_cache_delete): More attempts
5333           to clean the line-start cache up after inserting
5334           a property. Among other things, make sure to
5335           fix up text->current_line, since it is used to 
5336           refetch the changed lines.
5337  
5338 Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>
5339
5340         * gtk/gtktable.[ch]: Empty rows/columns of the table
5341         should not have been marked as being able to shrink.
5342         (Fixes problem with shrinking scrollbarless GIMP canvases)
5343
5344 1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5345
5346         * gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
5347         function to find a row by its data pointer using a custom
5348         comparison function.
5349
5350 Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>
5351
5352         * gtk/gtkclist.c: draw the buttons during a "draw" as well,
5353           this fixes a bug when the whole widget is made non-sesitive
5354           the buttons weren't redrawn
5355
5356 Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>
5357
5358         * gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
5359         * gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
5360         * gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
5361
5362 Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>
5363
5364         * gdk/gdkwindow.c (gdk_window_reparent): Change 
5365           window_private->parent pointer when reparenting.
5366
5367 Sat Aug  1 22:17:00 1998  Raph Levien  <raph@acm.org>
5368
5369         * gdk/gdkrgb.c: made some minor config changes to unify GdkRgb
5370         with the standalone release.
5371
5372 Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
5373
5374         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
5375         (gtk_clist_button_release) (new_column_width): Few fixes for
5376         column resize. Store resize column in clist->drag_pos.
5377
5378 Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
5379
5380         * gtk/gtkctree.h 
5381         * gtk/gtkctree.c 
5382         * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
5383         to GtkCTreeNode *node.
5384
5385         * gtk/gtklist.h : added extended selection mode and auto scrolling.
5386         (struct _GtkList): removed unneeded variables timer, button,
5387         selection_start_pos, selection_end_pos, scroll_direction, have_grab.
5388         Added new variables undo_selection, undo_unselection, last_focus_child,
5389         undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
5390         drag_selection, add_mode.
5391  
5392         New functions :
5393         (gtk_list_extend_selection), (gtk_list_start_selection),
5394         (gtk_list_end_selection), (gtk_list_select_all),
5395         (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
5396         (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
5397         (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
5398         (gtk_list_undo_selection), (gtk_list_end_drag_selection)
5399         
5400         * gtk/gtklist.c : 
5401         (gtk_list_enter_notify): removed, because auto scrolling now works
5402         with gtk_list_motion_notify
5403  
5404         New functions, needed for auto scrolling :
5405         (gtk_list_motion_notify) (gtk_list_move_focus_child)
5406  
5407         New functions for extended selection support :
5408         (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
5409         (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
5410         (gtk_list_focus_lost)
5411         
5412         (gtk_list_set_focus_child): modified gtk_container_set_focus_child
5413         function to support auto scrolling, and avoid out-of-sync errors in
5414         case auf GTK_SELECTION_BROWSE
5415         (gtk_list_focus): modified gtk_container_focus function to avoid out
5416         off sync errors in case auf GTK_SELECTION_EXTENDED
5417
5418         * gtk/gtklistitem.h 
5419         * gtk/gtklistitem.c :
5420         New signal functions for key binding support :
5421         (toggle_focus_row), (select_all), (list_item), (unselect_all)
5422         (list_item), (undo_selection), (start_selection), (end_selection)
5423         (extend_selection), (scroll_horizontal), (scroll_vertical),
5424         (toggle_add_mode)
5425         (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
5426         GDK_KEY_RELEASE_MASK
5427         (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
5428  
5429         * gtk/gtkcombo.c :
5430         (gtk_combo_popup_button_press):  grab pointer for combo->list
5431         (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
5432         (gtk_combo_list_key_press): take care of which child HAS_GRAB
5433         (gtk_comb_init): don't connect combo->button with button_release_event
5434
5435 Thu Jul 30 12:39:36 1998  Lars Hamann  <lars@gtk.org>
5436
5437         * gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
5438
5439 Wed Jul 29 23:31:50 1998  Lars Hamann  <lars@gtk.org>
5440
5441         * gtk/gtkclist.c (gtk_clist_motion): column resize now works with
5442         horizontal autoscrolling, GtkCTree's 'reorder ability' now works
5443         with horizontal and vertical autoscrolling.
5444
5445 Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
5446
5447         * gtk/docs/man: new directory
5448         * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
5449
5450 Tue Jul 28 00:03:20 1998  Lars Hamann  <lars@gtk.org>
5451
5452         * gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
5453         bug
5454
5455 Mon Jul 27 09:18:13 BST 1998  Tony Gale  <gale@gtk.org>
5456
5457         * docs/gtk_tut.sgml: GtkTree section from
5458           David Huggins-Daines <bn711@freenet.carleton.ca>,
5459           add a GtkText widget example
5460         * examples/text/* example/tree/* : new examples for the
5461           GtkTree and GtkText widgets
5462         * docs/gtk_tut.sgml: added an appendix to hold complete code
5463           examples that aren't in a full form elsewhere in the
5464           tutorial (e.g. scribble)
5465
5466 Mon Jul 27 00:46:21 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
5467
5468         * Released GTK+ 1.1.0
5469
5470 Mon Jul 27 04:18:26 1998  Tim Janik  <timj@gtk.org>
5471
5472         * gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
5473         the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
5474
5475 Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
5476
5477         * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
5478         values are looked up.
5479
5480         * gtk/gtktypeutils.h:
5481         * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
5482         gtk_type_enums_find_value to lookup enum values.
5483
5484         * gtk/gtkctree.h: 
5485         * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
5486         GtkCTreeExpansionType. fixed signal creations to pass the enum
5487         types not just the base type GTK_TYPE_ENUM.
5488
5489         * gtk/gtkclist.h: 
5490         * gtk/gtkclist.c: fixed signal creations to pass the real enum
5491         types not just the base type GTK_TYPE_ENUM.
5492
5493 Sun Jul 26 14:50:07 1998  Stefan Jeske  <stefan@gtk.org>
5494
5495         * gtk/testgtk.c : 
5496         Began cleanup, e.g. use gtk_widget_show_all instead of many 
5497         gtk_widget_show's. Completely rewrote the button box sample
5498         (only one window now). Removed "miscellaneous" button.
5499
5500 Sun Jul 26 14:48:14 1998  Stefan Jeske  <stefan@gtk.org>
5501
5502         * gtk/gtkvbbox.c (gtk_vbutton_box_size_allocate): 
5503         Fixed wrong allocation for GTK_BUTTONBOX_END.
5504         (allocation->x  =>  allocation->y)
5505
5506 Sun Jul 26 14:06:37 1998  Lars Hamann  <lars@gtk.org>
5507
5508         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release)
5509         (abort_column_resize) (gtk_clist_key_press): fix for pointer grab
5510         
5511         * gtk/gtkctree.c (real_tree_select): added check to avoid double
5512         selected rows
5513         (gtk_ctree_button_press)
5514         (gtk_ctree_button_release): fix for pointer grab
5515
5516 Sat Jul 25 13:16:00 1998 Damon Chaplin  <DAChaplin@msn.com>
5517
5518         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): 
5519         Fixed initialization problem - dirty memory could cause problems.
5520         Also checked that bitmapped fonts can be scaled when showing the
5521         available sizes.
5522
5523 Sat Jul 25 02:25:03 1998  Lars Hamann  <lars@gtk.org>
5524
5525         * gtk/gtkctree.c (gtk_ctree_sort_recursive)
5526         (gtk_ctree_sort_recursive): test for node != NULL
5527         (gtk_ctree_is_visible) (gtk_ctree_realize) (gtk_ctree_unrealize)
5528         (gtk_ctree_last) : added sanity checks
5529         * gtk/gtkclist.c (gtk_clist_button_press): removed "no_focus_row"
5530
5531 Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
5532
5533         * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
5534
5535 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
5536
5537         * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
5538
5539 Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>
5540
5541         * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
5542         to check out binding priorities. someone should really write
5543         gtkrc-mode for emacs.
5544
5545         * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
5546         * gtk/testgtk.c (main): and move it here ;). this test says something
5547         on release of C-9. (this works only if the mouse pointer is on a
5548         spinbutton and there is no focus widget).
5549
5550         * gtk/gtkrc.h:
5551         * gtk/gtkrc.c:
5552         export gtk_rc_parse_color, gtk_rc_parse_state and a new function
5553         gtk_rc_parse_priority to parse path priority types.
5554         export rc tokens.
5555         feature binding parsing.
5556
5557 Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>
5558
5559         * gtk/gtkbindings.h: 
5560         * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
5561         feature binding parsing in rc files.
5562         * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
5563         * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
5564         order the bindings with lowest priority first.
5565
5566 Wed Jul 22 15:21:08 PDT 1998 Manish Singh <yosh@gimp.org>
5567
5568         * gdk/gdkrgb.c: actually builds and runs properly on big
5569         endian machines now, because we #include config.h. Also
5570         fixed up a compile error in the WORDS_BIGENDIAN case in
5571         gdk_rgb_convert_565_gray. I made the fix by looking at
5572         patterns in the other code; Raph can you verify this?
5573
5574         * gdk/gdkthreads.c: #include <unistd.h> to quell compiler
5575         warnings
5576
5577 Wed Jul 22 23:00:44 1998  Lars Hamann  <lars@gtk.org>
5578
5579         * gtk/gtkctree.c (tree_select/unselect) (tree_expand/collapse) 
5580         (tree_toggle_expansion) (real_select/unselect_row)
5581         (gtk_ctree_select/unselect) : few fixes for gtk_signal_emits
5582
5583 Wed Jul 15 17:44:47 1998  Owen Taylor  <otaylor@redhat.com>
5584
5585         * gtk/gtktext.c (new_text_property): We free things from
5586         the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
5587
5588         * Fix up line start cache when splitting a property
5589         during an insert.
5590
5591 Wed Jul 15 21:15:52 1998  Owen Taylor  <otaylor@redhat.com>
5592
5593         * gtk/gtkwidget.c: restauration => restoration
5594
5595 Thu Jul 16 20:11:36 1998  Owen Taylor  <otaylor@redhat.com>
5596
5597         * gdk/gdkxid.c (gdk_xid_table_lookup): If xid_ht
5598         hasn't been created yet, don't do the lookup.
5599
5600 1998-07-20  Raph Levien  <raph@acm.org>
5601
5602         * gdk/gdkrgb.c: More cleanups in the config process.
5603
5604 1998-07-20  Raph Levien  <raph@acm.org>
5605
5606         * gdkrgb.c: Fixed minor config bug preventing big-endian
5607         architectures from working.
5608
5609 Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>
5610
5611         * gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
5612         activity indicator. It is settable now as a fraction of the
5613         total width/height using gtk_progress_bar_set_activity_blocks.
5614         Renamed gtk_progress_bar_set_number_of_blocks to
5615         gtk_progress_bar_set_discrete_blocks.
5616
5617 Mon Jul 20 21:28:18 1998  Lars Hamann  <lars@gtk.org>
5618
5619         * gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
5620         (gtk_ctree_pre_recursive_to_depth): new functions, recursive process
5621         tree to specified depth
5622         (gtk_ctree_expand_to_depth): expand tree to specified depth
5623         (gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
5624
5625 Sun Jul 19 23:51:05 1998  Lars Hamann  <lars@gtk.org>
5626
5627         * gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
5628         of GTK_CLIST_ADD_MOD
5629         * gtk/testgtk.c (add1000_clist): changed pixmap
5630
5631 Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>
5632
5633         * gtk/gtkmain.h: 
5634         * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
5635
5636         * gtk/gtktypeutils.h:
5637         * gtk/gtkitemfactory.h: remove "void" from prototypes again.
5638
5639 Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>
5640
5641         * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
5642         CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
5643         (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
5644         CHILD_ARG_POSITION
5645         (gtk_notebook_reorder_child): new funktion to change position of a
5646         notebook page
5647         (gtk_notebook_draw_arrow): draw left/right arrow with
5648         GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
5649
5650         * gtk/gtkstyle.c (gtk_default_draw_arrow):
5651         added GTK_SHADOW_ETCHED_IN/OUT
5652
5653 Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>
5654
5655         * gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
5656           gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
5657         Introduced generic GtkProgress widget. Derived GtkProgressBar from
5658         GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
5659
5660 Fri Jul 17 23:49:28 PDT 1998 Manish Singh <yosh@gimp.org>
5661
5662         * gtk/gtktypeutils.h
5663         * gtk/gtkitemfactory.h: explicitly specify void in prototype
5664
5665 Fri Jul 17 17:54:02 1998  Lars Hamann  <lars@gtk.org>
5666
5667         * gtk/gtkclist.c (scroll_vertical): fix to avoid flicker at begin/end
5668         of list
5669
5670 Fri Jul 17 05:30:47 1998  Tim Janik  <timj@gtk.org>
5671
5672         * gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
5673         sropped the approach of copying all signal specific data into a
5674         GtkHandlerInfo structure. we rather keep the signal data on the stack
5675         in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
5676         avoids multiple lookups of the signal pointer and works savely together
5677         with destroy notifiers of handlers.
5678
5679         * gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
5680         someone destroys the entry on the ::activate signal.
5681
5682 Fri Jul 17 01:21:32 1998  Tim Janik  <timj@gtk.org>
5683
5684         * gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
5685         instead of ypad (typo).
5686         (gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
5687         border around the allocation).
5688         (gtk_arrow_init): the static requisition needs to be setup in this
5689         function rather than gtk_widget_new(), so arrow creation works without
5690         the gtk_arrow_new() constructing.
5691         (gtk_arrow_expose): return TRUE, since we actually handled the expose.
5692
5693         * gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
5694         implementation for GtkWidget::size_request, so size requisition for
5695         simple statically sized widgets like GtkArrow works.
5696
5697 Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
5698
5699         * gtk-config.in: minor changes to gtk-config: --cflags doesn't
5700         prepend -I@libdir@/glib/include anymore, since glib-config handles
5701         it; --libs strips out redundant -L<path>'s properly (there was
5702         code in there to do it before, but it didn't work)
5703
5704 Thu Jul 16 18:24:41 1998  Tim Janik  <timj@gtk.org>
5705
5706         * gtk/gtknotebook.h: 
5707         * gtk/gtknotebook.c: signdness corrections all ove the place.
5708         implementation of object arguments: GtkNotebook::enable_popup,
5709         GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
5710         GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
5711         begun implementation of child args, we have GtkNotebook::tab_label, but
5712         GtkNotebook::menu_label and GtkNotebook::position still lack the
5713         implementation.
5714         (gtk_notebook_remove_page):
5715         (gtk_notebook_current_page): allow negative indices (-1) as alias for
5716         the last page.
5717
5718         * gtk/gtkentry.h:
5719         * gtk/gtkentry.c: GtkType and macro fixups. implementation of object
5720         arguments GtkEntry::max_length and GtkEntry::visibility.
5721         (gtk_entry_adjust_scroll): queue a redraw.
5722
5723         * gtk/gtkeditable.h:
5724         * gtk/gtkeditable.c: GtkType und macro fixups. implementation of
5725         object arguments GtkEditable::text_position and GtkEditable::editable.
5726         new (action) signal GtkEditable::set_editable.
5727         provide a default handler for GtkEditable::changed that queues a redraw.
5728
5729         * gtk/gtktext.h: 
5730         * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
5731         set_editable.
5732
5733 Thu Jul 16 14:42:11 1998  Lars Hamann  <lars@gtk.org>
5734
5735         * gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
5736         case of drag_target == NULL
5737         * gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
5738         Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
5739         * gtk/gtkfilesel.c (gtk_file_selection_file_button,
5740         gtk_dir_selection_file_button): fix due to changes in clist's
5741         select_row signal.
5742
5743 Thu Jul 16 01:27:15 1998  Tim Janik  <timj@gtk.org>
5744
5745         * gtk/gtkwidget.h:
5746         * gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
5747         similar to gtk_widget_set_uposition(). that is: -1=unspecified,
5748         -2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
5749         to be gint16s rather than guint16s, since that's what the code expected
5750         (for a long time actually).
5751
5752         * gtk/gtkviewport.c:
5753         added support for object arguments: GtkViewport::shadow_type,
5754         GtkViewport::vadjustment and GtkViewport::hadjustment.
5755         (gtk_viewport_add): chain gtk_bin_add.
5756
5757         * gtk/gtkscrolledwindow.c: 
5758         added support for object argument: GtkScrolledWindow::hscrollbar_policy,
5759         GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
5760
5761         * gtk/gtkadjustment.h: 
5762         * gtk/gtkadjustment.c: 
5763         * gtk/gtkctree.h: 
5764         * gtk/gtkclist.h: 
5765         * gtk/gtkctree.c: 
5766         * gtk/gtkclist.c:
5767         * gtk/gtkscrolledwindow.h:
5768         * gtk/gtkscrolledwindow.c:
5769         * gtk/gtkviewport.h:
5770         * gtk/gtkviewport.c:
5771         GtkType and macro fixups.
5772
5773 Thu Jul 16 01:10:02 1998  Lars Hamann  <lars@gtk.org>
5774
5775         * gtk/gtkctree.h :
5776         * gtk/gtkctree.c :
5777         Added focus handling, horizontal and vertical autoscrolling,
5778         extended Selection Mode, key bindings
5779         Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
5780         Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
5781         Removed gtk_ctree_clear.
5782         
5783         * gtk/gtkclist.h :
5784         * gtk/gtkclist.c : 
5785         Added focus handling, horizontal and vertical autoscrolling,
5786         extended Selection Mode, key bindings
5787
5788 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
5789
5790         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
5791         source tree. For more information on GdkRgb, please see:
5792         http://www.levien.com/gdkrgb/
5793
5794         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
5795         bothers me slightly that the feature is in gdk, and this file is
5796         in gtk, but it's probably ok.
5797
5798         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
5799
5800         * gdk/gdkrgb.c:
5801         * gdk/gdkrgb.h: Added this module.
5802
5803         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
5804
5805         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
5806
5807 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
5808
5809         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
5810         to this function. it needs to relookup the signal multiple times.
5811         this fixes spurious segfaults that could show up with signal intensive
5812         code, when classes are created during a pending emission (which is
5813         normal case).
5814
5815 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
5816
5817         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
5818         child if it isn't a label.
5819
5820 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
5821
5822         * gtk/gtkdialog.h: 
5823         * gtk/gtkseparator.h: 
5824         * gtk/gtkhseparator.h: 
5825         * gtk/gtkvseparator.h: macro and GtkType fixups.
5826
5827 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
5828
5829         * gtk/testgtk.c (create_cursors): display the current cursor name.
5830
5831         * gtk/gtktypeutils.h: 
5832         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
5833         the fundamental type definition. the GtkArg union now only covers
5834         the required storage types for argument values. adapted the GTK_VALUE_*
5835         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
5836
5837         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
5838         code, fixed int/float collection. fixed a bug in the sanity checking
5839         code for GtkObjects.
5840
5841         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
5842         argument collection code.
5843
5844         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
5845         macros when distinguishing the return type.
5846
5847 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
5848
5849         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
5850           is not NULL before trying to g_list_remove the child. A patch
5851           from Michael Lausch.
5852
5853 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
5854
5855         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
5856         collection (always casted to doubles upon argument passing).
5857
5858 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
5859
5860         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
5861         object_init_func for derived objects with the object's ->klass field
5862         still pointing to the corresponding base class, otherwise overridden
5863         class functions could get called with partly-initialized objects.
5864         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
5865
5866 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
5867
5868         * gtk/gtkobject.h:
5869         * gtk/gtkobject.c:
5870         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
5871
5872         * gtk/gtkcontainer.h:
5873         * gtk/gtkcontainer.c:
5874         (gtk_container_child_arg_get_info): new function which wraps
5875         gtk_arg_get_info().
5876
5877 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
5878
5879         * gtk/gtkcontainer.c:
5880         (gtk_container_arg_get): 
5881         (gtk_container_arg_set): 
5882         * gtk/gtkobject.c:
5883         (gtk_object_arg_set): 
5884         (gtk_object_arg_get):
5885         strictly check for the associated get/set arg functions. if an
5886         arg is readable or writable, the associated class functions *must*
5887         be provided.
5888
5889 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
5890
5891         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
5892         padding into account if there is an accelerator.
5893
5894 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
5895
5896         * gtk/gtkcontainer.c:
5897         (gtk_container_add_with_args): collect the arguments with
5898         gtk_container_child_args_collect, not through gtk_object_args_collect.
5899         (gtk_container_child_set): likewise.
5900
5901 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
5902
5903         * gtk/gtktypeutils.h: 
5904         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
5905         which is derived from GTK_TYPE_STRING.
5906
5907         * gtk/gtkbindings.c: reworked the argument type handling.
5908
5909 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
5910
5911         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
5912           so that it seems to allow normal operation in those modes,
5913           although you will only see black  (GIMP toolbar now pops up,
5914           just don't create a new image and GIMP now works in 4 bit.)
5915
5916 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
5917
5918         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
5919           array, which was too low (?)
5920
5921 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
5922
5923         * gtk/gtkcontainer.h: 
5924         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
5925         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
5926         we now export a new function gtk_container_child_args_collect().
5927         for consistency with the object arguments, a few functions got renamed:
5928         gtk_container_child_arg_get -> gtk_container_child_get,
5929         gtk_container_child_arg_set -> gtk_container_child_set,
5930         gtk_container_child_arg_getv -> gtk_container_child_getv,
5931         gtk_container_child_arg_setv -> gtk_container_child_setv,
5932         gtk_container_add_with_argv -> gtk_container_addv.
5933         note, gtk_container_add_with_args() remained, because its equivalent
5934         would be gtk_container_add(,, ...) which would break all existing code.
5935         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
5936         we expect the `arg_name' argument to be a const static string now.
5937         (gtk_container_get_child_arg_type): function removed.
5938
5939 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
5940
5941         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
5942         this is a static inline function that collects command line arguments
5943         from a va_list. this file can just be included in all places that
5944         need this functionality.
5945
5946         * gtk/gtkarg.h: 
5947         * gtk/gtkarg.c: new files which implement most of the argument
5948         handling stuff from gtkobject.c. also collected a few more
5949         gtk_arg_* utility functions from else places.
5950
5951         * gtk/gtkobject.h: 
5952         * gtk/gtkobject.c: moved most of the argument handling code into
5953         gtkarg.c. we now export gtk_object_args_collect() as a non-public
5954         method with a blind va_list pointer.
5955         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
5956         const static string now.
5957         (gtk_object_get_arg_type): function got removed.
5958
5959         * gtk/gtkwidget.c: 
5960         (gtk_widget_set): 
5961         (gtk_widget_new): adaptions for gtk_object_args_collect().
5962
5963         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
5964         fundamental type name so as to have a valid prefix, e.g. "bool"->
5965         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
5966         though that should probably be something like GtkNone since the
5967         type itself is called GTK_TYPE_NONE.
5968         even the internal type names need to avoid name clashes and must live
5969         in their own namespace, several code portions rely on that.
5970         we should relly have typedefs such as typedef gchar* GtkString; so the
5971         fundamental type names can be used for code dumpers just like with all
5972         the Gtk/Gdk types.
5973
5974 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
5975
5976         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
5977         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
5978         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
5979         (GTK_RELIEF_HALF).
5980         (gtk_button_paint): set the background for prelighted buttons with
5981         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
5982         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
5983         the shadow type (otherwise we get strange shadows for coloured buttons).
5984         (gtk_button_set_relief): queue a redraw after changing
5985         the relief.
5986         (gtk_button_class_init): 
5987         (gtk_button_set_arg): 
5988         (gtk_button_get_arg): added object argument "GtkButton::relief".
5989
5990         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
5991
5992 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
5993
5994         * gtk/gtkbutton.h:
5995         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
5996         GTK_BIN (button)->child to button->child to keep source compatibility.
5997
5998         * gtk/gtkoptionmenu.c:
5999         * gtk/gtkclist.c:
6000         * gtkcheckbutton.c: don't refer to button->child, but
6001         GTK_BIN (button)->child instead.
6002
6003 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
6004
6005         * docs/gtkfaq.sgml: update anon CVS info
6006
6007 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
6008
6009         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
6010         functions.
6011
6012         * gdk/gdkwindow.c:
6013         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
6014         to XFree() calls.
6015
6016 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6017
6018         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
6019         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
6020
6021 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
6022
6023         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
6024
6025 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
6026
6027         * gtk/gtkwidget.h:
6028         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
6029
6030         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
6031         error that prevented signal to entry addition for signals with
6032         parameters.
6033
6034 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
6035
6036         * ltconfig: fix for properly detecting shared lib support on
6037         SunPro cc (taken from libtool 1.2.a)
6038
6039 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
6040
6041         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
6042
6043 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
6044
6045         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
6046         rc set pattern is favoured, this is needed for overriding of style
6047         patterns with subsequently parsed rc files.
6048
6049 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
6050
6051         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
6052         error messages.
6053
6054 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
6055
6056         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
6057         modifier as well.
6058         (gtk_accelerator_name): add "<Release>" to the accelerator name if
6059         neccessary.
6060
6061         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
6062         account.
6063
6064         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
6065         default handler for key-release events, which checks for activation
6066         of GDK_RELEASE_MASK key bindings.
6067
6068         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
6069
6070 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
6071
6072         * gtk/gtkarrow.h: GtkType and macro fixups.
6073         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
6074         "GtkArrow::shadow_type".
6075
6076 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
6077
6078         * gtk/gtkalignment.h:
6079         * gtk/gtkbin.h: GtkType and macro fixups.
6080         
6081         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
6082         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
6083         GtkAlignment::xscale, GtkAlignment::yscale.
6084
6085 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
6086
6087         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
6088         fucntions from all parent types upon class initialization.
6089
6090         * gtk/gtkcontainer.c:
6091         (gtk_container_get_type): announce gtk_container_base_class_init to
6092         the type system.
6093         (gtk_container_base_class_init): new function to feature base class
6094         initialization.
6095         (gtk_container_get_child_arg): 
6096         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
6097         and set_child_arg methods of the class indicated through the argument
6098         name.
6099
6100         * gtk/gtkobject.c:
6101         (gtk_object_base_class_init): new function to feature base class
6102         initialization.
6103         (gtk_object_init_type): announce gtk_object_base_class_init to the type
6104         system.
6105         (gtk_object_class_init): setup the get_arg and set_arg pointers for
6106         GtkObjectClass.
6107         (gtk_object_setv): 
6108         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
6109         instead of bothering the type system with this.
6110
6111         * gtk/gtkaccellabel.c: 
6112         * gtk/gtkbutton.c: 
6113         * gtk/gtkradiobutton.c: 
6114         * gtk/gtktable.c:
6115         * gtk/gtktogglebutton.c: 
6116         * gtk/gtktipsquery.c: 
6117         * gtk/gtkbox.c: 
6118         * gtk/gtkpacker.c: 
6119         * gtk/gtkwidget.c: 
6120         * gtk/gtkwindow.c: 
6121         * gtk/gtkframe.c: 
6122         * gtk/gtkmisc.c:
6123         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
6124         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
6125         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
6126         arg functions to take a GtkObject argument.
6127
6128         gtk/gtkadjustment.c:
6129         gtk/gtkalignment.c:
6130         gtk/gtkarrow.c:
6131         gtk/gtkaspectframe.c:
6132         gtk/gtkbbox.c:
6133         gtk/gtkbin.c:
6134         gtk/gtkcheckbutton.c:
6135         gtk/gtkcheckmenuitem.c:
6136         gtk/gtkclist.c:
6137         gtk/gtkcolorsel.c:
6138         gtk/gtkcombo.c:
6139         gtk/gtkctree.c:
6140         gtk/gtkcurve.c:
6141         gtk/gtkdata.c:
6142         gtk/gtkdialog.c:
6143         gtk/gtkdrawingarea.c:
6144         gtk/gtkeditable.c:
6145         gtk/gtkentry.c:
6146         gtk/gtkeventbox.c:
6147         gtk/gtkfilesel.c:
6148         gtk/gtkfixed.c:
6149         gtk/gtkfontsel.c:
6150         gtk/gtkgamma.c:
6151         gtk/gtkhandlebox.c:
6152         gtk/gtkhbbox.c:
6153         gtk/gtkhbox.c:
6154         gtk/gtkhpaned.c:
6155         gtk/gtkhruler.c:
6156         gtk/gtkhscale.c:
6157         gtk/gtkhscrollbar.c:
6158         gtk/gtkhseparator.c:
6159         gtk/gtkimage.c:
6160         gtk/gtkinputdialog.c:
6161         gtk/gtkitem.c:
6162         gtk/gtkitemfactory.c:
6163         gtk/gtklist.c:
6164         gtk/gtklistitem.c:
6165         gtk/gtkmenu.c:
6166         gtk/gtkmenubar.c:
6167         gtk/gtkmenuitem.c:
6168         gtk/gtkmenushell.c:
6169         gtk/gtknotebook.c:
6170         gtk/gtkoptionmenu.c:
6171         gtk/gtkpaned.c:
6172         gtk/gtkpixmap.c:
6173         gtk/gtkpreview.c:
6174         gtk/gtkprogressbar.c:
6175         gtk/gtkradiomenuitem.c:
6176         gtk/gtkrange.c:
6177         gtk/gtkruler.c:
6178         gtk/gtkscale.c:
6179         gtk/gtkscrollbar.c:
6180         gtk/gtkscrolledwindow.c:
6181         gtk/gtkseparator.c:
6182         gtk/gtkspinbutton.c:
6183         gtk/gtkstatusbar.c:
6184         gtk/gtktext.c:
6185         gtk/gtktoolbar.c:
6186         gtk/gtktooltips.c:
6187         gtk/gtktree.c:
6188         gtk/gtktreeitem.c:
6189         gtk/gtkvbbox.c:
6190         gtk/gtkvbox.c:
6191         gtk/gtkviewport.c:
6192         gtk/gtkvpaned.c:
6193         gtk/gtkvruler.c:
6194         gtk/gtkvscale.c:
6195         gtk/gtkvscrollbar.c:
6196         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
6197         match the modified GtkTypeInfo structure.
6198
6199 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
6200
6201         * gtk/testgtk.c: use rand() instead of random() for portability
6202
6203 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
6204
6205         * configure.in
6206         * acconfig.h
6207         * gdk/gdk.c: use native Xlib XConvertCase if it's available
6208
6209 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
6210
6211         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
6212         XConvertCase() functionality from X11R6 on X11R5 systems.
6213
6214 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
6215
6216         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
6217         gdk_string_height, gdk_char_height to retrieve the exact
6218         height of a text.
6219
6220 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
6221
6222         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
6223           by Stefan Mars <mars@lysator.liu.se>
6224         * examples/clist/clist.c examples/clist/Makefile: example code
6225           for GtkCList widget from the Tutorial
6226
6227 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
6228
6229         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
6230         if the container is not visible, we might be a toplevel! this holds
6231         for all other base container implementations as well, that are
6232         candidates to derive toplevels from. in general the resizing code will
6233         care about visibility itself.
6234         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
6235         * gtk/gtkbox.c (gtk_box_remove): likewise.
6236
6237         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
6238         gtk_window_set_hints(), since we haven't calculated the new position
6239         yet.
6240
6241         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
6242         *mask are alway initialized in a sane way, regardless of the return
6243         value.
6244
6245 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
6246
6247         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
6248         to gtk_container_child_arg_setv, but takes a variable argument list.
6249         new function gtk_container_get_child_arg_type, which is needed by
6250         gtk_object_collect_args.
6251
6252         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
6253         take a function pointer to figure the argument type.
6254         adapted callers to pass gtk_object_get_arg_type.
6255         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
6256         gtk_object_get_arg_type..
6257
6258         * gtk/gtkpacker.h: 
6259         * gtk/gtkpacker.c:
6260         (gtk_packer_reorder_child): new function to change the packing order
6261         of a child.
6262         (gtk_packer_size_request): 
6263         (gtk_packer_size_allocate): take container->border_width into acount.
6264
6265         * gtk/gtkpacker.c: implemented widget arguments:
6266         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
6267         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
6268         implemented child arguments:
6269         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
6270         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
6271         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
6272         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
6273
6274         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
6275         not the alignment.
6276
6277         * gtk/gtkeventbox.h:
6278         * gtk/gtkeventbox.c: GtkType and macro fixups.
6279
6280         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
6281         sensitivity of an entry.
6282
6283         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
6284         for insensitive base and text.
6285
6286         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
6287         widget state dependent.
6288         (gtk_entry_style_set): likewise.
6289         (gtk_entry_state_changed): set background color on state changes.
6290         (gtk_entry_draw_text): for non selected text, use state dependent
6291         colors.
6292
6293         * gtk/gtktogglebutton.c: support for widget arguments
6294         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
6295
6296 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
6297
6298         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
6299         code for 1.0.x-like parameters. Changed internal interface of
6300         gtk_spin_button_real_spin. Several fixes to avoid emission of
6301         "value_changed" where possible.
6302
6303 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
6304
6305         * gtk-boxed.defs: s/GkWidget/GtkWidget/
6306
6307 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
6308
6309         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
6310         to select the resize_mode for the idle-labels container.
6311
6312         * gtk/gtkframe.h: 
6313         * gtk/gtkframe.c: GtkType and macro corrections.
6314
6315         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
6316         support widget argument "GtkRadioButton::group".
6317
6318 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
6319
6320         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
6321         unconditionally if resize_mode has changed.
6322
6323         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
6324         GTK_RESIZE_QUEUE on the scrolled window.
6325         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
6326
6327 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
6328
6329         * gtk/gtkcontainer.h:
6330         * gtk/gtkcontainer.c:
6331         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
6332         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
6333         (gtk_container_queue_resize): new function to queue a container for
6334         a *size* reallocation (doesn't affect its position, and thus its
6335         parent is left untouched usually).
6336         (gtk_container_get_resize_container): new function to retrive the next
6337         most resize container which is not itself queued for a resize.
6338         (gtk_container_idle_sizer): new function to carefully process the
6339         container_resize_queue since it can change during invokation of
6340         gtk_container_check_resize().
6341         (gtk_container_resize_children): total rework of this function to
6342         properly handle resize containers. makes a lot of assumptions whitch
6343         are stated in the comments.
6344
6345         * gtk/gtkcontainer.c:
6346         (gtk_container_real_check_resize): only requeue ourselves if we are not
6347         a resize container.
6348         (gtk_container_clear_resize_widgets): care for automatic deletion of our
6349         resize_widgets list on size_allocate through a handler connection.
6350
6351         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
6352         focus and default widget of a window, so to take the burden from
6353         gtk_widget_unparent.
6354
6355         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
6356         to be clever, but actually messed up the resize_children logic and
6357         caused unneccessary allocations on its whole branch. besides this,
6358         it messed up the display by not invoking a redraw after the allocation.
6359
6360         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
6361         that it is the child again that is queued for a resize.
6362         (gtk_table_attach): likewise.
6363         (gtk_table_remove): likewise.
6364
6365 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6366
6367         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
6368         gtk_entry_adjust_scroll.  Required if you change the cursor
6369         position and want to sync it up with your code (Midnight Commander
6370         gtk front end needs this).
6371
6372         * gtk/gtktable.c: Deal with tables that have size 0, 0.
6373
6374 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
6375
6376         * examples/README.1ST: new file to explain how the
6377           code examples should be extracted from the tutorial.
6378
6379 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
6380
6381         * gtk/gtkctree.c (draw_row): added new "line style"
6382         GTK_CTREE_LINES_TABBED 
6383         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
6384         search the glist pointer of an GtkCTreeRow
6385
6386 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
6387  
6388         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
6389         from, and clean up, the dependencies.  Generate to intermediate
6390         files to prevent problems with Ctrl-C.
6391
6392         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
6393
6394 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
6395
6396         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
6397         - Bug fix for precision problem causing occasional double emission 
6398           of "value_changed" signal (hopefully works now).
6399         - API change (should be binary compatible) : 
6400           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
6401           Modified cursor example appropriately.
6402           To spin by something other than step_/page_increment, use
6403           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
6404         - Made GTK_SHADOW_NONE the default. ;)
6405         - Fixed casting of GtkAdjustment* to GtkWidget* in
6406           gtk_spin_button_value_changed.
6407
6408 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
6409
6410         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
6411         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
6412         resize widget list before queuing the container for a new reize.
6413         (gtk_container_need_resize): changed return value to FALSE, since this
6414         used to indicate that no further resizes are needed.
6415         (gtk_container_set_arg): 
6416         (gtk_container_get_arg): 
6417         (gtk_container_class_init): implemented GtkContainer::resize_mode
6418         argument.
6419
6420         (gtk_container_resize_children): when we walk up the tree of a resize
6421         widget we need to stop if we are the current parent.
6422
6423         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
6424         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
6425         (gtk_widget_hide_all): retrive the toplevel widget from via
6426         gtk_widget_get_resize_container().
6427
6428 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
6429
6430         * gtk/gtklist.c (gtk_list_button_press): Only respond
6431           to selection with button 1. This allows context-sensitive
6432           menus to work correctly.
6433
6434 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
6435
6436         * gtk/gtkaccelgroup.c: 
6437         * gtk/gtkbindings.c: 
6438         * gtk/gtkcontainer.c:
6439         * gtk/gtkitemfactory.c:
6440         * gtk/gtkobject.c: 
6441         * gtk/gtksignal.c:
6442         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
6443         g_quark_from_static_string calls to save memory.
6444
6445         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
6446         function _after_ the new data has been setup.
6447         minor changes to object data functions to feature the GQuark type.
6448
6449 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
6450
6451         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
6452           from argv.
6453
6454 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
6455
6456         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
6457           to be more readable perl, to spit out stuff that looks
6458           more like readable C, and to pipe output through indent
6459           so output looks a lot like readable C. No functional
6460           changes.
6461
6462 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
6463
6464         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
6465           necessary when switching to a masked pixmap. (Based on a patch
6466           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
6467
6468 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
6469
6470         * gtk/gtkeditable.[ch]: Added action signals for keyboard
6471           bindings. (move_cursor, kill_word, etc, etc, etc). 
6472
6473           removed the time argument from
6474           gtk_editable_cut/copy/paste_clipboard (source but not
6475           binary incompatible...) Instead get time from
6476           gtk_get_current_event ().
6477         
6478         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
6479           signals.
6480
6481 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
6482
6483         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
6484
6485         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
6486              parent class to GtkNotebookClass when splitting the widget in
6487              two.  Also updated some comments.
6488
6489         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
6490                button without a font selected.
6491
6492              Fixed bug in set_font_name - I hadn't updated the code to
6493                search for the style in the font_style clist - it was
6494                still assuming the style row was equal to its index,
6495                but it isn't any more.
6496         
6497              Changed 'Reset' button on filter page to 'Clear Filter'.
6498              Deleted old code relating to the old 'Filter Fonts' toggle
6499              Updated some comments.
6500              Cleared 'Actual Fontname' if no font is set.
6501
6502         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
6503              destroying the GtkFontSelection instead of the
6504              GtkFontSelectionDialog.
6505
6506 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
6507
6508         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
6509           flag to make all warnings fatal errors.
6510
6511         * gtk/testthreads.c: moved <pthreads.h> include inside 
6512           #ifdef USE_PTHREADS
6513
6514 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
6515
6516         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
6517           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
6518
6519         - Added new function gtk_container_set_resize_mode() for
6520           fine-grained control of where resize-queueing is done.
6521
6522         - Removed GtkContainer::need_resize and GtkWindow::move_resize
6523         - Added GtkContainer::check_resize to replace need_resize.
6524
6525         - Added function gtk_container_check_resize() to trigger
6526           queued resizes, and gtk_container_resize_children() to
6527           Figure which children need to be size-allocated. (logic
6528           moved from gtkwindow.c)
6529
6530         - Reorganized code in gtkwindow.c
6531         
6532         - Set the resize-mode for viewports so that resizes within
6533           a viewport don't propagate out of it. 
6534         
6535 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6536
6537         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
6538
6539         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
6540         g_return_val_if_fail, because the function *does* return a value.
6541
6542 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
6543
6544         * gtk/gtkaccellabel.h:
6545         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
6546         request the size of the accelerator portion of an accel label.
6547         (gtk_accel_label_size_request): don't request for the accelerators size.
6548         (gtk_accel_label_expose_event): only draw the accelerator if we got
6549         enough extra space.
6550
6551         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
6552         width from children.
6553
6554         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
6555         object (after removal has been requested) check if there is still an
6556         accelerator remaining to avoid adding two accelerators on an object.
6557         this can happen for locked accelerators (or accelerator-frozen widgets).
6558         (gtk_menu_size_request): feature childrens accelerator width in size
6559         requests.
6560
6561         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
6562         gtk_widget_freeze_accelerators() for dynamically created menu items.
6563
6564         * gtk/gtksignal.h: 
6565         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
6566         which will return a handler_id > 0 if the specified function is pending
6567         for `signal_id'.
6568
6569         * gtk/gtkwidget.h:
6570         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
6571         a signal handler function to stop accelerator addition.
6572         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
6573         which will prevent (undo) any accelerators from being added to or
6574         removed from a widget.
6575
6576 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
6577
6578         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
6579         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
6580         acceleration, new API gtk_spin_button_set_snap_to_ticks.
6581
6582 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
6583
6584         * gdk/gdk.h:
6585         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
6586         the current GdkWindow the pointer is on if there is any.
6587         
6588         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
6589         and one column, so we don't construction logic at all. changed a few
6590         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
6591         unsigned int wraps.
6592
6593         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
6594         portion, added an additional check for parent != widget.
6595
6596         * more GtkType and macro fixups.
6597
6598 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6599
6600         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
6601         "clip" parameter, which is the clipping rectangle to use.  This
6602         eliminates the extremely annoying flicker when exposing parts of
6603         the handlebox.
6604
6605 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
6606
6607         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
6608         resizing
6609
6610 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
6611
6612         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
6613         != 0 on the argument.
6614
6615         * gtk/gtktable.h: 
6616         * gtk/gtktable.c: new function gtk_table_resize() which allowes
6617         shrinking and expanding of tables. implementation of widget arguments
6618         and child arguments. many signedness corrections.
6619
6620 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
6621
6622         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
6623         not only the child, otherwise we might end up taking away other
6624         childrens space after the resize.
6625
6626         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
6627         an unknown menu path from any source, that path must always be flagged
6628         as "modified", since we don't really know whether it has its default
6629         value or not.
6630
6631         * gtk/gtktree.c:
6632         * gtk/gtkpacker.c:
6633         * gtk/gtknotebook.c:
6634         * gtk/gtkmenushell.c:
6635         * gtk/gtklist.c:
6636         * gtk/gtkpaned.c:
6637         * gtk/gtkfixed.c: 
6638         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
6639
6640         * gtk/gtkbox.h: 
6641         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
6642         arguments. implemented child arguments.
6643
6644         * more GtkType and macro fixups.
6645
6646 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
6647
6648         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
6649
6650         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
6651         and gtk_clist_get_hadjustment.
6652
6653         * gtk/gtkcontainer.c:
6654         implementation of children arguments, new class member functions
6655         (child_type), (get_child_arg) and (set_child_arg) plus a new field
6656         n_child_args.
6657         (gtk_container_child_type): new function which returns the type of a
6658         child that the container expects for its next addition.
6659         (gtk_container_add_child_arg_type): new function to introduce a new
6660         child argument at class creation time.
6661         (gtk_container_query_child_args): new function to query all child
6662         arguments that are supported by a container class.
6663         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
6664         child argument.
6665         (gtk_container_child_arg_setv): new function to set a child argument for
6666         a certain container and child combination.
6667         (gtk_container_add_with_args):
6668         (gtk_container_add_with_argv): new functions to feature addition of a
6669         new child in combination with the setting of certain child arguments.
6670
6671         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
6672         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
6673         this should really be done through class cretion hooks some day.
6674
6675         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
6676         guint : 16.
6677
6678         * gtk/gtkpacker.h:
6679         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
6680         follow the gtk convention for lower case variable names (important
6681         for language wrappers and widget arguments), and made them guint : 16.
6682
6683         * examples/packer/pack.c: adaptions for the case converted GtkPacker
6684         fields.
6685
6686 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
6687
6688         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
6689         change the character pair for single line comments.
6690         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
6691         GtkItemFactoryClass.
6692         (gtk_item_factory_parse_rc_string): likewise.
6693
6694 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
6695
6696         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
6697         lists from the klass structure to a static structure
6698         in gtkfontsel.c; cleans up global the namespace.
6699
6700 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
6701
6702         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
6703         bug with /*< skip >*/ and remove warning.
6704         
6705 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
6706
6707         * gtk/Makefile.am: Made the gtkmarshal.* generation
6708         rules maintainer-only.
6709
6710 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
6711
6712         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
6713           gtk/Makefile.am gtk/makenums.pl 
6714
6715         Removed out the G_ENUM/FLAGS mechanism in favor
6716         of a perl script that parses the standard headers
6717         (with occasional /*< nick=foo >*/ style overrides)
6718         and extracts the enumerations.
6719
6720           gtk/maketypes.awk: Small improvments to the
6721           translation of names. (Avoid splitting gc into
6722           g_c_.)
6723         
6724 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
6725
6726         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
6727         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
6728         
6729 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
6730
6731         * gtk/gtkentry.c:
6732         - Restored gtk_entry_adjust_scroll to static 
6733         - Changed text positioning code so that we always
6734           display as large a portion of the text as possible.
6735
6736 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
6737
6738         * gtk/gtktext.c (gtk_text_finalize): Free internal
6739         structures of text widget. Also, unreference pixmaps
6740         when unrealizing.
6741         
6742 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
6743
6744         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
6745         3.3.1 bug workaround to number keys starting at 1.
6746
6747 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
6748
6749         * docs/gtk_tut.sgml: Fixed urls for complete example
6750         source for scribble+widget-writing examples.
6751
6752 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
6753
6754         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
6755         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
6756         specs of the form c #abcdef [ more keys ] properly.
6757
6758 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
6759
6760         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
6761         (gtk_spin_button_set_shadow_type):
6762         New API to set the shadow type of the arrow panel.
6763
6764 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
6765
6766         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
6767         code for drawing the child in two places at once. Unfortunately,
6768         not only does it not work anymore (because reparenting has
6769         been fixed), but it also triggers reparent/expose loops
6770         in some cases.
6771
6772         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
6773         an unecessary unrealize.
6774
6775 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
6776
6777         * gdk/gdkwindow.c (gdk_window_reparent): Update the
6778           old and new parents' child window lists properly.
6779
6780 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
6781
6782         * gtk/gtkpacker.h:
6783         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
6784         and GtkSideType, to be consistent with the rest of Gtk's enum
6785         definitions. wrapped the enum definitions with the G_ eunm wrappers.
6786         spelled out the GTK_ANCHOR_* enum values, since single letters don't
6787         work out corectly as nick-names (left the old values as aliases).
6788         some signdness corrections (border-width, spacing), could stand more.
6789
6790 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
6791
6792         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
6793           Added gtkpacker
6794
6795         * examples/packer/pack.c, examples/packer/Makefile: Added
6796           gtkpacker example
6797
6798 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
6799
6800         * gtk/gtktext.c (remove_cache_line): Fixed broken
6801         list-removal code.
6802
6803         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
6804         Check bounds before deleting.
6805
6806 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
6807
6808         * autogen.sh: Support ACLOCAL_FLAGS
6809
6810 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
6811
6812         * gtk-config.in: Added missing quotes.
6813
6814 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
6815
6816         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
6817
6818 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
6819
6820         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
6821         G_COMPILED_WITH_DEBUGGING.
6822
6823         * configure.in (fd_set): Explain check better.
6824
6825         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
6826         the version from which gtk+'s libtool forked.  Needed for people
6827         who use post-1.2 alphas of libtool.
6828
6829 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
6830
6831         * glib/* Moved to glib module
6832
6833         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
6834           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
6835
6836           configuration changes for the above:
6837          
6838           - Use AM_PATH_GLIB by default to find glib; also accept
6839             a --with-glib option for using an uninstalled glib.
6840          
6841           - Put --enable-debug information into config.h so
6842             that we rebuild when it changes. (was in glibconfig.h)
6843
6844 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
6845
6846         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
6847
6848         * gtk/gtknotebook.h (struct _GtkNotebookClass):
6849         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
6850         added missing argument (according to Joseph Coleman's bug report)
6851
6852         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
6853         function to fix notebook focus handling
6854         
6855 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
6856
6857         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
6858           glib/gutils.c glib/testglib.c glib/gdataset.c
6859           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
6860           gtk/gtktext.c gtk/gtkbindings.c:
6861
6862          renamed g_const_pointer => gconstpointer
6863
6864 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
6865
6866         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
6867         invoked with (NULL, NULL); (this worked sometime ago).
6868
6869         * gtk/gtktypeutils.h: 
6870         * gtk/gtktypeutils.c: enum and flags type creation can now be done
6871         through gtk_type_register_enum() and gtk_type_register_flags(),
6872         which allow to specify the enum value arrays directly.
6873         the NULL terminated value arrays can be retrived through
6874         gtk_type_enum_get_values() and gtk_type_flags_get_values();
6875         (gtk_type_children_types): new function to query derived types.
6876
6877 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
6878
6879         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
6880         environment to genmarshal.pl.
6881         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
6882         rule), and removed it where not needed (in the dependencies).
6883
6884         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
6885
6886 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
6887
6888         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
6889         was just g_direct_hash.
6890
6891 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
6892
6893         * configure.in: x_libs=, not $x_libs=. Enough said.
6894           (Case only hit for --disable-xshm)
6895         
6896 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
6897
6898         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
6899           when testing for X libraries, don't replace them. Because
6900           the user might have specified the path to the X libraries
6901           themself before running configure.
6902
6903         * examples/**.c: Changed all gpointer * to gpointer
6904         
6905 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6906
6907         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
6908         fleur_cursor field.  Now the cursor is created/destroyed on demand
6909         by the routines that need it.
6910
6911         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
6912         (gtk_handle_box_motion): The fleur cursor is created and destroyed
6913         only when needed.
6914
6915 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
6916
6917         * gtk/gtktypeutils.h: 
6918         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
6919         gtk_enum_set_values to gtk_type_enum_get_values and
6920         gtk_type_enum_set_values respectively, since they are actually type
6921         system features.
6922
6923         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
6924         my last commit. ;)
6925
6926 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
6927
6928         * gtk/gtkselection.h: 
6929         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
6930         gtk_selection_data_free.
6931
6932         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
6933         for "selection_received", which was completely bogus.
6934         * other fixups to gtk_signal_new() calls all over the place.
6935
6936         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
6937         * gtk/gtktypebuiltins_vars.c: type variable implementations.
6938         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
6939         declarations.
6940         * gtk/gtktypebuiltins_evals.c: enum value arrays.
6941         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
6942         gtk.defs.
6943         * gtk/gtk.defs: generated file with scheme syntax for type definitions
6944         of gtk and gdk structures and enums.
6945         * gtk/gtktypeutils.h: 
6946         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
6947         macros anymore (this fixes binary incompatibility with new enum
6948         definitions).
6949
6950         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
6951         key bindings for this widget.
6952         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
6953         handler.
6954
6955         * gtk/gtkobject.h:
6956         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
6957         again. new functions gtk_object_class_user_signal_new () and
6958         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
6959         flag on the signal creation.
6960
6961 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
6962
6963         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
6964
6965 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
6966
6967         * gdk/gdkprivate.h: 
6968         * gdk/gdktypes.h: 
6969         * gtk/gtkprivate.h: 
6970         * gtk/gtkwidget.h: 
6971         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
6972
6973         * reworked enum value array generation code. gtk.defs is a generated
6974         file now.
6975
6976 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
6977
6978         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
6979         check menu items in the compatibility code (this required me to remove
6980         the "<check>" part from the menu item name, grrr).
6981
6982 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
6983
6984         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
6985         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
6986         
6987 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
6988
6989         * gtk/gtkitemfactory.h: 
6990         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
6991         additions to the dumping code to feature GtkPatternSpec.
6992         even found a bug to fix in the original code ;)
6993         
6994 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
6995
6996         * gtk/gtkitemfactory.c: support different types of callbacks, to
6997         maintain existing code.
6998
6999 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
7000
7001         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
7002
7003         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
7004         this should eventually be done by gentypeinfo.el somewhen.
7005         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
7006
7007         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
7008         enum values of an enum type.
7009
7010         * gtk/gtk.defs:
7011         * gtk/gtkcurve.h: 
7012         * gtk/gtkobject.h: 
7013         * gtk/gtkprivate.h: 
7014         * gtk/gtkwidget.h:
7015         * gtk/gtkenums.h: 
7016         brought enum/flags definitions in sync, added a few more enum
7017         definitions for bindings and pattern matching.
7018
7019         * some more macro and GtkType fixups in various places.
7020
7021         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
7022         as a key-release modifier for the binding system.
7023
7024 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
7025
7026         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
7027         was a stale list pointer that is already present in GtkMenuShell.
7028
7029         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
7030         GtkMenuShell::selection_done which is emitted after the menu shell
7031         poped down again and all possible menu items have been activated.
7032
7033 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
7034
7035         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
7036         before activation of the menuitem, so the menu is actually taken off the
7037         screen prior to any menu item activation.
7038
7039         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
7040         for NULL nodes.
7041
7042         * gtk/gtkwidget.h:
7043         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
7044         the emission of the "add-accelerator" signal on a widget. this is
7045         usefull to prevent accelerator installation on certain widgets.
7046
7047         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
7048         labels left justified, by setting their alignment. stop accelerator
7049         installation for the menu items, since we use dynamic menus.
7050
7051 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
7052
7053         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
7054         should *really* use GtkItemFactory. this is only for preserving source
7055         compatibility where possible, use of GtkMenuFactory is deprecated as of
7056         now.
7057
7058         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
7059         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
7060         missed this possibility when i added gtk_object_class_add_user_signal
7061         in late january.
7062
7063         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
7064
7065 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
7066
7067         * gtk/gtkaccelgroup.h: 
7068         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
7069
7070         * gtk/gtkaccellabel.h: 
7071         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
7072         display of the accelerators associated with a certain widget.
7073
7074         * gtk/gtkitemfactory.h: 
7075         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
7076         parsing and accelerator handling.
7077
7078         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
7079         positioning a menu.
7080         (gtk_menu_map): removed the allocation code.
7081         (gtk_menu_size_allocate): care for redrawing of children and resize
7082         our widget->window correctly.
7083         (gtk_menu_key_press): feature the new accelerator groups.
7084
7085         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
7086         submenu if neccessary.
7087
7088         * gtk/gtkmenuitem.c:
7089         * gtk/gtkcheckmenuitem.c:
7090         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
7091         function variants.
7092
7093         * gdk/gdk.c:
7094         (gdk_keyval_from_name): 
7095         (gdk_keyval_name): new functions for keyval<->key-name associations.
7096         (gdk_keyval_to_upper): 
7097         (gdk_keyval_to_lower): 
7098         (gdk_keyval_is_upper): 
7099         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
7100         regards to their cases.
7101
7102 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
7103
7104         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
7105         widget's class path.
7106         (gtk_widget_path): new function to calculate a widget's name path.
7107
7108         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
7109         pattern matching, features reversed pattern matches.
7110
7111 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
7112
7113         * examples/extract.sh, examples/extract.awk:
7114           New files to automagically extract code examples from the
7115           tutorial.
7116
7117 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
7118
7119         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
7120         * gtk/gtkcontainer.c (gtk_container_focus_move):
7121         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
7122
7123 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
7124
7125         * docs/gtk_tut.sgml: minor changes to support auto
7126           extraction of example code
7127
7128 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
7129
7130         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
7131           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
7132
7133 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
7134
7135         * docs/gtk_tut.sgml:
7136           - new section on Events
7137           - change all delete_event callbacks to include
7138             a GdkEvent parameter
7139           - clean up the formatting
7140
7141         * examples - helloworld.c, helloworld2.c, notebook.c,
7142           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
7143           rulers.c, table.c, wheelbarrow.c: change all delete_event
7144            callbacks to include a GdkEvent parameter.
7145
7146 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7147
7148         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
7149         field of crossing events.
7150         (struct _GdkEventCrossing): Added the following fields: time, x,
7151         y, x_root, y_root, mode, focus, state.
7152
7153         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
7154         crossing event structure.
7155
7156         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
7157         changes to the crossing event structure.
7158
7159 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
7160
7161         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
7162
7163 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
7164
7165         * docs/gtk_tut.sgml:
7166            - GtkTooltips, update to current API
7167            - change all 'gpointer *data' to 'gpointer data'
7168            - other minor changes
7169
7170 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
7171
7172         * configure.in (LDFLAGS): Bomb out with a moderately
7173           helpful message if detection of X libraries fails.
7174
7175 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
7176
7177   [ Combination of:
7178      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
7179      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
7180
7181         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
7182           gtk/gtksignal.c gtk/gtktext.c: 
7183
7184           Fixups for warnings from adding const to type of GHashFunc,
7185           GCompareFunc
7186         
7187         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
7188           ansi-warnings fixups.
7189
7190 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
7191
7192         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
7193         Locate child at (border_width,border_width), not
7194         (2*border_width,2*border_width). [ The border is _outside_
7195         widget->window ]
7196         
7197         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
7198           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
7199
7200 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7201
7202         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
7203         used in gnome-libs
7204
7205 1998-05-22    <sopwith@redhat.com>
7206
7207         * gtk/gtkeventbox.c: Pass size_allocate on to the child
7208         regardless of whether it is visible or not. Also
7209         locate child at (border_width,border_width), not (0,0)
7210
7211 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
7212
7213         * gtk/gtkhandlebox.c: Added style_set handler.
7214
7215 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
7216  [ From: Chris Lahey  <clahey@umich.edu> ]
7217         
7218         * gtk/gtkeditable.c, gtk/gtkeditable.h,
7219           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
7220           and set_position functions to get and set the cursor position.
7221
7222         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
7223           signal status. Make GtkText do user-controlled insertion
7224           and deletion through the Editable widget so that these
7225           signals are properly emitted.
7226
7227         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
7228           display asterisks instead of empty space when visible = FALSE)
7229
7230 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
7231
7232         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
7233         signal.
7234
7235 1998-05-21    <sopwith@redhat.com>
7236
7237         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
7238         custom routine for loading images specified in gtkrc's.
7239
7240 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
7241
7242         * configure.in: Use pthread_attr_init() as a test function,
7243         since most of the rest of -lpthread is macros on DU4.
7244
7245 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
7246
7247         * gtk/gtkcombo.c: implemented completion in the entry.
7248
7249 1998-05-18    <sopwith@moebuis.labs.redhat.com>
7250
7251         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
7252
7253 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
7254
7255         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
7256         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
7257         to be of runtype GTK_RUN_LAST.
7258
7259         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
7260         "need-resize".
7261
7262         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
7263         "widget-selected".
7264
7265 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
7266
7267         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
7268         text retrived from GtkEntry. only intercept the Tab key if there
7269         was some text to complete.
7270
7271 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
7272
7273         Basic thread-awareness:
7274
7275         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
7276
7277         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
7278         gdk_threads_[init/enter/leave] for applications, plus
7279         gdk_threads_wake to wake the mainloop thread out of
7280         the select().
7281
7282         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
7283
7284 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
7285
7286         * gtk/testgtk.c (list_clear): Account for the fact
7287         that gtk_list_clear_items is not inclusive. (Clears
7288         [start, end))
7289
7290 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
7291
7292         * gdk/gdk.c: include gdkkeysyms.h always
7293         
7294
7295 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
7296
7297         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
7298         the visibility_notify_event method and changed method order.
7299
7300 1998-05-14    <sopwith@moebuis.labs.redhat.com>
7301
7302         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
7303
7304 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
7305
7306         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
7307         from Olli Helenius <ollhel@batman.jytol.fi>.
7308
7309         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
7310         freeing types.
7311         (gtk_type_set_chunk_alloc): new function to allow allocation of new
7312         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
7313         thorugh g_malloc).
7314
7315         * gtk/gtkobject.c (gtk_object_finalize): free an object through
7316         gtk_type_free().
7317
7318         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
7319         GtkButtons to 16.
7320         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
7321         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
7322
7323 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
7324
7325         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
7326           GPOINTER_TO_UINT fixes.
7327
7328         * gtk/gtksignal.c: Include <string.h> for memset.
7329
7330 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
7331         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
7332
7333         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
7334         Cleanups, comments and the ability to have rulers with 
7335         a reversed direction.
7336
7337 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
7338
7339         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
7340         that Sopwith missed when changing stat => lstat.
7341
7342 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
7343
7344         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
7345           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
7346         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
7347
7348         * gdk/gdk.c: Print sizeof() results
7349         as g_print("%ld", (glong)sizeof(foo)), to deal with
7350         sizeof() being long on Alpha's.
7351
7352         * gtk/testgtk.c: include <string.h> for strlen
7353
7354 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
7355         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
7356         
7357         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
7358         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
7359
7360         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
7361
7362 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
7363         (From: Christopher James Lahey <clahey@umich.edu>)
7364         
7365         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
7366           gtk/testgtk.c:
7367
7368         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
7369         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
7370         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
7371         the default relief for the toolbars buttons. Added an
7372         toggle for the toolbar test in testgtk.c.
7373
7374 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
7375
7376         * docs/gtk-config.1: Rewritten and hopefully improved.
7377
7378 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
7379
7380         * docs/Makefile.am
7381         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
7382
7383 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7384
7385         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
7386         GtkPreview's visual and colormap, otherwise things can BadMatch.
7387
7388         * gtk/testgtk.c (create_color_preview): 
7389         (create_gray_preview): Removed pushing/popping of visual/colormap
7390         now that GtkPreview does things correctly.
7391
7392         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
7393         (gtk_color_selection_draw_wheel): Pick the style from the correct
7394         place (the colorsel->wheel_area widget) so that the GCs will match
7395         with where we are going to paint to.
7396
7397         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
7398         of visual/colormap now that GtkColorSelection does things the
7399         right way.
7400
7401 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
7402
7403         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
7404         previously unused window->need_resize flag to mark if a window's
7405         descendents changed size while the window was not visible. In this
7406         case, when the window becomes visible, we reallocate everything,
7407         since we didn't keep track of what actually changed.
7408
7409         (Fixes bug where changing the popdown strings of a
7410         combo to something of the same length caused them to
7411         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
7412
7413 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
7414
7415         [security audit by Alan Cox]
7416
7417         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
7418         exceed maximum assumed size.
7419
7420         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
7421         not exceed maximum assumed size.
7422         (gtk_menu_factory_remove): likewise.
7423         (gtk_menu_factory_find_recurse): likewise.
7424
7425 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
7426
7427         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
7428         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
7429         redrawn if that is still neccessary. don't allow queueing of already
7430         destructed objects.
7431         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
7432         widgets which are in the queue can be destroyed safely, handle
7433         requeueing properly.
7434         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
7435         widgets which are in the queue can be destroyed/unrealized safely.
7436
7437 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
7438
7439         * gtkfaq.sgml: add question on multi-threading,
7440           minor URL cleanups.
7441
7442 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
7443
7444         * configure.in (cflags_set): preserve automake CFLAGS.
7445
7446         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
7447         and libgdk-1.1.la. this means we need to change certain portions of
7448         the Makefile.am on major/minor version bumps.
7449
7450         * ltmain.sh: the -release option is not required anymore.
7451         
7452         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
7453         of the first argument to be of type GtkObject. unconditionally compile
7454         this function. removed __GNUC__ dependancy of the gtk_object_ref and
7455         gtk_object_unref macro wrappers for this function.
7456
7457 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
7458
7459         * gtk/gtkobject.h:
7460         * gtk/gtkobject.c:
7461         (gtk_object_data_try_key):
7462         (gtk_object_data_force_id): these are now macros substituting the old
7463         functions. we just use the corresponding g_dataset_* functions for
7464         key->id associations. (this is to assure unique key<->id associations).
7465
7466 1998-05-10  Stefan Jeske  <stefan@gtk.org>
7467
7468         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
7469         to gboolean.
7470
7471         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
7472
7473 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
7474
7475         * configure.in (LIBS): Try to figure out if this
7476         is Digital Unix and we need -std1 to get the
7477         right prototypes.
7478
7479 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
7480
7481         * docs/gtk_tut_it.sgml: update of Italian tutorial
7482           translation from Daniele Canazza <dcanazz@tin.it>
7483
7484 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
7485
7486         * gtk/gtkfeatures.h.in: new file used as template for
7487         * gtk/gtkfeatures.h: new file to define macros indicating newly
7488         introduced features, such as GTK_HAVE_SIGNAL_INIT.
7489
7490         * gtk/gtksignal.c:
7491         (gtk_signal_emitv_by_name):
7492         (gtk_signal_emitv):
7493         new functions to emit signals with an already provided parameter set.
7494         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
7495         (gtk_signal_real_emit): prototype changes, so this functions always
7496         gets its parameters and signal structure as arguments.
7497         (gtk_signal_emit): provide the signal structure and parameter list for
7498         gtk_signal_real_emit.
7499         (gtk_signal_emit_by_name): likewise.
7500
7501 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
7502
7503         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
7504         signal connections through unsetting GTK_CONNECTED.
7505         (gtk_signal_handler_insert): reflect the presence of signal connections
7506         through setting GTK_CONNECTED.
7507         (gtk_signal_real_emit): only check for handler emissions if the object
7508         has the GTK_CONNECTED flag set.
7509         (gtk_signal_handler_pending): don't check for pending handlers if the
7510         GTK_CONNECTED flag is not set for this object.
7511
7512         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
7513         a GtkObject has signal handler connections.
7514
7515         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
7516         set for this object call gtk_signal_handlers_destroy().
7517         
7518         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
7519         multiple processing of macro args.
7520
7521         * gtk/gtktypeutils.c:
7522         * gtk/gtkobject.c:
7523         * gtk/gtkwidget.c:
7524         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
7525
7526 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
7527
7528         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
7529         draw-queue when we are done. 
7530
7531         (gtk_widget_queue_draw/_queu_resize): Always return
7532         FALSE and avoid having two idles at the same time.
7533         
7534 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
7535
7536         * gtk/gtktext.c: Various fixes to make sure cache
7537         lines are freed if line_start_cache doesn't point to the
7538         beginning of the cache.
7539
7540 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
7541
7542         * style_set improvements for GtkText and GtkEntry
7543
7544 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
7545
7546         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
7547         been initialized.
7548
7549 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
7550
7551         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
7552         data chunks through a global object data structure list. unlink
7553         object data before invoking its destroy function.
7554         (gtk_object_finalize): slight modification to allow usage of object
7555         data during object finalization.
7556
7557 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
7558
7559         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
7560         signal names, e.g. "signal-name" is now an alias for "signal_name".
7561         (gtk_signal_handler_new): allocate handlers through a global handler
7562         structure list, that's faster than memchunks.
7563         (gtk_emission_new): allocate emissions through a global emission
7564         structure list, that's faster than memchunks.
7565
7566 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
7567
7568         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
7569
7570         * ltmain.sh: added a new commandline flag -postfix similar to -release,
7571         but will immediately change the library name.
7572
7573         * gdk/Makefile.am:
7574         * gtk/Makefile.am: specify -postfix and -version-info
7575
7576         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
7577         GTK_BINARY_AGE. calculate LT_* variables for libtool.
7578
7579 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7580
7581         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
7582         background (fg_set -> bg_set confusion).
7583
7584 1998-05-06  Stefan Jeske  <stefan@gtk.org>
7585
7586         * gtk/testgtk.c (unselect_all): Removed code that caused an
7587         endless loop.
7588
7589 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
7590
7591         * gtk/gtksignal.c: reimplemented the signal storage system to use a
7592         linear array rather than a hash table.
7593         be carefull *not* to keep any GtkSignal pointers across invokations
7594         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
7595         general code cleanups, made all allocations through memchunks.
7596         (gtk_signal_lookup): we now do the lookup of signals through a key_id
7597         for the signal names to avoid multiple hashing of the signal name on
7598         lookups for the several hirarchy levels of an object.
7599
7600 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
7601
7602         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
7603         to speed things up and remove code duplication.
7604
7605         Reintegrated buffer overflow patches, and added
7606         some extra paranoia.
7607         
7608 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
7609
7610         * gdk/gdk.c (gdk_event_translate): A guint * was
7611         being passed where X expected a Keysym *, and
7612         keysyms are long's on Alpha Linux. This was causing
7613         segfaults in Xlib, apparently because of alignment.
7614         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
7615         
7616 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
7617
7618         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
7619         set GDK_EXPOSURE_MASK for DrawingAreas
7620
7621 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
7622
7623         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
7624         (superceded by RC file reparsing capabilities)
7625
7626         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
7627         events. (Shouldn't be sent to the InputOnly leader, which
7628         it is now by gdk_event_send_clientmessage_toall
7629
7630         * gtk/testgtk.c: Added extra button to rcfiles test
7631         to send out _GDK_READ_RCFILES events.
7632         
7633 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
7634
7635         * gtk/gtkselection.c (gtk_selection_clear): Fixed
7636         reversed conditionals that caused segfault on some
7637         platforms.
7638
7639 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
7640
7641         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
7642         cast to GTK_OBJECT for gtk_object_ref.
7643
7644 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
7645
7646         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
7647         checking for signal initialization in gtksignal.c.
7648
7649         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
7650         a long debugging period ;)
7651
7652 1998-05-05  Stefan Jeske  <stefan@gtk.org>
7653
7654         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
7655         New function to wrap XSetDashes; modified gtkctree.c to use it.
7656
7657 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7658
7659         * configure.in: Added $x_libs in the other_libraries field in the
7660         check for XShapeCombineMask.
7661
7662 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
7663
7664         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
7665         gtk_type_is_a().
7666         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
7667         linear array rather than a hash table. it actually speeded up testgtk
7668         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
7669         pointers across invokations of gtk_type_node_next_and_invalidate() and
7670         therefore gtk_type_unique()!
7671
7672         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
7673         inheritance of a class pointer.
7674         (GTK_OBJECT): modifications for speedups.
7675         (GTK_IS_OBJECT): likewise.
7676         (GTK_OBJECT_CLASS): likewise.
7677         (suggested by owen).
7678
7679         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
7680
7681         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
7682
7683         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
7684         since its derivation changed 4 month ago ;(. showed up with the unique
7685         type name checking code in gtk_type_unique().
7686
7687         * random guint->GtkType and macro fixups.
7688
7689 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
7690
7691         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
7692         Configure events that would result in a negative
7693         size.
7694
7695 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
7696
7697         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
7698         "glibconfig.h" and another about writing another IRC
7699         client.
7700
7701 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
7702
7703         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
7704         parameters to log are doubles. Digital Unix apparently
7705         is missing the argument in its prototype.
7706
7707 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
7708
7709         * gtk/gtklabel.c (gtk_label_state_changed): Don't
7710         force a clear until the widget is actually on
7711         screen.
7712
7713 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
7714
7715         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
7716         to make this consistent with the gtk-1-0 tree.
7717
7718 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
7719
7720         * configure.in acheader.h gdk/gdkwindow.c 
7721         Check for Shape extension both on the client and server
7722         side. (And, more importantly, check for the shape extension
7723         so we may include -lXext even when compiling with --disable-xshm)
7724
7725         Don't set override_redirect on all shaped windows. It isn't
7726         necessary.
7727
7728         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
7729         and foreign windows. Use this to check if we
7730         need to get the colormap from X.
7731
7732 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
7733
7734         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
7735         between the default and the button always in GTK_STATE_NORMAL.
7736
7737         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
7738         callback.
7739
7740 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
7741
7742         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
7743           Fix a buffer overflow on pixmaps that claim to have
7744           more than 31 characters per pixel.
7745
7746           (gdk_pixmap_read_string): Don't wrap around strings longer
7747           than half of address space ;-)
7748
7749         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
7750         that were used for printing integers.
7751
7752         * */* (almost):
7753
7754         Style: All 
7755           int foo () { ... }
7756         changed to
7757           int foo (void) { ... }
7758
7759         Even where there were proper prototypes elsewhere.
7760
7761         * gdk/gxid.c (handle_claim_device): Some extra checks.
7762         It isn't safe against being fed bad X id's, but at
7763         least it should be safe against deleting all your
7764         files.
7765
7766 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
7767
7768         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
7769         to set the adjustments value when there is no current emission.
7770         [ Removed by mutual agreement owt 5/3/1998 ]
7771
7772         * gtk/gtksignal.c: added new functions to retrive the number of
7773         existing emissions for a certain signal.
7774         (gtk_signal_n_emissions): new function.
7775         (gtk_signal_n_emissions_by_name): new function.
7776
7777 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
7778
7779         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
7780         set the current focus_child of a container, does proper referencing and
7781         adjusts the vadjustment/hadjustment associated with the focus widget.
7782
7783         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
7784         containers via gtk_container_set_focus_child.
7785
7786         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
7787         where appropriate.
7788
7789         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
7790         child since not every child removal goes through this function (this
7791         showed up after gtk_container_set_focus_child() started to reference the
7792         focus_child of a container).
7793
7794         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
7795         of a container from gtk_container_remove into this place.
7796
7797 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
7798
7799         * gtk/gtksignal.c: added new functions to operate on intermediate
7800         function pointers. implemented incremental blocking.
7801         (gtk_signal_disconnect_by_func): new function.
7802         (gtk_signal_handler_block_by_func): new function.
7803         (gtk_signal_handler_unblock_by_func): new function
7804
7805 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
7806
7807         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
7808         Always show the scrollbars when the policy is
7809         GTK_POLICY_ALWAYS...
7810
7811 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
7812
7813         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
7814         "value_changed" if we really passed a new value.
7815         (gtk_adjustment_changed): new function to emit the "changed" signal.
7816         (gtk_adjustment_set_value): new function to emit the "value_changed"
7817         signal.
7818
7819 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
7820
7821         * gtk/gtkcombo.c: Further changes to the way the window
7822         is popped up so that it will be compatible with 
7823         auto-scrolling in the future.
7824
7825 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
7826
7827         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
7828         the combo-list is empty since that will cause the combo to operate
7829         on a non existing GtkList window.
7830         (gtk_combo_get_pos): provide the combo list with a usfull default
7831         height if empty.
7832         (gtk_combo_popup_button_press): grab the focus.
7833         (gtk_combo_activate): grab the focus.
7834
7835 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
7836
7837         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
7838         function to reset the RC styles for a heirarchy
7839
7840         Clear the window background if necessary in
7841         gtk_window_style_set.
7842
7843         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
7844         rereads all previously read RC files.
7845
7846         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
7847         (Should it just be called gdk_get_toplevels?)
7848
7849         * gtk/testgtk.c: New test to reload RC files.
7850
7851 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
7852
7853         * gtk/gtkclist.h:
7854         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
7855         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
7856         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
7857         the GTK_ prefix (this solution involved less changes in the
7858         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
7859         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
7860         from lars & stefan to support the derivation of GtkCtree.
7861
7862         * gtkctree.h:
7863         * gtkctree.c:
7864         initial import of a tree widget derived from gtkclist, courtesy
7865         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
7866         it just damn rocks!
7867
7868 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
7869
7870         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
7871         for us.
7872         (gtk_list_insert_items):
7873         (gtk_list_remove_items_internal): 
7874         (gtk_list_clear_items): 
7875         remove a possible pointer grab, we might get thrown into a loop
7876         otherwise.
7877         (gtk_list_button_press): grab the pointer *before* selecting the child,
7878         because selection of items may cause the lists children to change,
7879         resulting in a grab release.
7880         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
7881         children.
7882         (gtk_list_shutdown): remove all children from the list.
7883         (gtk_real_list_unselect_child): 
7884         (gtk_real_list_select_child): *always* put our internal structures into
7885         sane state *before* signal emisions (i.e. list->selection updates prior
7886         to gtk_list_item_[de]select() calls).
7887
7888         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
7889         focused child walks out of the window.
7890         removed CAN_FOCUS for the combo arrow's button since it doesn't react
7891         to keyboard events ("clicked" connection is missing).
7892
7893 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
7894
7895         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
7896         getting colormap for FOREIGN windows to go along with
7897         Raster's fix for visuals.
7898
7899 Merges from gtk-1-0
7900 ===================
7901         
7902 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
7903
7904         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
7905         Check to catch the case when the viewport fits in either
7906         direction or both, instead of flip-flopping infinitely.
7907
7908         Only show/hide the scrollbars once at the end.
7909
7910 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
7911
7912         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
7913         Include the scrollbars in the foreach call.
7914         (gtk-fortier-980405-0.patch; 
7915          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
7916
7917         The notebook widget
7918         really should also include its tabs, but that might cause
7919         problems for programs if they
7920
7921 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
7922
7923         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
7924         resize if the size actually changed. 
7925         (gtk-johannes-980414-0.patch ;  
7926          johannes@nada.kth.se (Johannes Keukelaar) )
7927
7928 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
7929
7930         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
7931           ltmain.sh ltconfig config.sub config.guess:
7932
7933         Reverted back to libtool-1.2 (plus minor patches) so as not to
7934         force the issue for everyone else.
7935
7936 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
7937
7938         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
7939         Updated to libtool 1.2a.
7940
7941         * gtk/gtkclist.c: Draw the in-between lines with style->base
7942         instead of style->white.
7943         
7944 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
7945
7946         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
7947         Cache the colormap and children of a window locally
7948         instead of fetching them from the server when needed.
7949         Huge performance difference for creating/destroying
7950         windows.
7951
7952         * gtk/gtkstyle.c: Find the depth from the cached
7953         visual, instead of asking the server.
7954
7955         * gtk.m4: Distribute the new version which tries to
7956         figure out what went wrong and give helpful error
7957         messages.
7958
7959         * ltmain.sh ltconfig config.sub config.sh: 
7960         Updated to libtool 1.2a
7961
7962         * gtk/gtktext.c: Fixed a bug where the drawn level
7963         was being messed up when the text was scrolled
7964         during a deletion.
7965         
7966 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
7967
7968         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
7969         the filesystem under you (fix from Josh)
7970
7971 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
7972
7973         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
7974         if the viewport already exists before iterating over it, maybe we
7975         haven't been constructed yet.
7976
7977 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
7978
7979         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
7980         the GtkBin widget already has a child.
7981
7982         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
7983         check that child->parent == NULL;
7984
7985 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
7986
7987         * gtk/gtkselection.c (gtk_selection_clear): Only return
7988         FALSE when the clear event is been rejected, not when
7989         widget has already lost the selection. (Which should
7990         only happen when we are setting the selection to another
7991         widget ourself.)
7992         
7993 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
7994
7995         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
7996
7997         Removed the "check visibility after gtk_widget_unparent" bug 
7998         in hopefully the last three places.
7999
8000 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
8001
8002         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
8003         rc-files.
8004
8005 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
8006
8007         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
8008         for CAN_FOCUS widgets.
8009
8010         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
8011         adjustments for the table.
8012         (create_list): feature automatic adjustment of the scrolled window to
8013         always contain the focused child.
8014         (create_main_window): keep the focussed button always inside of the
8015         scrolled windoww.
8016
8017         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
8018         adjustments, to contain the allocation of the currently focused child.
8019         (gtk_container_set_focus_hadjustment): new functin to set the
8020         horizontal focus adjustment.
8021         (gtk_container_set_focus_vadjustment): new functin to set the vertical
8022         focus adjustment.
8023
8024         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
8025         clamp the currents adjustment page into a specific range.
8026
8027         * random GtkType fixups for gtk_*_get_type() functions.
8028
8029 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
8030
8031         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
8032         Account for the fact that gtk_tree_item_remove_subtree
8033         will be called recursively. 
8034
8035         Handle removing a collapsed subtree.
8036
8037         (From Andy Dustman <adustman@comstar.net>)
8038         
8039         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
8040         root tree when removing items from a non-previously
8041         mapped tree.
8042
8043         * gtk/testgtk.c: Added a remove_subtree button.
8044         
8045 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
8046
8047         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
8048         before object removing data. This change fixes a bug where 
8049         removing the last weak references would cause it to be 
8050         triggered.
8051
8052 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
8053
8054         * gdk/Makefile.am: Removed mostly useless dependency that
8055         was causing problems for SGI's make, when used with
8056         the 'make dist' form of GTK+. (Dependency caused dependencies
8057         to be redone when BUILT_SOURCES changed)
8058
8059 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
8060
8061         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
8062         like a menu.
8063         
8064         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
8065         to gtkitem.c so dragging can also work in lists.
8066
8067         * gtk/gtklist.[ch]: Track child enter events and use
8068         those to allow dragging the selection. 
8069
8070 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
8071
8072         * gtk/gtktext.c: Try enabling background pixmaps for editable text
8073         widgets.  There is a bit of flashing, but not too bad. If you
8074         don't want the flashing, you can always not set a background
8075         pixmap.
8076
8077 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
8078
8079         * gtk/gtktext.c: Fixed a bug where the drawn level
8080         was being messed up when the text was scrolled
8081         during a deletion.
8082         
8083 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8084
8085         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
8086         bug:  There is no need to set the ExposureMask in the XGrabPointer
8087         (this caused DnD programs to crash).
8088
8089 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
8090
8091         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
8092         field to be of type guint.
8093         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
8094         ref_count>0;
8095         (gtk_accelerator_table_install): keep a per object list of accelerator
8096         tables that refer to this object.
8097         (gtk_accelerator_table_remove): remove the accelerator table from the
8098         per object list.
8099         (gtk_accelerator_table_clean): warn if there are any object references
8100         left in an accelerator table upon destruction.
8101         (gtk_accelerator_tables_delete): new function to delete object
8102         references from the accelerator tables associated with this object.
8103
8104         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
8105         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
8106         of an accelerator can be prevented by gtk_signal_emit_stop().
8107         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
8108         so there are no stale pointers in accelerator tables left.
8109
8110 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8111
8112         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
8113         visible before we unparent it.
8114
8115 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
8116
8117         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
8118         running_timeouts list with the tmp_list link itself, not with a new
8119         GList structure pointing to our link. that would fill up memory and
8120         causes the GList.data fields of the running_timeouts list to point to
8121         GList structures and not GtkTimeoutFunction structures which is a
8122         *really* bad thing.
8123         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
8124         the above entry ;).
8125
8126 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
8127
8128         * gtk/gtkradiomenuitem.h: 
8129         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
8130         ala gtk_radio_button_set_group.
8131         (gtk_radio_menu_item_init): assure that we always have at least a group
8132         that points to self.
8133
8134         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
8135         added g_return_if_fail() statements.
8136         (gtk_radio_button_init): assure that we always have at least a group
8137         that points to self.
8138
8139 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
8140
8141         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
8142
8143 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
8144
8145         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
8146         (Damon Chaplin), which i got wrong when applying Damon's patch the last
8147         time.
8148
8149 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
8150
8151         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
8152         that when we are running with a non-installed colormap,
8153         in 8-bit pseudo-color, we actually are using the system
8154         visual. (Fixes *Bad Match* errors on Digital Unix machines
8155         with multiple 8-bit pseudo-color visuals)
8156
8157 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8158
8159         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
8160         by whoever thought that randomly changing ints to unsigned int
8161         without reviewing the code was a good idea.  It is, btw not
8162         mentioned in the ChangeLog as usual, but I know it was not Elliot
8163         the culprit this time. 
8164
8165 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
8166
8167         * Released GTK+ 1.0.0