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