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