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