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