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