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