]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
Make tab key move in reading order (left-to-right top to bottom) - which
[~andy/gtk] / ChangeLog.pre-2-4
1 Mon Apr  6 00:28:28 1998  Owen Taylor  <owt1@cornell.edu>
2
3         * gtk/gtkcontainer.c (gtk_container_focus_tab): Make
4         tab key move in reading order (left-to-right top
5         to bottom) - which might have been the original intended 
6         behavior modulo sorting bugs.
7
8         * gtk-config.in: Never output -I/usr/include from --cflags
9
10 Sun Apr  5 21:47:12 1998  Owen Taylor  <owt1@cornell.edu>
11
12         * gtk/gtkmenubar.c: Fixed bug where right justified
13         menu would overlap last left justified item.
14
15 Sun Apr  5 19:30:23 1998  Owen Taylor  <owt1@cornell.edu>
16
17         * gtk/gtkclist.c: Fixed assignment of adjustment->value
18         to negative values. Moved a few other allocation type things
19         around in ways that may or may matter. Fixed some allocation
20         errors (scrollbars were overlapping main window).
21
22         * gtk/gtkbutton.c (gtk_real_button_released): Small hack to keep
23         button labels from vanishing when the invoked operation blocks.
24
25         * gtk/gtkbox.c (gtk_box_remove): Assigning GTK_WIDGET_VISIBLE (widget)
26         to a gboolean (char) is _bad_. GTK_VISIBLE == 256.
27
28 Sun Apr  5 15:08:25 1998  Owen Taylor  <owt1@cornell.edu>
29
30         * gtk/gtkmain.c: Reverted broken implementation of removing
31         the current timeout/idle. Substituted a (hopefully) functional one.
32
33 Sun Apr  5 09:35:55 1998  Tim Janik  <timj@gtk.org>
34
35         * gtk/gtkmain.c (gtk_events_pending): take expired timeouts into
36         account, otherwise things like e.g. spin-buttons don't work.
37         also, count gtk_main_quit() as an event.
38
39 Sun Apr  5 08:03:01 1998  Tim Janik  <timj@gtk.org>
40
41         * gtk/gtkspinbutton.c: fixed panel allocation and stacking order,
42         fixed the base class realization.
43
44         * gtk/gtkmisc.c: implemented widget arguments. 
45
46         * gtk/gtkentry.c: fixes in _realize to behave similar to
47         _size_allocate.
48
49 Sat Apr  4 12:23:23 BST 1998  Tony Gale  <gale@gtk.org>
50
51         * docs/gtk_tut.sgml: (gtk-crichton-980403-0) subsections on
52           Aspect Frames and Paned widgets.
53
54         * examples/paned examples/aspectframe: new examples
55
56 Fri Apr  3 23:15:55 1998  Owen Taylor  <owt1@cornell.edu>
57
58         * gtk/gtktext.c: Test for need to recompute geometry with
59         GTK_WIDGET_REALIZED(), not GTK_WIDGET_DRAWABLE().
60
61 1998-04-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
62
63         * gtk/gtkhandlebox.c (draw_textured_frame): New function to draw a
64         nifty "textured metal" frame.  Could be useful in gtkstyle.c, maybe.
65         (gtk_handle_box_paint): Paint a handle that does not make you puke
66         when you look at it.
67
68 Fri Apr  3 21:03:38 1998  Owen Taylor  <owt1@cornell.edu>
69
70         * gtk/gtktext.c (gtk_text_realize): Call recompute_geometry()
71         upon realization, since it can't be done in the previous
72         size_allocate.
73
74 Fri Apr  3 20:36:52 1998  Owen Taylor  <owt1@cornell.edu>
75
76         * gdk/gdk.c gtk/gtkmain.c: Accept debug options 
77         in the form --g[td]k[-no]-debug=xxx as well
78
79 Fri Apr  3 18:33:47 1998  Owen Taylor  <owt1@cornell.edu>
80
81         * gtk-config.in: Added flags --prefix[=dir] and
82         --exec-prefix[=DIR] which allow querying and overriding the
83         configured-in prefix and exec-prefix.
84
85         * gtk.m4: Added configure flags --with-gtk-prefix=
86         and --with-gtk-exec-prefix= to set the --prefix and
87         --exec-prefix argumetns to gtk.m4
88
89 Fri Apr  3 17:14:55 1998  Owen Taylor  <owt1@cornell.edu>
90
91         * gdk/gdk.c: More extensive debugging output
92
93         * gtk/gtkalignment.c gtk/gtkbutton.c gtk/gtkcheckbutton.c
94           gtk/gtkclist.c gtk/gtkeventbox.c gtk/gtkhandlebox.c
95           gtk/gtk[hv]box.c gtk/gtk[hv]paned.c gtk/gtklist.c
96           gtk/gtkmenu.c gtk/gtkmenubar.c gtk/gtkmenuitem.c
97           gtk/gtknotebook.c gtk/gtktable.c gtk/gtktree.c 
98           gtk/gtktreeitem.c gtk/gtkviewport.c
99
100         Avoid assigning negative values to unsigned allocation.width and
101         height
102
103         * gtk/gtkwindow.c:
104
105         Instead of realizing the widget, then size allocating, (resulting
106         in XMoveResizeWindows for all children, do the size allocation
107         first, then realize. 
108
109         In gtk_real_window_move_resize, combine move and resize
110         into a single GDK/X call when possible.
111
112         * gtk/gtkclist.c gtk/gtkdrawingarea.c: 
113
114         Remove assumption that the widget will be size allocated _after_
115         it is realized.
116         
117         * gtk/gtklist.c (gtk_list_motion_notify): Removed useless
118         debugging message.
119
120 Wed Apr  1 21:51:37 1998  Owen Taylor  <owt1@cornell.edu>
121
122         * gtk/gtkmain.c: return NULL for gtk_get_event_widget (NULL)
123
124         * gtk/gtkentry.c: New algorithm to get more normal behavior
125         with scroll_offset when changing fonts.
126         
127 Thu Apr  2 17:30:04 BST 1998 Tony Gale <gale@gtk.org>
128
129         * examples/gtkdial/Makefile,
130           examples/menu/Makefile,
131           examples/tictactoe/Makefile : add correct dependencies
132
133 Thu Apr  2 13:04:37 BST 1998 Tony Gale <gale@gtk.org>
134
135         * docs/gtkfaq.sgml: add question on failing GIMP configure
136
137 Tue Mar 31 15:41:57 PST 1998 Shawn T. Amundson
138
139         * Makefile.am:
140         * examples/*: added the rest of the tutorial examples
141
142 Tue Mar 31 06:37:16 1998  Tim Janik  <timj@gtk.org>
143
144         * gtk/testgtk.c (create_cursors): forgot to set the initial `0' cursor.
145
146 1998-03-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
147
148         * gdk/gdkdnd.c (gdk_dnd_display_drag_cursor): First fix: Move the
149         window first, display it after (this removes one of the annoying
150         flashing effects).
151
152 Mon Mar 30 21:29:43 1998  Owen Taylor  <owt1@cornell.edu>
153
154         * gtk/gtkentry.c: Add a "style_set" callback, so the
155         font can be changed at run time. (needed for GIMP text
156         tool)
157
158 Tue Mar 31 01:17:23 1998  Tim Janik  <timj@gtk.org>
159
160         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): show the menu_label
161         unconditionally (even if it is not a default label).
162         (gtk_notebook_update_labels): if we have a tab_label, then use its label
163         as the default menu_label.
164
165 Mon Mar 30 16:35:57 1998  Owen Taylor  <owt1@cornell.edu>
166
167         * gtk/testgtk.c: Improved main loop test. (Quits main
168         loop properly, makes it more obvious to the user
169         what is going on)
170
171         * gtk/gtkwidget.c (gtk_widget_unparent): Reset the
172         allocation _after_ clearing the window.
173
174         * configure.in: If can't find XShmAttach in Xext, check
175         in XextSam (for AIX).
176
177         * gtk/gtkmain.c (gtk_events_pending): Remember, small
178         numbers are _high_ priority for idle queues.
179
180         * gtk/gtkmain.c (gtk_handle_current_timeouts): Allow
181         removing the currently running timeout.
182
183         * gtk/testgtk.c (timeout_test): Use the right prototype
184         for callback.
185
186 Mon Mar 30 21:40:21 1998  Tim Janik  <timj@gtk.org>
187
188         * gtk/gtkclist.c (gtk_clist_row_from_ypixel): removed this function,
189         it was unneeded and not exported.
190
191         * gtk/gtkwidget.c (gtk_widget_ref) (gtk_widget_unref): don't check-cast
192         the widgets to volatile GtkObjects (which was there for debugging
193         purposes only). these functions should probably be macros, but that
194         would break binary compatibility again, sigh.
195         (gtk_widget_destroy): removed superfluous check-casts, since the
196         neccessary checks are done in gtk_object_destroy anyways. this should
197         be a macro as well but stays as a function for the above reasoonings.
198
199 Mon Mar 30 17:21:27 BST 1998 Tony Gale  <gale@gimp.org>
200
201         * docs/gtk_tut.sgml: reflect the change of meaning
202           of the delete_event return value
203
204 Sun Mar 29 22:25:22 BST 1998 Tony Gale  <gale@gimp.org>
205
206         * docs/gtk_tut.sgml: more on the Text widget,
207           update the tictactoe example to the current code
208  
209 Sun Mar 29 22:29:00 1998  Tim Janik  <timj@gtk.org>
210
211         * gtk/gtkspinbutton.[ch] gtk/testgtk.c (gtk_spin_button_set_wrap):
212         Added wrapping capabilities to GtkSpinButton. New function :
213         gtk_spin_button_set_wrap (Lars Hamann and Stefan Jeske).
214
215 Sat Mar 28 21:18:42 1998  Owen Taylor  <owt1@cornell.edu>
216
217         * gtk/gtkcombo.c (gtk_combo_disable_activate): 
218         Disconnect from combo->entry, not combo.
219         (From: Daniel Skarda <0rfelyus@atrey.karlin.mff.cuni.cz>)
220
221         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpm): Deal
222         better with xpm's with bad colors in them.
223         
224 Fri Mar 27 21:01:17 1998  Owen Taylor  <owt1@cornell.edu>
225
226         * gdk/gdk.c (gdk_event_translate): Don't call
227         XTranslateCoordinates on a destroyed window. (Why do we
228         do event processing at all on destroyed windows when we
229         throw out the results?)
230
231         * gtk/gtklabel.c: Clear the background when changing style/
232         state.
233
234 Fri Mar 27 16:35:00 PST 1998 Shawn T. Amundson <amundson@gtk.org>
235
236         * Released GTK+ 0.99.9
237         
238         * examples: added a couple more, fixed some Makefiles
239
240 Fri Mar 27 17:58:41 1998  Owen Taylor  <owt1@cornell.edu>
241
242         * gtk/gtkhandlebox.c (gtk_handle_box_paint): Don't clear
243         the window on an expose event. On draws, just clear the
244         portion we are redrawing.
245
246         * gdk/gdkfont.c (gdk_fontset_load): Corrected calculation
247         of fontset ascent/descent.
248
249         * gtk/gtkwidget.[ch]: Added new function to show a toplevel
250         window and wait for it to be mapped, gtk_window_show_now ()
251
252 Fri Mar 27 08:51:17 PST 1998 Shawn T. Amundson <amundson@gtk.org>
253
254         * docs/Makefile.sgml: some stuff for doing plain text and
255           postscript
256
257 Fri Mar 27 00:13:18 1998  Owen Taylor  <owt1@cornell.edu>
258
259         * gtk/gtkmain.c (gtk_propagate_event): If the widget is _not_
260         a descendant of a Window widget, propagate key presses like
261         other events.
262
263         * gtk/gtkentry.c gtk/gtktext.c: Ignore multiple simultaneous
264         button presses instead of treating subsequent presses as
265         release/press pairs for tablet compatibility.
266
267         * configure.in config.h.in: Removed inline checks, because they
268         are duplicated in glib.
269
270         * gtk/gtkwidget.c (gtk_widget_draw): When gtk_widget_draw ()
271         occurs with queued draw already in place, redraw _entire_
272         widget. (Pointed out by Tim Janik)
273
274 Thu Mar 26 23:12:54 1998  Tim Janik  <timj@gtk.org>
275
276         * gtk/gtkmain.c (gtk_propagate_event): make a clear distinction between
277         key press/release events, which will be sent to a widgets toplevel
278         ancestor and be forwarded from there, and all other events that need to
279         get propagated up the widget tree (pointed out by Owen Taylor).
280
281 Thu Mar 26 21:37:57 1998  Tim Janik  <timj@gtk.org>
282
283         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): always
284         display the correct active state.
285
286         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): always
287         display the correct active state.
288
289         * gtk/gtkwidget.c (gtk_widget_set_arg): CAN_FOCUS and CAN_DEFAULT flag
290         changes need to queue a resize.
291
292         * gtk/gtkbutton.c (gtk_button_paint): take border_width into
293         consideration for restrict area.
294
295         * gtk/gtktogglebutton.c (gtk_toggle_button_class_init): enable the
296         draw_default member of GtkButton, otherwise the diplay is messed up
297         for CAN_DEFAULT toggles.
298         (gtk_toggle_button_draw_focus): always display whether the toggle button
299         is active or not.
300
301         * gtk/gtkwidget.c (gtk_widget_set_state): 
302         (gtk_widget_set_sensitive): 
303         (gtk_widget_set_parent): 
304         (gtk_widget_propagate_state): take into consideration, whether we really
305         want to change childrens states, or just restauration of old states.
306
307 Thu Mar 26 15:33:50 1998  Owen Taylor  <owt1@cornell.edu>
308
309         * gtk/gtkwidget.c: When gtk_widget_draw() is called on a 
310         REDRAW_PENDING widget, draw it and remove it from the
311         queue instead of doing nothing.
312
313         * gtk/Makefile.am gdk/Makefile.am: Switch order of includes
314         directories, to make doubly sure that wrong glibconfig.h
315         isn't used. (See also glib/ChangeLog)
316
317         * gtk/gtkentry.c (gtk_entry_draw_focus): Don't draw the
318         cursor unless the entry is editable.
319
320         (From: Stefan Jeske <jeske@braunschweig.netsurf.de>)
321
322 Thu Mar 26 08:31:58 1998  Tim Janik  <timj@gtk.org>
323
324         * gtk/gtkmain.c (gtk_propagate_event): do not propagate unhandled key
325         events on widgets with parent==NULL twice.
326
327 Tue Mar 24 14:59:50 1998  Tim Janik  <timj@gtk.org>
328
329         * gtk/gtkhandlebox.h:
330         * gtk/gtkhandlebox.c: implemented new flag shrink_on_detach (TRUE by
331         default) which will cause the handle boxes requisition to collapse in
332         case the child is already detached.
333
334 Tue Mar 24 00:17:42 1998  Owen Taylor  <owt1@cornell.edu>
335
336         * gtk/gtkcombo.c gtk/gtkmenu.c: Use reversed arrow for
337         menus ala Motif (and fix Options menus, which had X cursor
338         before), and show normal arrow when inside ComboBox.
339
340         * gtk/gtkfilesel.c: Various memory leaks removed, as
341         pointed out by Mattias.Gronlund" <Mattias.Gronlund@sa.erisoft.se>
342
343         * docs/gtk_tut.sgml: Change compiling explaination
344         to refer to gtk-config.
345         (From: johannes@nada.kth.se (Johannes Keukelaar))
346         
347 1998-03-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
348
349         * gtk/gtkclist.c (gtk_clist_size_allocate): Fixed xthickness ->
350         ythickness typo.
351
352 Tue Mar 24 03:53:18 1998  Tim Janik  <timj@gtk.org>
353
354         * gtk/gtkbox.c (gtk_box_remove): save the widgets visibility flag for
355         evaluation after the widget got destroyed, discovered by Johannes
356         Keukelaar <johannes@nada.kth.se>.
357
358 1998-03-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
359
360         * gtk/gtkclist.c (gtk_clist_set_row_data_full): Select the row
361         which got its data changed, and not (0, 0).
362
363 Mon Mar 23 18:19:42 1998  Owen Taylor  <owt1@cornell.edu>
364
365         * gtk/gtkmenu.c gtk/gtkmenushell.c: Instead of making
366         an X grab when the button is released, grab immediately.
367         This solves a problem where menus wouldn't pop down
368         if the caller didn't have the BUTTON_RELEASE mask on
369         their window, and and another where the X grab would
370         be released prematurely.
371
372         * gtk/gtklist.c gtk/gtktree.c: Do sanity checking on
373         button presses to make sure they occurred in a child item.
374         (From: "Damon Chaplin" <DAChaplin@email.msn.com>)
375
376         * gtk/gtkmenushell.c: Do sanity checking on button
377         press/releases. Handle button events on window widget
378         descendents of menu items correctly.
379         
380         * gtk/gtkclist.c gtk/gtkbutton.c gtk/gtkviewport.c 
381           gtk/gtkeventbox.c:
382
383         Make the window size allocated in _realize() match that
384         in _size_allocate(). Take into account the border width
385         in the draw() handler.
386
387 Mon Mar 23 15:26:25 1998  Tim Janik  <timj@gtk.org>
388
389         * gtk/gtkentry.c (gtk_entry_append_text): check for text!=NULL.
390         (gtk_entry_prepend_text): likewise.
391         some else picky indentation fixes.
392
393 Mon Mar 23 12:03:03 CST 1998 Shawn T. Amundson <amundson@gtk.org>
394
395         * examples/: added this directory with stuff from
396           the tutorial, updated to compile and work with recent
397           changes
398
399 Mon Mar 23 01:04:51 1998  Owen Taylor  <owt1@cornell.edu>
400
401         * gtk/gtktext.[ch] testgtk.c: Added optional word wrap, controlled
402           by new function gtk_text_set_word_wrap; and a check button
403           in the Text test.
404
405         * gtk/gtktext.c: First line wasn't getting updated
406         properly when selection was removed.
407
408 Sun Mar 22 23:33:50 1998  Owen Taylor  <owt1@cornell.edu>
409
410         * gtk/gtkentry.c (gtk_entry_insert_text): Fixed some
411           problems with !gtk_use_mb introduced in the last change.
412
413 Sun Mar 22 21:00:43 1998  Owen Taylor  <owt1@cornell.edu>
414
415         * gtk/gtkpaned.c: Fix so children don't get bogus draws.
416
417 Mon Mar 23 01:08:30 1998  Tim Janik  <timj@gtk.org>
418
419         * gtk/gtkclist.c (gtk_clist_class_init): leave container_class->add and
420         container_class->remove untouched if we don't implement them.
421
422         * gtk/gtkcontainer.c (gtk_container_class_init): add missing NULL
423         initialization for the class method (*foreach). implement a default
424         handler to output a warning for (*add) and (*remove).
425
426 Sun Mar 22 19:01:36 1998  Owen Taylor  <owt1@cornell.edu>
427
428         * gdk/gdkcolor.c: Fixes to allow GTK to work with colormaps
429           that aren't 256 entries long. (colormap->colors is
430           now dynamically allocated)
431
432 Sun Mar 22 16:25:46 1998  Owen Taylor  <owt1@cornell.edu>
433
434         * gtk/gtkmain.c (gtk_init): fixes to locale checks
435
436         * gtk/testgtk.c (create_dnd): Create the dnd icons separately
437           to avoid strange interactions with shapes demo.
438
439         * gtk/gtkentry.[ch]: 
440           - Limit the length of the text to 2048 to prevent long delays
441           - Fix problems with buffer overruns
442           - Draw only the onscreen portion of the text to prevent wrapping
443             of shorts in the X drawing code.
444           - Keep track of character positions and x-offsets to speed
445             up algorithms.
446
447 Sun Mar 22 11:37:51 CST 1998 Shawn T. Amundson <amundson@gtk.org>
448
449         * gtk/gtkcolorsel.c: 
450         * gtk/gtkfilesel.c: use button_box for buttons
451
452 Sat Mar 21 19:07:01 1998  Owen Taylor  <owt1@cornell.edu>
453
454         * gtk/testgtk.c (dnd_drop): Don't respond to drops when
455           grab is in effect. (workaround)
456
457         * gdk/gdkfont.c (gdk_fontset_load): More details on
458           error messages.
459
460         * gdk/gdk.c: Translate va_list to XVaNestedList instead
461           of just casting it.
462
463         * gtk/gtkmain.c: Make temporary copy of string returned by
464           setlocale, since it may be changed by subsequent calls.
465
466 Sat Mar 21 22:54:31 1998  Tim Janik  <timj@gtk.org>
467
468         * gtk/gtkhandlebox.h:
469         * gtk/gtkhandlebox.c: major overhaul of the code, fixed all
470         known bugs (hopefully ;).
471
472 Sat Mar 20 15:33:17 1998  Tim Janik  <timj@gtk.org>
473
474         * gtk/gtkwidget.c (gtk_widget_real_show): queue the resize for the
475         parent.
476
477 Thu Mar 19 02:00:50 1998  Tim Janik  <timj@gtk.org>
478
479         * gtk/gtkwidget.c (gtk_widget_unrealize): unset flags after emission,
480         especially GTK_MAPPED, since that might not have been taken care of
481         by an UNMAP emission.
482
483 Sat Mar 21 10:39:02 CET 1998 Paolo Molaro <lupus@debian.org>
484
485         * gtk/gtkcombo.[ch] "activate" signal can be disabled now
486
487 Fri Mar 20 20:49:33 1998  Radek Doulik  <rodo@aquarius>
488
489         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): changed packing
490         in toolbar elements, so texts are always at the bottom
491
492 Wed Mar 18 01:07:11 1998  Radek Doulik  <rodo@aquarius>
493
494         * gtk/gtkclist.c (gtk_clist_column_titles_show): test if
495         clist->title_window exists before showing it,
496         gtk_clist_column_titles_hide also fixed
497
498 Thu Mar 19 16:40:47 PST 1998 Shawn T. Amundson <amundson@gimp.org>
499
500         * Released GTK+ 0.99.8
501
502 Thu Mar 19 16:28:48 CST 1998 Shawn T. Amundson <amundson@gimp.org>
503
504         * the Solaris ltconfig patch from draco
505
506 Wed Mar 18 17:03:02 PST 1998 Manish Singh <yosh@gimp.org>
507
508         * gtk/gtkcolorsel.c: #define M_PI if it isn't already
509         * gtk/testgtk.c: initialize transparent properly, to make purify
510         happy
511
512 Thu Mar 19 00:37:44 1998  Tim Janik  <timj@gtk.org>
513
514         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_construct): perform the
515         neccessary checks on funtion begin. use the scrolled_window that got
516         passed to this function, and not a new one.
517
518 Wed Mar 18 11:09:10 1998  Owen Taylor  <owt1@cornell.edu>
519         ( From: James Henstridge <james@daa.com.au> )
520
521         * gtk/gtkclist.c: Don't remove, then destroy labels in
522           gtk_clist_set_column_[*], just remove them.
523         
524         * gtk/gtkmain.c (gtk_invoke_timeout_function): call
525           marshal when appropriate, not function.
526
527 Tue Mar 17 14:15:07 1998  Owen Taylor  <owt1@cornell.edu>
528
529         * gtk/testgtk.c (create_main_window): Alphabetize tests
530
531         * gtk/gtk[hv]paned.c: Change division on resize if
532           necessary to keep handle visible.
533
534         * gtk/gtkgamma.c gtk/gtkcurve.c: Moved initialization into 
535           _init() functions.
536
537         * gtk/gtkscrolledwindow.c: Added missing _construct()
538           functions.
539
540 Wed Mar 18 17:38:25 CET 1998    Paolo Molaro <lupus@debian.org>
541
542         * gtk/gtkentry.[ch]: checked in gtk_entry_set_max_length
543         (it truncates the texts if it's longer, now)
544
545 Wed Mar 18 02:06:52 1998  Tim Janik  <timj@gtk.org>
546
547         * gtk/gtkcontainer.c (gtk_container_border_width): use the resize queue.
548
549         * gtk/gtkwindow.c (gtk_window_set_arg): gtk_window_set_hints() after
550         setting certain arguments, so they actually take affect.
551         (gtk_window_set_policy): likewise.
552
553 Tue Mar 17 22:45:39 1998  Tim Janik  <timj@gtk.org>
554
555         * gtk/gtkwidget.c (gtk_widget_get_arg): return real boolean values
556         not just numbers.
557
558         * gtk/gtktogglebutton.c (gtk_toggle_button_set_state): check
559         state for != 0, otherwise we get strange results.
560
561 Tue Mar 17 01:55:00 1998  Owen Taylor  <owt1@cornell.edu>
562
563         * gtk/gtkmain.c gtk/gtkentry.c: Try to guess if we can
564           use the mb* functions safely. (For glibc, they do
565           UTF-8). Heuristic is (X_LOCALE && locale != C/POSIX)
566           || (mblen("\xc0", MB_CUR_MAX) == 1).
567        
568         (From: "Richard Lloyd" <rkl@csc.liv.ac.uk>)
569         
570         * gdk/gdk.c (gdk_ic_get_attr): Use an intermediate
571           variable to avoid taking the address of the result
572           of va_arg. 
573
574         * gtk/gtkentry.c gtk/gtkeditable.c gtkobject.c
575           gtk/testselection.c: signedness fixups
576
577         * gtk/gtkcontainer.c: Fixed implicit cast between
578           gpointer and func pointer by changing.
579
580         * gtk/gtkcombo.c, gtk/gtkentry.c, gtk/gtktext.c:
581           static void forward declaration vs. void actual fixed
582
583         * gtk/testgtk.c: Limit total number of tree items to 10,000
584         
585 Mon Mar 16 21:14:52 1998  Owen Taylor  <owt1@cornell.edu>
586
587         * gdk/gdkvisual.c: Put visual names into #ifdef G_ENABLE_DEBUG
588             gtk-jbuhler-980315-0.patch
589
590         * gdk/gdkcc.c: Changed DEBUG => G_ENABLE_DEBUG, eliminate
591           unused variable warnings.
592
593 Tue Mar 17 16:19:47 1998  Tim Janik  <timj@gimp.org>
594
595         * gdk/gdk.c: 
596         * gdk/gdkvisual.c: changed some debugging messages to be prefixed
597         by "Gdk:".
598
599         * gtk/gtkwidget.c (gtk_widget_real_draw): applied
600         gtk-shige-980317-0.patch.gz to set all event fields, but modified
601         the event.send_event field to be set to TRUE, since the event is not
602         really comming from the server.
603
604         * gtk/gtkwindow.c (gtk_window_init): applied gtk-ograf-980317-1.patch.gz
605         which cares about an initial setting of program name and program class.
606
607         * gdk/gdk.c (gdk_init): applied gtk-ograf-980317-0.patch.gz, which
608         strips leading pathnames from gdk_progname.
609
610 Tue Mar 17 12:36:35 1998  Tim Janik  <timj@gimp.org>
611
612         * gtk/gtkstyle.c (gtk_default_draw_arrow): fixed a bug about drawing
613         GTK_ARROW_LEFT, correction from Damon Chaplin <DAChaplin@email.msn.com>.
614
615 Tue Mar 17 02:02:02 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
616
617         * gdk/gdk.c (gdk_dnd_drag_leave): Use StructureNotifyMaskMask as
618         the mask, as this enables an application listening to those events
619         to catch the root events.  Thanks to Maciej for pointing us in the
620         right direction.
621         (gdk_dnd_drag_enter): Likewise.
622         (gdk_dnd_drag_leave): Likewise.
623         * gdk/gdkwindow.c (gdk_window_dnd_data_set): Likewise.
624
625 Mon Mar 16 22:31:02 1998  Federico Mena  <federico@nuclecu.unam.mx>
626
627         * gdk/gdkwindow.c (gdk_window_xid_at): Use signed integers so that
628         testing will not fail for windows that are off-screen.  
629
630         (gdk_window_xid_at_coords): Only considers visible windows.     
631
632 Tue Mar 17 03:56:13 1998  Tim Janik  <timj@gimp.org>
633
634         * gtk/gtkspinbutton.h: exported gtk_spin_button_spin since it is
635         used in testgtk, and besides that.
636
637         * gtk/testgtk.c: created a new "test" cursors, which showes different
638         types of GdkCursors and is a very simple example at using the drawing
639         area.
640
641 Mon Mar 16 18:19:31 GMT 1998 Tony Gale  <gale@gimp.org>
642         * docs/gtkfaq.sgml:
643             - new question on modal windows
644             - new question on updating progressbars
645             - update all the links to gtk.org
646
647 Mon Mar 16 09:15:03 GMT 1998 Tony Gale  <gale@gimp.org>
648
649         * docs/gtk_tut.sgml: 
650             - New subsection on colourselection from Tom Bech <tomb@ii.uib.no>
651             - Moved fileselection text to Miscallaneous Widgets section
652             - Started new section on the Text widget
653             - Removed Viewport, Paned, HPaned and VPaned from list of
654               NO_WINDOW widgets.
655
656 Mon Mar 16 01:33:36 1998  Owen Taylor  <owt1@cornell.edu>
657
658         * gtk-config.in: Added trailing newline, hopefully will
659           fix the problem with esac disappearing.
660
661         * gtk/Makefile.am (test-debug): Improved test targets
662           will work with --enable-shared
663             [From:  Raja R Harinath  <harinath@cs.umn.edu>]
664
665         * gtk.m4: Not all shells understand $(...).  Use `...` instead.
666             [From:  Raja R Harinath  <harinath@cs.umn.edu>]
667         - use AM_PATH_PROG instead of AM_CHECK_PROG, so the user
668           can specify programs not in their path.
669   
670         * Makefile.am: added gtk.m4 to EXTRA_DIST
671
672 Sun Mar 15 23:44:10 1998  Tim Janik  <timj@gimp.org>
673
674         * gtk/gtkwidget.h:
675         * gtk/gtkmenushell.c: 
676         * gtk/gtkmenu.c: 
677         * gtk/gtkmain.c: removed EXCLUSIVE_GRAB again, just disable modal
678         event delivery for insensitive children.
679
680 Sun Mar 15 22:44:33 1998  Tim Janik  <timj@gimp.org>
681
682         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): for now reverted
683         the last change, since it broke click-select-click menus for gimp.
684
685 Sun Mar 15 20:13:42 1998  Tim Janik  <timj@gimp.org>
686
687         * gtk/gtkmain.c (gtk_quit_destructor): removed the ugly check whether
688         we need gtk_widget_destroy or gtk_object_destroy. these functions are
689         by no means allowed to act differently!
690
691         * gtk/gtkmisc.c (gtk_misc_set_alignment): check for _DRAWABLE instead
692         of _VISIBLE to operate on widget->window.
693         (gtk_misc_set_padding): likewise.
694
695         * gtk/gtkwidget.c: slightly reordered object arguments.
696
697         * gtk/gtkobject.c (gtk_object_setv):
698         * gtk/gtkobject.c (gtk_object_getv):
699         operator `!' has precedence over `&'.
700
701 Sun Mar 15 14:38:34 1998  Tim Janik  <timj@gimp.org>
702
703         * gtk/gtknotebook.c (gtk_notebook_pages_allocate): applied a fix from
704         lars against a segfault that i discovered.
705
706 Sun Mar 15 13:25:28 1998  Tim Janik  <timj@gimp.org>
707
708         * gtk/gtkwidget.h: added new flag GTK_EXCLUSIVE_GRAB.
709         * gtk/gtkmain.c: allow exclusive grabs.
710
711         * gtk/gtkmenu.c: grab exclusively.
712         * gtk/gtkmenushell.c: grab exclusively.
713
714         * gtk/gtkmenushell.c: don't activate insensitive menu items when
715         in click-selects mode.
716
717         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): activate submenus
718         on popup.
719
720         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): don't take
721         *additional* button presses into account.
722
723         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): don't take
724         foreign button releases into account.
725
726 Sun Mar 15 08:27:06 1998  Tim Janik  <timj@gimp.org>
727
728         * gtk/gtktipsquery.c (gtk_tips_query_set_labels): changed run type
729         of GtkTipsQuery::widget_entered to GTK_RUN_LAST, so it can be overidden
730         by the user.
731
732         * gtk/gtkwindow.c (gtk_window_configure_event): small fix by
733         Assar Westerlund <assar@sics.se>.
734
735         * gtk/gtkmenu.c (gtk_menu_key_press): don't cast a NULL pointer.
736
737 Sat Mar 14 19:36:16 PST 1998 Shawn T. Amundson <amundson@gimp.org>
738
739         * Released 0.99.7
740
741 Sat Mar 14 20:07:45 1998  Owen Taylor  <owt1@cornell.edu>
742
743         * gtk.m4: Fixed reversed conditional, so checks against
744           supplied version.
745
746 Sat Mar 14 10:10:46 1998  Tim Janik  <timj@gimp.org>
747
748         * gtk/gtkmain.c (gtk_main): fixed a bug with invoking the quit handlers
749         that could cause them to be removed wihout being invoked.
750
751 Sat Mar 14 14:36:40 PST 1998 Shawn T. Amundson <amundson@gimp.org>
752
753         * Released 0.99.6
754         
755         * gdk/gtk_tut.sgml:
756         * gdk/gtk_tut_it.sgml: fixed Ian Main's e-mail address
757
758 Sat Mar 14 17:48:42 1998  Owen Taylor  <owt1@cornell.edu>
759
760         * gtk/Makefile.am: Don't refer to current directory as 
761         $(top_builddir)/gtk to avoid confusing non-gmakes. Made
762         Emacs-dependent maintainer-oonly
763
764 Sat Mar 14 17:47:12 1998  Owen Taylor  <owt1@cornell.edu>
765
766         * gdk/gdkwindow.c: (gdk_window_set_group): Fixed use of
767            unitialized variable.
768
769 Sat Mar 14 13:26:09 1998  Owen Taylor  <owt1@cornell.edu>
770
771         * gtk/gtkentry.c gtk/gtktext.c: Some cleanups of signedness
772           warnings
773
774         * gtk/gtkhandlebox.h: Changed gint ... : 1 to guint ... : 1
775          
776 1998-03-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>
777
778         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Moved the
779         gtk_signal_connect of the specified callback into the big switch()
780         for buttons.  We don't want to connect to the "clicked" signal of
781         a custom widget or a space element, because it may not have one.
782         (gtk_toolbar_insert_element): Extra sanity check; if the type is
783         GTK_TOOLBAR_CHILD_WIDGET, then the specified widget must not be NULL.
784
785 Sat Mar 14 02:54:28 PST 1998 Manish Singh <yosh@gimp.org>
786
787         * gtk.m4: fixed a bashism in gtk tests
788
789 Sat Mar 14 08:29:56 1998  Tim Janik  <timj@gimp.org>
790
791         * gtk/gtkhandlebox.c (gtk_handle_box_size_allocate): refuse to allocate
792         with a greater height than requested.
793         (gtk_handle_box_remove): clean up if the child is detached.
794
795         * gtk/gtktoolbar.c (gtk_toolbar_size_allocate): don't take invisible
796         children into account.
797
798 Sat Mar 14 02:12:44 1998  Owen Taylor  <owt1@cornell.edu>
799
800         * gtk/gtkmain.c gdk/gdk.c: Don't leave NULL's in argv.
801
802 Sat Mar 14 01:36:51 1998  Owen Taylor  <owt1@cornell.edu>
803
804         * gtk-config.in: Added -I $exec_prefix/glib/include to cflags
805
806 Sat Mar 14 00:03:34 1998  Owen Taylor  <owt1@cornell.edu>
807
808         * gtk/gtkwindow.c:
809           Don't resize windows when request is rejected by WM.
810           Only use the resize count to guess whether a Configure
811           event was a rejection by the WM, or a move.
812
813         * gdk/gdk.c gdk/gdktypes.h: 
814           - Don't XDestroyWindow foreign windows (If they're a child of
815           one of our windows, reparent them to root and send them a WM 
816           delete event, otherwise, just delete the GTK structure.) 
817           Handle notification of their deletion properly.
818           (Made foreign windows a seperate window type to do this)
819         
820         * gtk/gtkobject.c (gtk_object_set_data_full): 
821           Call the DestroyNotify when replacing the object data.
822
823 Sat Mar 14 02:03:13 1998  Tim Janik  <timj@gimp.org>
824
825         * gtk/gtksignal.c: make use of *_by_id() functions for handler key.
826
827         * gtk/gtkwidget.c: make use of *_by_id() functions for a bunch of keys.
828         (gtk_widget_shutdown): new function to perform pre-destruction shutdown
829         of the widget.
830         (gtk_widget_unparent): call gtk_widget_set_parent_window(widget,NULL)
831
832         * gtk/gtkobject.h: 
833         * gtk/gtkobject.c: GtkObject destruction is now split into an internally
834         used shutdown class method and the usual GtkObject::destroy signal
835         emission. this allowes for class based shutdown functionality prior
836         to actuall object destruction.
837         added *_by_id() counterparts for gtk_object_data_* functions, meant for
838         internal use only.
839
840         * gtk/gtkmain.c (gtk_quit_add_destroy): new function which will destroy
841         a GtkObject once gtk_main() of a certain level finishes. it is save to
842         destroy the object prior to that, gtk_quit_add_destroy will only destroy
843         objects that are still existing.
844
845 1998-03-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
846
847         * gtk/gtkclist.c (gtk_clist_row_is_visible): Now we return a
848         GtkVisibility value, instead of a simple boolean.  Also, changed
849         all the functions that expected a boolean value to use
850         "!= GTK_VISIBILITY_NONE".
851
852         * gtk/gtkclist.h: Changed prototype for gtk_clist_row_is_visible().
853
854         * gtk/gtkenums.h (enum): Added GtkVisibility enum.
855
856 Fri Mar 13 11:23:55 PST 1998 Shawn T. Amundson <amundson@gimp.org>
857
858         * docs/gtk_tut.sgml:
859         * docs/gtk_tut_it.sgml:
860         * docs/gtk_tut_packbox1.gif:
861         * docs/gtk_tut_packbox2.gif:
862         * docs/gtk_tut_table.gif: added graphics, update tutorials
863           appropriately
864
865 Fri Mar 13 18:25:07 1998  Tim Janik  <timj@gimp.org>
866
867         * gtk/gtkcombo.c: fix popup calculations (removal
868         of FIXMEs), changes from Lars Hamann.
869
870 Fri Mar 13 10:25:16 1998  Tim Janik  <timj@gimp.org>
871
872         * gtk/gtkwidget.h: 
873         * gtk/gtkwidget.c: renamed gtk_widget_delete_hides to
874         gtk_widget_hide_on_delete at owens request, and because the
875         new name is much more descriptive.
876
877 Fri Mar 13 17:33:56 GMT 1998 Tony Gale <gale@gimp.org>
878
879         docs/gtkfaq.sgml: fix the spelling of Helge Hess's name
880
881 Fri Mar 13 09:40:17 GMT 199 Tony Gale  <gale@gimp.org>
882
883         * docs/gtkfaq.sgml: update links to documentation and
884           remove question on what needs to be done before 1.0
885
886 Fri Mar 13 01:17:44 1998  George Lebl  <jirka@5z.com>
887
888         * gtk/gtkfilesel.c: Set the column width of the clists
889           to the longest string length so that the bottom scrollbar
890           appears when you get some long files in the list
891
892 1998-03-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
893
894         * docs/gtk_tut.sgml: fix one missing quote.
895
896 Thu Mar 12 18:01:03 1998  Owen Taylor  <owt1@cornell.edu>
897
898         * gtk.m4 gtk-config.in Makefile.am configure.in: 
899           Added a new mechanism for GTK-dependent programs to
900           find out about the installed GTK. (Does not remove
901           any current functionality)
902
903         * gtk+-xconfig.in: Was no longer used for anything.
904
905 Thu Mar 12 20:17:47 1998  Tim Janik  <timj@gimp.org>
906
907         * gtk/gtkhandlebox.c (gtk_handle_box_delete_float): return TRUE for
908         GtkWidget::delete_event to avoid destruction of our float window.
909
910         * gtk/gtkmain.c (gtk_main_iteration_do): GDK_DELETE will destroy a
911         widget if the last handler returned FALSE or there was none connected.
912
913         * gtk/testgtk.c: adapted all delete_event/destroy case that were affected.
914
915         * gtk/gtkwidget.c (gtk_widget_delete_hides): new function that will hide
916         a widget and return TRUE to avoid window deletion if
917         connected to GtkWIdget::delete_event.
918
919 Thu Mar 12 11:51:33 PST 1998 Shawn T. Amundson <amundson@gimp.org>
920
921         * docs/gtk.texi: Changed name of GTK to the GIMP Toolkit
922
923 Wed Mar 11 22:52:57 1998  Russell Nelson <nelson@crynwr.com>
924
925         * gtk/gtktest.c: new_pixmap wasn't using its filename argument.
926         * docs/gtk.texi: Add descriptions
927
928 Wed Mar 11 14:36:48 PST 1998 Shawn T. Amundson <amundson@gimp.org>
929
930         * gtk/docs/: added tutorial, changed some files around to
931           make more sense.
932
933 Thu Mar 12 10:49:38 1998  Tim Janik  <timj@gimp.org>
934
935         * gtk/gtkmain.h: 
936         * gtk/gtkmain.c: changed handler tags to be of type guint, reflecting
937         the internal tag handling.
938
939         * gtk/gtkcurve.h: macro fixups.
940
941 Thu Mar 12 08:55:34 1998  Tim Janik  <timj@gimp.org>
942
943         * gtkitem.c:
944         * gtktree.c:
945         * gtklist.c: fetch the inintial value of attributes.event_mask from
946         gtk_widget_get_events (widget) (pointed out by Damon Chaplin
947         <DAChaplin@email.msn.com>).
948
949 Thu Mar 12 07:43:33 1998  Tim Janik  <timj@gimp.org>
950
951         * gdk/gdk.h:
952         * gdk/gdkvisual.c: applied gtk-shige-980311-0.patch.gz, which removes
953         the erronerous gdk_query_visuals() function in favour of
954         gdk_list_visuals() which does a correct job.
955
956         * gtk/gtkcontainer.h: applied gtk-draco-980311-0.patch.gz which fixes
957         a class cast check.
958
959         * gtk/gtkspinbutton.c: applied gtk-hamann_jeske-980312-0.patch.gz about
960         '+' sign acceptance.
961
962         * gtk/gtknotebook.c: applied gtk-hamann_jeske-980311-1.patch.gz which
963         cares about delayed tab label creation.
964
965 Thu Mar 12 06:58:17 1998  Tim Janik  <timj@gimp.org>
966
967         * gtk/gtktree.c (gtk_tree_map): avoid warnings about NULL casts.
968
969         * gtk/gtkstatusbar.c (gtk_statusbar_destroy): don't leak the context
970         id key's slist.
971
972         * gtk/gtkobject.c (gtk_object_set_data_full): duplicate keys that get
973         inserted into the hashtable, otherwise this function *forces* the caller
974         to leak memory, for dynamically allocated keys (problem pinpointed by
975         Mattias Gronlund).
976
977 Tue Mar 10 23:02:42 1998  Owen Taylor  <owt1@cornell.edu>
978
979         * gdk/gdkdnd.c gtk/gtkclist.c gtk/gtksignal.c gtk/testgtk.c:
980           Various minor cleanups related to -W
981
982 1998-03-11  Elliot Lee  <sopwith@bogus.circ.us.eu.org>
983
984         * gtk/gtkentry.h: Keep it consistent - 
985         don't list gtk_entry_set_max_length unless it's implemented.
986         (Someone make up their mind please ;-)
987
988 Wed Mar 11 07:10:11 1998  Tim Janik  <timj@gimp.org>
989
990         * gtk/gtkspinbutton.h: 
991         * gtk/gtkspinbutton.c: applied gtk-hamann_jeske-980311-0.patch.gz,
992         to limit entered characters to numbers, '-' and '.'.
993
994 Wed Mar 11 04:35:06 1998  Tim Janik  <timj@gimp.org>
995
996         * gtk/gtklist.c:
997         * gtk/gtktree.h: 
998         * gtk/gtktree.c:
999         * gtk/gtktreeitem.h: 
1000         * gtk/gtktreeitem.c: applied gtk-bolliet-980310-0.patch.gz which adds
1001         more checks and implements gtk_tree_clear_items. made a bunch of style
1002         and indentation fixes.
1003
1004 Wed Mar 11 03:35:17 1998  Tim Janik  <timj@gimp.org>
1005
1006         * gtk/gtktooltips.h:
1007         * gtk/gtktooltips.c: code and structure clean ups. fixed the
1008         tooltips flickering bug.
1009
1010 Tue Mar 10 14:24:09 1998  Owen Taylor  <owt1@cornell.edu>
1011
1012         * gtk/gtkselection.c (gtk_selection_clear): Make the return
1013           result reflect whether the clear event was out of data.
1014
1015         * gtk/gtkeditable.c: Ignore out of date selection clear
1016           events.
1017
1018         * gtk/gtkentry.c gtk/gtktext.c: Don't synthesize releases
1019           on [2/3]BUTTON presses, since we get the normal click as well.
1020
1021           Claim the selection when selecting words/lines.
1022
1023 Tue Mar 10 13:34:29 1998  Owen Taylor  <owt1@cornell.edu>
1024
1025         * gtk/gtkrange.c (gtk_range_default_[vh]trough_click): 
1026           Take forward/back step arrows into account when computing
1027           position for middle button clicks.
1028
1029         * gtk/gtktext.c gtk/gtkentry.c:
1030           - Fixes for deleting characters (don't subtract guints and get
1031             negative numbers!)
1032           - Reset cursor_virtual_x when moving by words and lines
1033           - Extra sanity checks
1034           - Fix to gtk_text_get_chars 
1035                  (from Tony Gale <gale@daedalus.dera.gov.uk>)
1036
1037 1998-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1038
1039         * gdk/gdkgc.c (gdk_gc_set_function): Replace GXor by GXxor.  Seems
1040         to have been a typo.
1041
1042 Tue Mar 10 00:49:18 EST 1998 The Rasterman <raster@redhat.com>
1043         * gdk/gdkwindow.c: (gdk_window_xid_at) fixed minor memory leak and
1044         minor buglet in tree search.
1045                 
1046 Mon Mar  9 21:21:19 PST 1998 Shawn T. Amundson <amundson@gimp.org>
1047
1048         * Released 0.99.5
1049
1050 Mon Mar  9 23:24:42 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1051
1052         * gtk/gtkclist.c (gtk_clist_get_selection_info): Export
1053         functionality.
1054
1055 Tue Mar 10 05:42:34 1998  Tim Janik  <timj@gimp.org>
1056
1057         * configure.in: Bumped version number to 0.99.5.
1058
1059 Tue Mar 10 05:30:05 1998  Tim Janik  <timj@gimp.org>
1060
1061         * gtk/gtkrange.h:
1062         * gtk/gtkrange.c:
1063         changed gtk_range_trough_click() to take an additional jump_perc arg,
1064         class method and callers changed.
1065
1066         * gdk/gdk.c (gdk_ic_destroy): applied gtk-gronlund-980309-1.patch.gz
1067         which fixes a memory leak.
1068
1069 Mon Mar  9 20:38:15 1998  Owen Taylor  <owt1@cornell.edu>
1070
1071         * gtk/gtkentry.c gtk/gtkeditable.c gtk/gtkspinbutton.c: 
1072           Moved "activate" to editable class. Made the vfuncs in 
1073           gtkeditable just vfuncs not signals.
1074
1075         * gtkentry.[ch] gtktext.[ch]: Made behavior when pressing
1076           multiple buttons at once more rational.
1077
1078         * gtkentry.c gtktext.c: Unified and rationalized key
1079           bindings. (Now are basically emacs+CUA)
1080         
1081         * gtktext.c: 
1082           - Last position now always shares the property of the preceding
1083             character
1084           - Freeze the widget when inserting large amounts of text.
1085           - Selecting lines now selects the _whole_ line.
1086           - Fixed bug with displaying the cursor
1087           - Ctrl-Home/End now move the cursor to the _absolute home/end
1088         
1089         * gtkmenuitem.c: Remove necessary code out of a g_return_if_fail
1090
1091 1998-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1092
1093         * gtk/gtkclist.c (gtk_clist_set_foreground): We now accept the
1094         color parameter to be NULL.  If it is NULL, it will mark the row
1095         with "color not set", so it will be repainted with the default color.
1096         (gtk_clist_set_background): Likewise.
1097
1098 Mon Mar  9 15:48:10 1998  Tim Janik  <timj@gimp.org>
1099
1100         * Signal signedness and naming corrections, plus GtkType fixes:
1101
1102         * gtk/gtkadjustment.c: 
1103         * gtk/gtkbutton.c:
1104         * gtk/gtkcheckmenuitem.c:
1105         * gtk/gtkclist.c: 
1106         * gtk/gtkcolorsel.c: 
1107         * gtk/gtkcontainer.c: 
1108         * gtk/gtkcurve.c: 
1109         * gtk/gtkdata.c: 
1110         * gtk/gtkeditable.c: 
1111         * gtk/gtkentry.c: 
1112         * gtk/gtkhandlebox.c: 
1113         * gtk/gtkinputdialog.c: 
1114         * gtk/gtkitem.c: 
1115         * gtk/gtklist.c: 
1116         * gtk/gtkmenuitem.c: 
1117         * gtk/gtkmenushell.c: 
1118         * gtk/gtknotebook.c: 
1119         * gtk/gtkstatusbar.c: 
1120         * gtk/gtktoolbar.c: 
1121         * gtk/gtktree.c: 
1122         * gtk/gtktreeitem.c: 
1123         * gtk/gtkwidget.c: 
1124         * gtk/gtktogglebutton.c: 
1125         * gtk/gtkwindow.c: 
1126         made the <widget>_signals[] arrays of type guint rather than gint.
1127
1128         * gtk/gtkwidget.c (gtk_widget_get_ancestor): made widget_type a GtkType.
1129
1130         * gtk/gtkcombo.h:
1131         handler ids need to be of type guint (entry_change_id, list_change_id).
1132
1133         * gtk/gtkaccelerator.c:
1134         changed signal_num to signal_id and typed it guint.
1135
1136         * gtk/gtkmain.c: made gtk_ndebug_keys a guint.
1137
1138         * gtk/gtkmenu.h: 
1139         * gtk/gtkmenu.c:
1140         (gtk_menu_popup): made button a guint.
1141         (gtk_menu_set_active): made index a guint.
1142
1143         * gtk/gtkmenuitem.h: 
1144         * gtk/gtkmenuitem.c: 
1145         made accelerator_signal a guint.
1146
1147         * gtk/gtkoptionmenu.h:
1148         * gtk/gtkoptionmenu.c:
1149         (gtk_option_menu_set_history): made index a guint.
1150
1151         * gtk/gtksignal.h: 
1152         * gtk/gtksignal.c: 
1153         * gtk/gtkobject.h: 
1154         * gtk/gtkobject.c: changed a bunch of prototypes to take guints rather
1155         than gints. also made some conversions from guint to GtkType, left over
1156         from when the fundamental-types system was introduced.
1157
1158         * gtk/gtkobject.h: 
1159         * gtk/gtkobject.c: made object_data_id_index and obj_count guints.
1160         made *signals and nsignals guints in GtkObjectClass.
1161
1162 Mon Mar  9 13:36:53 GMT 1998 Tony Gale  <gale@gimp.org>
1163
1164         * docs/gtkfaq.sgml:
1165
1166         - Use 'diff -ru' for patches
1167         - Explained patch application/rejection
1168         - Added information on CVS
1169         - New question on right justified menus with menufactory
1170
1171         From Nathan:
1172
1173         - Information on Objective-C bindings
1174         - Add missing variable in colour example.
1175   
1176 Mon Mar  9 11:44:33 1998  Tim Janik  <timj@gimp.org>
1177
1178         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu): reverted
1179         the changes ian introduced in r1.16 on Mar 06, since they broke the
1180         history menu.
1181
1182 Mon Mar  9 08:07:01 1998  Tim Janik  <timj@gimp.org>
1183
1184         * gtk/gtkspinbutton.h: 
1185         * gtk/gtkspinbutton.c:
1186         applied gtk-hamann_jeske-980308-0.patch.gz to have a
1187         gtk_spin_button_construct() function
1188
1189 Mon Mar  9 01:01:41 1998  Owen Taylor  <owt1@cornell.edu>
1190
1191         * gtk/gtkrc.c: No, you can't add a GtkStyle * to a
1192           list of GtkRcNode *. (Fixes huge performance problem)
1193           Plus, don't bother creating a new style unless style
1194           actually has bg pixmaps.
1195
1196 Sun Mar  8 15:53:33 1998  Owen Taylor  <owt1@cornell.edu>
1197
1198         * gtk/gtktext.c: 
1199
1200         - Show selection correctly when starting selection with arrows
1201
1202         - Display pixmap background only when not editable
1203
1204         - Redraw focus area more carefully to prevent flashing (and
1205           make style of drawing consistent with Entry)
1206
1207         * gtk/gtktreeitem.c: ref colormaps for pixmap by colormap
1208           storage.
1209         
1210         * gtk/gtkrc.c: Store a separate style for each RcStyle for
1211           each colormap, so we can handle background pixmaps 
1212           correctly, which need to be per-colormap. (Leaks
1213           colormaps...)
1214
1215           Parse text color style entries correctly.
1216
1217         * gtk/testgtk.c: insert text without fg color
1218           gtk/testgtkrc: move "*" after rest, so the other class styles
1219                          take effect
1220
1221         * gdk/gdkwindow.c gdk/gdk.c gdk/gdkprivate.h: Send DND events
1222           safely, in case drop window disappears. (Performance hit
1223           because XSync()'s are necessary)
1224
1225         * gdk/gdk.h gdk/gdkpixmap.c: Added 
1226           gdk_pixmap_colormap_create_from_xpm[_d] to allow creating
1227           pixmaps from xpm's before you have a GdkWindow.
1228         
1229 Sun Mar  8 12:33:38 PST 1998 Jay Painter <jpaint@serv.net>
1230         
1231         * gtk/gtkclist.c: the GList clist->selection now contains row indexes
1232           in the data portion of the linked list structure instead of pointers,
1233           fixed several bugs with the different selection modes
1234
1235         * gtk/testgtk.c: displays information for unselect events, and prints the list
1236           of selected rows
1237
1238 Sun Mar  8 13:03:22 1998  Tim Janik  <timj@gimp.org>
1239
1240         * gtk/gtkrange.h: removed gtk_range_calc_value().
1241
1242 Sun Mar  8 04:22:36 1998  Tim Janik  <timj@gimp.org>
1243
1244         * gtk/gtkfilesel.c: applied gtk-gronlund-980307.patch.gz which
1245           fixes a memory leak by making use of gtk_clist_set_row_data_full.
1246
1247         * gtk/gtkclist.c: applied gtk-gronlund-980307.patch.gz which ads a
1248           gtk_clist_set_row_data_full () function. slightly modified to
1249           always invoke the destroy function regardless of the value of
1250           the row_data.
1251         
1252         * docs/gtk.texi: applied gtk-draco-980305-1.patch.gz, spelling fixes.
1253         
1254         * gdk/gdk.c (gdk_init):
1255           cleared up a tiny memory leak from not destroying a temporary copy
1256           of argv (gtk-gronlund-980307-02.patch.gz).
1257
1258 Sun Mar  8 03:00:17 1998  Tim Janik  <timj@gimp.org>
1259
1260         * configure.in: define the version variables in config.h.
1261
1262         * gtk/gtkmain.h:
1263         * gtk/gtkmain.c: added static version variables.
1264
1265         * gdk/gdkpixmap.c: fixed memory leaks (gtk-gronlund-980307-1.patch.gz)
1266
1267 Sat Mar  7 18:46:57 1998  Owen Taylor  <owt1@cornell.edu>
1268
1269         * gtk/gtkpreview.[ch]: Added a new function, gtk_preview_reset(),
1270           that can be used (under highly controlled circumstances),
1271           to change the properties of the preview colormap after
1272           a preview has already been created and destroyed.
1273
1274 Sun Mar  8 00:18:04 1998  Tim Janik  <timj@gimp.org>
1275
1276         * gtk/gtkobject.c: register living objects in a hashtable.
1277
1278 Sat Mar  7 20:20:53 1998  Tim Janik  <timj@gimp.org>
1279
1280         * gtk/gtkobject.c:
1281         (gtk_object_check_cast):
1282         (gtk_object_check_class_cast): 
1283           made the object/class cast checks much more descriptive, based on
1284           gtk-draco-980305-2.patch.gz and gtk-draco-980306-1.patch.gz but
1285           optimized for common code path.
1286
1287         * gtk/gtkpreview.c: added a few extra checks for the visual
1288         (gtk-draco-980305-0.patch.gz).
1289
1290         * gdk/gdk.c (gdk_signal): abort() on a signal if G_ENABLE_DEBUG
1291           is defined, so we dump core (gtk-draco-980305-0.patch.gz).
1292
1293 Sat Mar  7 13:00:00 1998  The Rasterman <raster@redhat.com>
1294
1295         * gdk/gdkwindow.c (gdk_window_xid_at_coords),(gdk_window_xid_at):
1296           added these two calls, gdk_window_xid_at_coords beign the one
1297           to actually call to look up the current X Window ID at a particular
1298           x,y co-ordinate onscreen accounting for a list of windows to be 
1299           excluded from this search. Useful for DND support.
1300         * gdk/gdkprivate.h added in above function calls.
1301
1302 Sat Mar  7 01:07:24 1998  Owen Taylor  <owt1@cornell.edu>
1303
1304         * gtk/gtkrange.c (gtk_range_expose): Fixed the vscrollbar
1305           flickering problem, by checking the area on expose events.
1306           (There was a hscrollbar flickering problem as well, it
1307            just wasn't very noticeable)
1308
1309 Fri Mar  6 21:30:05 1998  Owen Taylor  <owt1@cornell.edu>
1310
1311         * gtk/gtkeditable.c: Disallow pasting into non-editable
1312           widgets.
1313
1314         * gtk/gtktext.[ch]: 
1315
1316           -Added scrolling when dragging the selection
1317            paste the top/bottom.
1318
1319           -Fix some of the problems with displaying the selection
1320            state before mouse release.
1321
1322           -Disallow pasting into non-editable widgets
1323
1324           -Fixed segfault when changing window size
1325
1326           -Update the cursor correctly when switching between
1327            editable and non-editable
1328
1329         * testgtk.c: Added a toggle button for editability for
1330           the text widget. 
1331
1332 Fri Mar  6 14:47:33 PST 1998 Shawn T. Amundson <amundson@gimp.org>
1333
1334         * Applied gtk-matsu-980205-0 (oops, should be 980305)
1335           gdk/gdkinputcommon.h: return NULL if device is not ready
1336           gtk/gtkwindow.c: check for GDK_ISO_Left_Tab
1337
1338 Fri Mar  6 13:17:58 1998  Marc Ewing  <marc@.redhat.com>
1339
1340         * gtk/gtkclist.c (real_select_row, real_unselect_row): 
1341           fix selection bugs
1342
1343 Thu Mar  5 20:41:27 1998  Ian Main  <imain@gnu.org>
1344
1345         * gtk/gtkfilesel.c: Added
1346           gtk_file_selection_show_fileop_buttons(GtkFileSelection *fs), and
1347           gtk_file_selection_hide_fileop_buttons(GtkFileSelection *fs).
1348           Changed pulldown to only contain current directory name instead of
1349           the full path.  Removed Help button (it can now be packed into the
1350           button_area if desired).
1351                 
1352         * gtk/gtkfilesel.h: Added GtkWidget *button_area (the fileop
1353           buttons at the top are packed into this hbox), and GtkWidget
1354           action_area (hbox below clists) to GtkFileSelection structure.
1355
1356         * gtk/testgtk.c: Changed the filesel example to show off the hiding/
1357           showing of fileop buttons, and the packing area.
1358
1359 1998-03-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1360
1361         * gdk/gdkprivate.h: Changed the name of default_filters to
1362         gdk_default_filters to avoid namespace pollution.  Yes, it just
1363         happened to me.
1364         * gdk/gdk.c (gdk_event_translate):
1365         * gdk/gdkglobals.c: 
1366         * gdk/gdkwindow.c (gdk_window_add_filter gdk_window_remove_filter): Likewise.
1367
1368 Thu Mar  5 12:32:06 1998  Marc Ewing  <marc@redhat.com>
1369
1370         * gtk/gtkclist.c (select_row): emit UNselect on rows
1371           that are not selected.
1372
1373 Thu Mar  5 01:22:06 1998  Owen Taylor  <owt1@cornell.edu>
1374
1375         * gtk/gtkwidget.c (gtk_widget_unparent): Unset allocation
1376           on unparent, to force reallocation if we get adding back
1377           to a new parent which is already size-allocated.
1378
1379         * gtk/gtktreeitem.[ch]: Keep track of separate +/- pixmaps
1380           for each colormap, removed the idle hack.
1381
1382         * gdk/gdk.c: Don't warn when unable to open XIM method,
1383           since X11R5 apparently has no default method.
1384
1385         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Don't
1386           call size_request on initial emission - since the
1387           widget size isn't set yet, it can't change.
1388
1389         * gtk/Makefile.am: New rules 'test' and 'test-debug' to run
1390           testgtk with the correct working directory.
1391
1392         * gtk/gtkentry.c (gtk_move_forward_word): 
1393           Check for position at end of line.
1394
1395         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): 
1396           removed 'gpointer data' arguments from default handler
1397           structures.
1398
1399 Wed Mar  4 20:06:47 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1400
1401         * gdk/gdk.c (gdk_event_translate): Drags can only be started with
1402         the left button.
1403
1404 Wed Mar  4 16:02:44 GMT 1998 Tony Gale  <gale@gimp.org>
1405
1406         * docs/gtkfaq.sgml: widget hierarchy update from Tim Janik
1407
1408 Mon Mar  2 19:57:27 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1409
1410         * gdk/gdkproperty.c (gdk_atom_name): Initialize gdk_error_code to
1411         zero before calling the X routine.
1412
1413 Tue Mar  3 01:22:25 1998  Tim Janik  <timj@gimp.org>
1414
1415         * gtk/gtkspinbutton.c: applied patch from lars and steffan to proper
1416         check for realized widgets.
1417
1418 Mon Mar  2 18:27:09 CST 1998 Shawn T. Amundson <amundson@gimp.org>
1419
1420         * gtk/gtkstatusbar.h: fixed ifndef..define typo
1421
1422 Mon Mar  2 17:48:38 1998  Owen Taylor  <owt1@cornell.edu>
1423
1424         Miscellaneous minor fixes to remove ANSI C incompatibilities
1425
1426         * gdk/gdkregion.c gtk/gtkclist.c: fix // comments
1427
1428         * gdk/gdkdnd.c gdk/gdkinputcommon.h: change types of
1429         some arguments to ANSI functions
1430
1431         * gtk/gtkcombo.c gtk/gtktree.c: fix casts of function pointers
1432           to void *
1433
1434         * gtk/gtkmain.c: An actual bug! (in deprecated gtk_input_add_interp)
1435
1436         * gtk/gtknotebook.h: Bitfields must be gint or guint. (and should
1437           be guint)
1438
1439         * gtk/gtkstatusbar.c: trailing ';'
1440
1441         * gtk/testgtk.c: GList where there should have been GSList
1442
1443 Mon Mar  2 12:26:59 1998  Owen Taylor  <owt1@cornell.edu>
1444
1445         * gtk/gtkentry.c: Changed 'entry != NULL' to 'editable != NULL'
1446           in three spots.
1447
1448 Sun Mar  1 18:29:58 PST 1998 Shawn T. amundson <amundson@gimp.org>
1449
1450         * Released GTK+ 0.99.4.
1451
1452 Sun Mar  1 16:47:29 PST 1998 Shawn T. Amundson <amundson@gimp.org>
1453
1454         * gtk/testgtk.c: small fix to notebook portion
1455
1456 Sun Mar  1 15:18:38 PST 1998 Shawn T. Amundson <amundson@gimp.org>
1457
1458         * Required changes for version change to 0.99.4
1459
1460         * gtk/gtktree.[ch]: patch from J. Bolliet to correct some bugs
1461         * gtk/testgtk.c: added test here from J. Bolliet, removed testtree
1462
1463         * gtk/clist: gtk-abilleira-981602-0, allows gtk_clist_set_pixmap 
1464           and gtk_clist_set_pixtext to not require a mask
1465         
1466         * gdk/gdkdraw.c,gdk.h: gtk-trow-980217-0
1467           adds gdk_draw_lines and fixes some things about 
1468           gdk_draw_polygon         
1469
1470 Sun Mar  1 17:40:58 1998  Owen Taylor  <owt1@cornell.edu>
1471
1472         * gdk/gdkpixmap.c: Make sure either the window or
1473         the depth is given when creating a pixmap.
1474
1475 Sun Mar  1 22:59:09 1998  Tim Janik  <timj@gimp.org>
1476
1477         * gtk/gtkstatusbar.h: 
1478         * gtk/gtkstatusbar.c: complete api change to honour message contexts.
1479         unfortunaltely this also involved argument changes on the signal
1480         emissions which will not be caught by the compiler. your callbacks
1481         should look like:
1482         void  message_text_popped (GtkStatusbar   *statusbar,
1483                                    guint           context_id,
1484                                    const gchar    *text,
1485                                    gpointer        func_data);
1486
1487         * gtk/gtkwidget.c (gtk_widget_set_rc_style): eliminated bug about
1488         initial signal emission.
1489         (gtk_widget_set_parent): don't ensure style, just call
1490         gtk_widget_set_style_recurse.
1491         (gtk_widget_set_style_recurse): only change a widget's rc styles if
1492         if there has already been a lookup.
1493         
1494         * gtk/testgtk.c: adaptions for statusbar widget.
1495         substituted notebook pixmaps with pixmaps from fvwm, since
1496         we don't know where the originals came from.
1497         
1498         * gtk/gtkobject.c (gtk_object_data_destroy): call the destroy
1499         notifier with the objects data, not its internal structure.
1500         
1501         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): small
1502         fix from lars.
1503
1504 Sun Mar  1 15:08:13 CST 1998 Shawn T. Amundson <amundson@gimp.org>
1505
1506         * docs/*.texi changes from Greg Mclean.
1507
1508 Sun Mar  1 18:41:07 1998  Tim Janik  <timj@gimp.org>
1509
1510         * gtk/gtkwidget.c (gtk_widget_restore_default_style): hm if we save the
1511         default style, we should also provide a function to restore it ;).
1512
1513         * gtk/main.[hc]: small fixups to idle handlers, added support for quit
1514         handlers.
1515
1516 Sun Mar  1 05:18:11 1998  Owen Taylor  <owt1@cornell.edu>
1517
1518         * gtk/gtkentry.c gtk/gtktext.c gtkeditable.[ch]
1519
1520         Changed interface to cut/copy/paste so it makes sense
1521         when triggered by say, menu items.
1522
1523 Sun Mar  1 03:20:39 1998  Owen Taylor  <owt1@cornell.edu>
1524
1525         * gtk/gtkentry.[ch] gtk/gtktext.[ch] gtkeditable.[ch]
1526
1527         Turned off debugging in gtktext.c
1528
1529         Bug fixes for cutting, pasting, deleting, etc. 
1530
1531         Some of the bugs that were there before have definitely
1532         been fixed. 
1533         
1534         * gtk/testgtk.c gtk/testgtkrc: Removed my ugly orange backgrounds,
1535         to make things look nicer. 
1536         
1537 Sat Feb 28 23:58:54 1998  Owen Taylor  <owt1@cornell.edu>
1538
1539         * gtk/gtkentry.[ch] gtktext.[ch] gtkeditable.[ch]
1540
1541         Created a new base widget type Editable for the entry and
1542         text widgets, which encapsulates most of the selection and
1543         clipboard handling stuff, plus some common signals.
1544
1545         Changed the Entry widget extensively to support this, 
1546         but the interface and appearance should be the same.
1547
1548         Changed the Text widget moderately to support this.
1549
1550         It now supports:
1551
1552         - Selection style cut and paste
1553         - Clipboard style cut and paste
1554         - Emacs style key bindings (~same as Entry)
1555         - Word motion
1556         - "changed" signal
1557
1558         There are definitely still some bugs in the new stuff.
1559
1560         Use style->base for the background and style->text for
1561         the foreground.
1562         
1563         * gtkfilesel.c gtkspinbutton.c testgtk.c: small changes
1564         to fit the new interface more exactly.
1565         
1566 Sat Feb 28 19:29:09 1998  Tim Janik  <timj@gimp.org>
1567
1568         * gtk/gtkclist.c (gtk_clist_new_with_titles): retrive the clist widget
1569         from gtk_type_new (gtk_clist_get_type ()), not gtk_clist_new(),
1570         otherwise gtk_clist_construct() gets called twice.
1571
1572         * gtk/gtkhandlebox.h:
1573         * gtk/gtkhandlebox.c: emit signals when the child is attached/detached.
1574
1575 Sat Feb 28 15:18:36 1998  Tim Janik  <timj@gimp.org>
1576
1577         * gtk/gtkpreview.c: fix behavior of gtk_preview_put() with
1578         srcx/srcy != 0, gtk-shige-980127-0.patch.gz by
1579         AOSASA Shigeru <aozasa@sakuranet.or.jp>.
1580
1581         * gdk: applied gtk-roebling-980121-0.patch.gz, patch for region
1582         support in Gdk, by Robert Roebling <roebling@ruf.uni-freiburg.de>.
1583
1584 Fri Feb 27 15:31:55 1998  Tim Janik  <timj@gimp.org>
1585
1586         * gtk/gtktipsquery.c: we make an active server grab now, this way we
1587         can change the cursor globally and don't need to tweak event masks
1588         of other windows.
1589
1590         * gtk/gtkframe.c (gtk_frame_style_set): recompute label size.
1591
1592         * gtk/gtkwidget.h:
1593         * gtk/gtkwidget.c:
1594         New signal GtkWidget::style_set to be emitted when a widget's style
1595         changed. New flag GTK_RC_STYLE to indicate whether an rc lookup has
1596         been perfomed for the widget.
1597         (gtk_widget_ensure_style): New function.
1598         (gtk_widget_set_rc_style): New function.
1599
1600         * docs/styles.txt: new file.
1601
1602 Fri Feb 27 01:11:55 1998  Owen Taylor  <owt1@cornell.edu>
1603
1604         * gtk/gtktext.c
1605
1606         - gtk_text_delete and gtk_text_insert now update caches
1607         and refresh screen correctly if the text widget isn't frozen.
1608        
1609         - Fixed bug where text->first_line_start_index wasn't
1610         being updated correctly on insertion and deletion.
1611         
1612         - Added new public macro GTK_TEXT_INDEX (text, ind), and 
1613         function gtk_text_get_chars(text, index, nchars);
1614         
1615 Thu Feb 26 22:36:46 1998  Owen Taylor  <owt1@cornell.edu>
1616
1617         * gdk/gdkwindow.c gdktypes.c gdk.h: 
1618         new functions for setting WM hints
1619
1620          gdk_window_set_icon()
1621          gdk_window_set_icon_name()
1622          gdk_window_set_group()
1623          gdk_window_set_decorations()
1624          gdk_window_set_functions()
1625
1626         * gdk/MwmUtil.h: new uninstalled header file from lesstif 
1627         distribution, used for setting MWM hints.
1628
1629         * gdk/gdkdnd.c Makefile.am: renamed from gdk/gdk_dnd.c
1630         
1631         * gtk/gtkhandlebox.c (gtk_handle_box_realize): Use MWM hints
1632         to undecorate window.
1633
1634         * gtk/testgtk.c gtk/circles.xbm: new test for WM hints.
1635
1636 Wed Feb 25 22:56:42 1998  Tim Janik  <timj@gimp.org>
1637
1638         * gtk/gtkspinbutton.h: 
1639         * gtk/gtkspinbutton.c:
1640         new widget from Lars Hamann <hamann@braunschweig.netsurf.de> and
1641         Stefan Jeske <jeske@braunschweig.netsurf.de>.
1642
1643         * gtk/gtknotebook.c: fixups from lars and stefan.
1644
1645 Wed Feb 25 13:18:53 1998  Owen Taylor  <owt1@cornell.edu>
1646
1647         * gtk/gtkbbox.[ch] gtk/gtkhbox.[ch] gtk/gtkvbox.[ch] :
1648
1649         Move layout constants into an enumeration, split
1650         GTK_BUTTONBOX_DEFAULT into GTK_BUTTONBOX_DEFAULT
1651         and GTK_BUTTONBOX_DEFAULT_STYLE (enumeration member).
1652         
1653         * gtk/gtkclist.c:
1654
1655         Renamed gtk_clist_row_isvisable to .._is_visible
1656
1657         From: Maciej Stachowiak <mstachow@mit.edu>
1658         
1659 Wed Feb 25 13:50:05 GMT 1998  Tony Gale <gale@gimp.org>
1660
1661         * docs/gtkfaq.sgml: added questions on:
1662                 - Why don't the contents of a button move when 
1663                   the button is pressed?
1664                 - How do I catch a double click event in 
1665                   a list widget?         
1666                 - When compiling GTK+ I get an error like: 
1667                   make: file `Makefile' line 456: Syntax error 
1668           Removed questions on menus which are covered in the
1669           tutorial.
1670
1671           Added link to HTML versions of FAQ and Tutorial on my
1672           web site.
1673
1674 Tue Feb 24 22:47:01 1998  Owen Taylor  <owt1@cornell.edu>
1675
1676         * gtk/gtktext.c: Added some support for i18n. The support 
1677         for input methods, including preedit, is there, but input
1678         is ignored unless it comes one byte at a time, so the
1679         CJK locales won't really work. Fixing that would require
1680         variable-width character support in the Text widget, which
1681         is probably the wrong approach. Eventually we'll probably
1682         want to go to UCS-4 internally.
1683
1684         Also, revised key press handling, which should improve
1685         the forwarding of non-handled keypresses to the toplevel,
1686         and make adding selection handling easier.
1687
1688         * gtk/gtkentry.c: Minor changes so that C-d, etc delete
1689         the selection if there is one.
1690
1691         * gdk/gdk.c (gdk_ic_get_events): Check the result of
1692         XGetICValues - it is failing for some reason, and 
1693         causing some warnings to be printed.
1694
1695 Mon Feb 23 15:41:13 1998  Owen Taylor  <owt1@cornell.edu>
1696
1697         * gtk/gtkwidget.c gtk/gtkmenu.c: Don't process configure events
1698         that just move the window, and don't resize it. Because we need
1699         to make sure that a widget gets redrawn after a size_allocate -
1700         and that only happens when the configure event changes the size
1701         of the window. Plus, it's inefficient.
1702         
1703 Mon Feb 23 15:45:37 1998  Marc Ewing <marc@redhat.com>
1704
1705         * gtk/gtktoolbar.h:
1706         * gtk/gtktoolbar.c:
1707         Added gtk_toolbar_*_element() functions.  Rewrote others
1708         to simply call gtk_toolbar_insert_element() to do the
1709         work.
1710         Added two new GtkToolbarChildType options: TOGGLEBUTTON and
1711         RADIOBUTTON, available through the gtk_toolbar_*_element() functions.
1712         
1713 Mon Feb 23 13:44:10 1998  Tim Janik  <timj@gimp.org>
1714
1715         * gtk/gtkstatusbar.h:
1716         * gtk/gtkstatusbar.c:
1717         (re-)implemented the statusbar widget. my first intend was to fix the
1718         code, but then there was nothing to fix.
1719
1720 Sun Feb 22 20:42:04 1998  Marc Ewing <marc@redhat.com>
1721
1722         * gtk/gtkclist.c (gtk_clist_insert): Allow inserts
1723         on empty clists.
1724         
1725 Sun Feb 22 14:28:43 1998  Owen Taylor  <owt1@cornell.edu>
1726
1727         * gtk/gtkmain.c (gtk_events_pending): Count idle handlers
1728         at internal priority as pending events.
1729
1730 Sun Feb 22 00:20:12 MET 1998  Eckehard Berns  <eb@berns.prima.de>
1731
1732         * gdk/gdkcc.c (gdk_color_context_query_colors): fixed a bug for mode
1733         GDK_CC_MODE_TRUE, when on a 24-bit visual on a 32-bit mashine.
1734
1735 Sat Feb 21 15:33:20 1998  Tim Janik  <timj@gimp.org>
1736
1737         * gtk/gtkwidget.h: 
1738         * gtk/gtkwidget.c: renamed signal GtkWidget::set_parent to
1739         GtkWidget::parent_set. since it's purpose is pure notification,
1740         it should have been named this way in the first place.
1741
1742 Sat Feb 21 12:06:11 1998  Scott Goehring  <scott@poverty.bloomington.in.us>
1743
1744         * gtk/gtkentry.c (gtk_entry_set_text): Added a test for passing a
1745         NULL text pointer.
1746
1747 Sat Feb 21 14:49:17 1998  Tim Janik  <timj@gimp.org>
1748
1749         * gtk/gtkobject.h:
1750         * gtk/gtkobject.c: gtk_object_query_args takes an additional pointer
1751         now which if supplied will point to an array holding the sequential
1752         argument ids.
1753
1754         * gtk/gtktree.c: fix emission of selection_changed signal, supplied
1755         by Bolliet Jerome.
1756
1757         * gtk/gtktreeitem.c: inline the plus and minus pixmaps, supplied by
1758         Bolliet Jerome.
1759
1760         * gtk/gtknotebook.c: do a resize when a page is removed and don't
1761         refer to the removed page on the switch signal, supplied by Lars Hamann
1762         and Stefan Jeske.
1763
1764         * gtk/gtktoolbar.h:
1765         * gtk/gtktoolbar.c:
1766         gtk_toolbar_append_item, gtk_toolbar_prepend_item,
1767         gtk_toolbar_insert_item, gtk_toolbar_append_widget,
1768         gtk_toolbar_prepend_widget, gtk_toolbar_insert_widget: take an additional
1769         gchar *tooltip_private_text as argument to fully support the underlying
1770         call to gtk_tooltip_set_tip.
1771
1772 Fri Feb 20 06:40:00 1998  Tim Janik  <timj@gimp.org>
1773
1774         * gtk/gtktipsquery.h: 
1775         * gtk/gtktipsquery.c:
1776         New widget GtkTipsQuery for letting the user query tooltips of widgets.
1777
1778         * gtk/testgtk.c: add example for GtkTipsQuery.
1779
1780         * gtk/gtk.h: include gtk/gtktipsquery.h.
1781
1782         * gtk/gtklabel.c: enable default constructing.
1783         
1784
1785 Thu Feb 19 18:53:51 1998  Larry Ewing  <lewing@discord.isc.tamu.edu>
1786
1787         * removed g_warnings from the common XShm failure cases in gdkimage.c
1788
1789 1998-02-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1790
1791         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Added M-p and M-n
1792         key equivalents for up and down keys.  Just for us Emacs weenies :-)
1793
1794 Thu Feb 19 12:18:24 1998  Owen Taylor  <owt1@cornell.edu>
1795
1796         * gtk/testgtk.c : Use POINTER_MOTION_HINT when dragging
1797         shapes around. 
1798         (gtk-wille-980203-0 
1799          Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>)
1800
1801         * gtk/gtktext.c : Fixes to inserting and deleting characters
1802         on line breaks.
1803         (gtk-magnus-980210-0 Magnus Hulthen <magnus@axiom.se>)
1804
1805         * glib/configure.in glib/glibconfig.h.in: the value of
1806         ---enable_debug is written into glibconfig.h so everything
1807         is recompiled when it changes. (HACK)
1808
1809         * gtk/gtkmain.c gdk/gdk.c docs/debugging.txt:
1810         Added --gdk-no-debug and --gtk-no-debug switches. Effect
1811         of switches is no cumulative.
1812
1813 Thu Feb 19 06:56:52 1998  Tim Janik  <timj@gimp.org>
1814
1815         * gtkbox.c:
1816         * gtkbutton.c:
1817         * gtkcontainer.c:
1818         * gtkframe.c:
1819         * gtklabel.c:
1820         * gtkobject.c:
1821         * gtkwidget.c:
1822         * gtkwindow.c:
1823         present the argument access masks on their announcement.
1824
1825         * gtk/gtkobject.h:
1826         * gtk/gtkobject.c:
1827         (gtk_object_add_arg_type): take an additional argument describing
1828         the access mask of the new arg. this can be of GTK_ARG_READABLE,
1829         GTK_ARG_WRITABLE or GTK_ARG_READWRITE (the latter is an alias for
1830         the two previous ones).
1831         (gtk_object_query_args): provide an access_mask array if desired.
1832
1833         * gtk/gtkwidget.c (gtk_widget_real_realize):
1834         realized the assumtion that widget is a NO_WINDOW widget
1835         in actuall code.
1836
1837         * gtkwindow.c:
1838         slight changes to gtk_window_configure_event that will make
1839         the resizing behaviour a little less odd.
1840         sigh, for some (buggy) reason, there are still container resizes
1841         triggered by manual resizing to very small window sizes.
1842         the cointainer resizes will cause gtk_real_window_move_resize to
1843         be invoked, which makes the app look like it wants to fight the users
1844         resizing action. ;(
1845
1846 Thu Feb 19 01:11:48 1998  Owen Taylor  <owt1@cornell.edu>
1847
1848         * configure.in         gdk/gdk.[ch]         gdk/gdkcc.c 
1849           gdk/gdkglobals.c     gdk/gdkinputcommon.h gdk/gdkprivate.h 
1850           gdk/gdkvisual.c      glib/configure.in    glib/glib.h
1851           glib/gutils.c        gtk/Makefile.am      gtk/gtkmain.c
1852           gtk/gtkobject.[ch]   gtk/gtkdebug.h       docs/debugging.txt   
1853
1854         New system for controlling debugging:
1855
1856         * --enable-debug=[no/yes/minimum]
1857         * G_DISABLE_ASSERT and G_DISABLE_CHECKS for glib
1858         * G_NO_CHECK_CASTS to control cast checking
1859         * G_ENABLE_DEBUG enables run time checking which controls:
1860             Object tracing
1861             Showing events
1862             Miscellaneous g_print's in GDK
1863           And is controlled by --gdk-debug/GDK_DEBUG, --gtk-debug/GTK_DEBUG
1864         * debug_level and show_events are gone from GTK
1865
1866         See docs/debugging.txt for details.
1867         
1868         And some fixups to the configure.in's so '-g' can be
1869         overriden on the command line for --enable-debug
1870         
1871 Thu Feb 19 05:40:51 1998  Tim Janik  <timj@gimp.org>
1872
1873         * gtk/gtknotebook.h:
1874         * gtk/gtknotebook.c:
1875         applied gtk-hamann_jeske-980218-0.patch.gz, a patch from
1876         Lars Hamann and Stefan Jeske which introduces major
1877         usability improvements.
1878         fixed bugs are:
1879         - container border_width>0 does now work correctly for show_tabs==TRUE
1880           and for tab_pos=GTK_POS_BOTTOM/GTK_POS_RIGHT.
1881         - toggleing visibility of the tab labels works now.
1882         - emission of GtkNotebook:switch_page and all page changes
1883         also the signature for the GtkNotebook:switch_page signal changed,
1884         callbacks should now look like:
1885         gint notebook_switch_page (GtkWidget *widget,   GtkNotebookPage *page,
1886                                    gint       page_num, gpointer         data);
1887
1888 Wed Feb 18 01:09:56 PST 1998  Jay Painter <jpaint@serv.net>
1889         * gdk/gdk.c: fixed ambigous else compiler warning
1890         * gtk/gtkgamma.c: fixed ambigous else compiler warning
1891         * gtk/gtkclist.h:
1892         * gtk/gtkclist.c: new signals which break everything! (yeah!)
1893         * gtk/gtkfilesel.c: fixed to use new clist signals
1894
1895 Wed Feb 18 04:38:24 1998  Tim Janik  <timj@gimp.org>
1896
1897         * gtk/gtkwidget.h:
1898         * gtk/gtkwidget.c:
1899           new signal GtkWidget::set_parent. this signal will be emitted once a
1900           widget gets a new/no parent assigned (i.e. from gtk_widget_unparent
1901           and gtk_widget_set_parent).
1902
1903 Wed Feb 18 02:58:50 1998  Tim Janik  <timj@gimp.org>
1904
1905         * gtk/gtktooltips.h:
1906           new functions gtk_tooltips_data_get and
1907           gtk_tooltips_set_tip, gtk_tooltips_set_tips is discouraged now.
1908         (_GtkTooltips): removed some fields that were never used.
1909           changed boolean fields to one bit size, to pack together with
1910           the delay field.
1911         (_GtkTooltipsData): added tip_private, renamed tips_text to
1912           tip_text.
1913         * gtk/gtktooltips.c:
1914           (gtk_tooltips_data_get): new function to retrive the
1915           _GtkTooltipsData structure of a widget.
1916         (gtk_tooltips_set_tip): new function for more extensible tooltips
1917           settings than gtk_tooltips_set_tips which is discuraged now.
1918           removed a bug that caused a stale object_data key to a
1919           _GtkTooltipsData structure.
1920           removed a bug that caused tips falsly to come up for a grab widget
1921           on widgets where events were grabbed from.
1922
1923 1998-02-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1924
1925         * gdk/gdkcc.c: Added some missing newlines on debug messages.
1926
1927 Tue Feb 17 05:41:31 1998  Tim Janik  <timj@gimp.org>
1928
1929         * gtk/gtkentry.c (gtk_entry_init): invoke gtk_entry_grow_text already
1930           in this place, so the application will never see entry->text==NULL.
1931           (see also ChangeLog entry from Tue Feb 11 1997 on this).
1932
1933         * gtk/gtkcheckbutton.c:
1934         * gtk/gtkradiobutton.c:
1935         * gtk/gtktogglebutton.c:
1936           applied patch to fix draw_indicator behaviour from Lars Hamann
1937           and Stefan Jeske.
1938
1939         * gtk/gtkmain.h:
1940         * gtk/gtkmain.c (gtk_grab_get_current): new function
1941           that returns the current grab widget or NULL.
1942
1943         * gdk/gdkwindow.c (gdk_window_shape_combine_mask): remove
1944           shape mask if mask==NULL (provided by Stefan Wille).
1945
1946 Tue Feb 17 00:06:26 1998  Owen Taylor  <owt1@cornell.edu>
1947
1948         * gtk/gtkpaned.c, gtk/gtk[hv]paned.c: (gtk-fortier-980215-0)
1949           From Patrice Fortier <Patrice.Fortier@aquarel.fr>
1950
1951           Add a widget->window for paned windows, so they
1952           can be reparented properly.
1953
1954 Mon Feb 16 23:47:09 1998  Owen Taylor  <owt1@cornell.edu>
1955
1956         * gtk/gtkviewport.c: (gtk-fortier-980130-0)
1957           From Patrice Fortier <Patrice.Fortier@aquarel.fr>
1958         
1959           Eliminate some extra expose events for viewports.
1960           (To be conservative, I set the user's event mask for
1961            both widget->window, and viewport->bin_window  -owt)
1962
1963 Mon Feb 16 23:12:14 1998  Owen Taylor  <owt1@cornell.edu>
1964
1965         * gtk/gtkmain.c: Make timeout and idle insertion code
1966           use g_list_insert_sorted().
1967
1968 Mon Feb 16 17:35:17 1998  Owen Taylor  <owt1@cornell.edu>
1969
1970         * gtk/gtktreeitem.c: Use gtk_signal_default_marshaller,
1971           for expand/collapse signals.
1972
1973 Fri Feb 13 19:08:51 1998  Tim Janik  <timj@gimp.org>
1974
1975         * gtk/gtkclist.c (check_exposures): check for clist !REALIZED.
1976         (draw_rows): bail out if the widget isn't drawable.
1977         (hadjustment_value_changed): 
1978         (vadjustment_value_changed): bail out if clist isn't drawable.
1979
1980         * gdk/gdk.c (graphics_expose_predicate): check for private != NULL.
1981         (gdk_event_get_graphics_expose): check for window != NULL.
1982
1983 Fri Feb 13 00:33:26 1998  Owen Taylor  <owt1@cornell.edu>
1984
1985         * gtk/testgtk.c (shape_create_icon): Realize window before
1986           creating xpm so it gets the right colormap/visual,
1987           instead of the default one.
1988
1989 Thu Feb 12 23:59:49 1998  Owen Taylor  <owt1@cornell.edu>
1990
1991         * gtk/gtksignal.[ch] gtk/gtkmain.[ch] gtk/gtkcontainer.[ch]
1992           gtk/gtkselection.[ch] gdk/gdk.[ch] gtktypeutils.h 
1993           
1994           Replaced all _interp functions with _full functions.
1995           (_interp functions left in for compatibility until 0.99.5). 
1996           Difference: _full functions take _both_ a C-language callback and a
1997           marshaller, and simply ignore the C-language callback
1998           if the marshaller is present. This allows the destroy notification
1999           to be used without marshalling.
2000
2001           gtk_selection_add_handler[_full]() regularized to agree
2002           with other callbacks.
2003         
2004           Also, added gtk_input_add_full() to the header file. 
2005           (gtk_input_add_interp() was never there)
2006
2007         * gtk/gtkmain.[ch] gtk/gtkwidget.c: Idle functions are now prioritized.
2008           Added new function gtk_idle_add_priority to create
2009           an idle with a specified priority (default is zero)
2010           constants #defined - GTK_PRIORITY_[HIGH/INTERNAL/DEFAULT/LOW]
2011           (redraws, resizes run at GTK_PRIORITY_INTERNAL)
2012         
2013         * gtk/gtkentry.c gtk/testselection.c: changes to keep up with change
2014           to gtkselection.c. 
2015
2016         * gtk/gtkentry.c gtk/gtkinputdialog.c gtk/gtklist.c
2017           gtk/gtklistitem.c gtktree.c gtk/gtktreeitem.c testgtkrc:
2018
2019           Change style->white to style->base[] where appropriate.
2020           Change the default style to make this apparent. (Yes, its
2021           ugly... it can be removed later)
2022         
2023 Tue Feb 10 15:01:44 1998  Owen Taylor  <owt1@cornell.edu>
2024
2025         * gtk/gtkobject.c gtk/gtkobject.h: Add a DestroyNotify
2026         field, and gtk_object_set_data_full() to match.
2027
2028         * gtk/gtkobject.c (gtk_object_finalize): ObjectData structures
2029         were being added to a free list, then forgotten about. Just
2030         rely on GMemChunk instead.
2031
2032 2018-02-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2033
2034         * gtk/gtkclist.c:
2035         * gtk/gtkentry.c: 
2036         * gtk/gtkfixed.c:
2037         * gtk/gtkhandlebox.c:
2038         * gtk/gtknotebook.c:
2039         * gtk/gtkpaned.c:
2040         * gtk/gtkpreview.c:
2041         * gtk/gtkrange.c:
2042         * gtk/gtkruler.c:
2043         * gtk/gtktext.c:
2044         * gtk/gtkviewport.c:
2045         Fixed unrealize handler to comply with the
2046         documentation (which mentions the right thing to do).
2047
2048 Wed Feb 11 00:18:31 1998  Tim Janik  <timj@gimp.org>
2049
2050         * docs/refcounting.txt: backed out the section "Gnits to care about".
2051         * docs/developers.txt: new file, kinda developers FAQ.
2052
2053         * gtk/gtksignal.c: new function gtk_signal_handler_pending() returning
2054           the id of the next handler pending for that signal or 0.
2055           put struct GtkHandler back into gtksignal.c along with
2056           gtk_signal_get_handlers.
2057
2058 Tue Feb 10 07:12:07 1998  Tim Janik  <timj@gimp.org>
2059
2060         * gtk/gtksignal.h:
2061         * gtk/gtksignal.c:
2062         ok, there have been several severe bugs in the signal handler
2063         referencing and ->next connection stuff. these bugs caused
2064         invokations of handlers that are disconnected and - worse -
2065         destroyed already. invokation of *destroyd* handlers mean:
2066         anything can be executed , because the handler structure can just
2067         as well be realocated.
2068         at the cost of an extra ->prev field per handler we should have a
2069         reasonable stable system now, because of the various places that
2070         can cause a handler to be disconnected (*any* handler invokation can
2071         cause *any* or *all* handlers to be disconnected, there is no way
2072         around a doubly linked list, actually handler disconnection has never
2073         worked correctly because of this.
2074         handlers are connected together via a *doubly* linked list now, and it
2075         is *not* valid to remove a handler out of this list untill all its
2076         references have been droped, i.e. handler->ref_count==0.
2077         to prevent emissions of disconnected but still referenced handlers,
2078         disconnected handlers are simply marked as blocked and get an id of 0
2079         which is an invalid signal handler id.
2080         the handler->id has been changed to have 28 significant bits (using
2081         alignment gaps), since 65536 (old range: guint16) signal connections
2082         (as a total) can easily be reached by complex applications.
2083         this whole handler thingy is at least as tedious as writing doubly
2084         linked list implementations ;)
2085
2086 Mon Feb  9 23:08:16 1998  Owen Taylor  <owt1@cornell.edu>
2087
2088         * gtk/gtkwidget.c (gtk_widget_unparent): Check for
2089           the RESIZE_NEEDED flag and remove the widget from the list.
2090           Remove the check from gtk_widget_destroy (no longer needed).
2091
2092         * Unrealize widget _before_ calling "destroy" signal, and
2093           unset VISIBLE flag.
2094
2095         * Unrealize child widgets _after_ unrealizing parent to improve
2096           visual appearance.
2097
2098 Mon Feb  9 16:42:21 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2099
2100         * gtk/gtksignal.c (gtk_signal_get_handlers): no longer a private
2101         routine;
2102         gtksignal.h: export gtk_signal_get_handlers and GtkHandlers type. 
2103
2104 Sun Feb  8 07:06:54 1998  Tim Janik  <timj@gimp.org>
2105
2106         * gtk/gtkmenu.c (gtk_menu_get_attach_widget): new function to return
2107           the widget that the menu is attached to.
2108
2109 Sat Feb  7 11:33:08 1998  Owen Taylor  <owt1@cornell.edu>
2110
2111         * gdk/gdkgc.c (gdk_gc_copy): use a mask of 0xffffffff
2112           instead of 0xffff, since there are 22 flags currently
2113           defined. (From: Jon Trowbridge <trow@emccta.com>)
2114
2115           Changed to something better. ~((~1) << GCLastBit)
2116                    (From: from Daniel Stephens <daniel@cheeseplant.org>)
2117         
2118 Sat Feb  7 02:29:01 1998  Tim Janik  <timj@gimp.org>
2119
2120         * gdk/gdk.c (gdk_event_translate): don't wipe out window_private's x
2121           and y coordinates if the configure notify is only about resizing,
2122           query the correct origin instead.
2123
2124 Wed Feb  4 23:05:28 1998  Scott Goehring  <scott@poverty.bloomington.in.us>
2125
2126         * gtk/gtkmenufactory.c: menufactories now ref&sink the menus they
2127         create
2128
2129 Thu Feb  5 02:13:08 1998  Tim Janik  <timj@gimp.org>
2130
2131         * gtk/gtklist.h:
2132         * gtk/gtklist.c (gtk_list_remove_items_no_unref): new function
2133           to perform the same actions as gtk_list_remove_items, but
2134           supply the removed widgets with an additional reference count.
2135
2136         * gtk/gtkmain.c (gtk_main_iteration_do): ignore events
2137           with event_widget == NULL, since they are bogus events
2138           from destroyed GdkWindows, exept for the case where
2139           event->type==GDK_PROPERTY_NOTIFY. Always handle expired
2140           timeout functions when returning from this function.
2141
2142         * gtk/gtkwidget.c (gtk_widget_event): ignore GDK_EXPOSE events
2143           if event->window == NULL. Also, if this function couldn't handle
2144           the event for any reason (including failing assumptions), make
2145           the return value to look as if the event had been handled to
2146           avoid further processing (and warnings).
2147           
2148         * gtk/gtkwidget.h:
2149         * gtk/gtkwidget.c: remove gtk_widget_sink, because there is
2150           no point in providing such a function.
2151
2152         * gdk/gdk.c (gdk_init): changed options `-name' and `-class'
2153           to `--name' and `--class', because the old names would
2154           confuse getopt(). these arguments have been introduced in the
2155           changes from gtk+970916 to gtk+970925 without a ChangeLog entry,
2156           changing argument names is painful, it would be nice if people
2157           would care about compatibility and consistency in the first place!
2158
2159 Tue Feb  3 15:09:55 1998  Tim Janik  <timj@gimp.org>
2160         
2161         * docs/widget_system.txt: new file containing notes about
2162           the inner workings of the widget system of GTK+, a widget
2163           flag description and certain invariants about widget states.
2164         
2165         * docs/refcounting.txt: moved file (previously REFCOUNTING)
2166           introducing The Reference Counting Scheme of GDK an GTK+.
2167           lots of additions/corrections.
2168
2169         * gtk/gtksignal.c (gtk_signal_real_emit): for the emission
2170           of AFTER signals, fetch the objects signals via
2171           gtk_signal_get_handlers again. some handlers might have
2172           been removed or added. not doing this would mess up the
2173           memchunk allocation of signal handlers (this had been
2174           triggered by multiple *_while_alive connections), bad, bad, bad!
2175           (gtk_handlers_run): do the referencing on signal handlers
2176           unconditionally, the invokation of AFTER handlers will now take
2177           care of modified lists.
2178
2179         * gtk/gtksignal.h: added gtk_signal_connect_while_alive.
2180
2181 Tue Feb  3 15:34:27 1998  Owen Taylor  <owt1@cornell.edu>
2182
2183         * gdk/gdkcolor.c (gdk_colormap_get_system): Only query
2184           the colormap for GRAYSCALE and PSEUDOCOLOR visuals,
2185           and don't ask for more than 256 colors in any case.
2186
2187         * gdk/gdkwindow.c (gdk_window_internal_destroy): Remove
2188           the input window information when we destroy the window,
2189           not when we are notified of it.
2190
2191         * gdk/gdkinputcommon.h (gdk_input_device_new): Work around
2192           bug in XFree86 3.3.1's handling of Wacom macro buttons.
2193           by assumming no device will report exactly 25 buttons.
2194
2195         * gdk/gdkinputcommon.h (gdk_input_common_other_event): Fill
2196           in string translation for generated key press events,
2197           do sanity checking on received key codes.
2198
2199         * gdk/gdkcc.c (gdk_color_context_new): Allocate enough
2200           room for a GdkColorContextPrivate, not just for a 
2201           GdkColorContext.
2202
2203 Tue Feb  3 15:09:55 1998  Tim Janik  <timj@gimp.org>
2204
2205         * gtk/testgtk.c: don't add the same menu to different menuitems/
2206           optionmenus.
2207
2208         * gtk/gtkmenuitem.h:
2209         * gtk/gtkmenuitem.c: new function gtk_menu_item_remove_submenu ro
2210           be consistent with optionmenu. use gtk_menu_attach_to_widget/
2211           gtk_menu_detach for setting/removing the submenu.
2212           invoke gtk_widget_destroy(submenu) in destructor to be consistent
2213           with other destructors.
2214
2215         * gtk/gtkoptionmenu.h: 
2216         * gtk/gtkoptionmenu.c: attach/detach to menu widget via
2217           gtk_menu_attach_to_widget/gtk_menu_detach.
2218           invoke gtk_widget_destroy(menu) in destructor to be consistent
2219           with other destructors.
2220
2221         * gtk/gtkmenu.h: 
2222         * gtk/gtkmenu.c: new functions gtk_menu_attach_to_widget
2223           and gtk_menu_detach that correspond to the action of
2224           gtk_widget_set_parent and gtk_widget_unparent.
2225
2226         * gtk/widget.c: few fixups.
2227
2228 Tue Feb  3 00:12:00 1998  Owen Taylor  <owt1@cornell.edu>
2229         * gtk/gtktable.c 
2230           Fixed problem with division by zero in row/column-spanned
2231           tables. Also removed a bunch of conditionals by making
2232           the observation that x/1 == x.
2233
2234 Mon Feb  2 04:15:08 1998  Tim Janik  <timj@gimp.org>
2235
2236         * gtk/gtkwindow.c:
2237         * gtk/gtkwidget.c:
2238         * gtk/gtkmain.c:
2239         * gtk/gtkwidget.c:
2240         * gtk/gtkcontainer.c:
2241         * gtk/gtkprivate.h (GTK_PRIVATE_UNSET_FLAG) (GTK_PRIVATE_UNSET_FLAGS): 
2242           changed name to reflect that these macros in fact can't operate on
2243           multiple flags.
2244
2245         * gtk/gtktoolbar.c: fixed destroy handler, so it doesn't
2246           segfault with the new refcounting scheme anymore.
2247
2248         * gtk/gtkhandlebox.c:
2249         * gtk/gtkclist.c:
2250         * gtk/gtkentry.c:
2251         * gtk/gtkrange.c:
2252         * gtk/gtktext.c:
2253         * gtk/gtkviewport.c:
2254           enforced
2255           gdk_window_set_user_data (window, NULL);
2256           gdk_window_destroy (window);
2257           window = NULL;
2258           throughout the code.
2259
2260         * gtk/gtkmain.c (gtk_propagate_event): fixed a bad, bad referencing
2261           bug that could caused unreferencing of finalized objects.
2262
2263         * gtk/testgtk.c: destroy fileselection on "OK" (this triggered the
2264           above mentioned bug).
2265
2266         * gtk/gtkwidget.h:
2267         * gtk/gtkwidget.c:
2268         * gtk/gtkobject.h:
2269         * gtk/gtkobject.c:
2270           implemented and object reference tracer (gtk_trace_referencing) which
2271           is activated if GTK_TRACE_OBJECTS is defined (currently per default).
2272           in gdb: set the static variable `gtk_trace_object' to point to the
2273           object that you want to have reference traced.
2274
2275         * gtk/gtkfileselection.c: few cleanups.
2276
2277         * gtk/gtkcolorsel.c:
2278         * gtk/gtkcombo.c:
2279         * gtk/gtkobject.c:
2280         * gtk/gtkselection.c:
2281         * gtk/gtkwidget.c:
2282         * gtk/gtkwindow.c:
2283           cleanups with key name spaces.
2284
2285         * gtk/gtkcombo.c: fixed destruction bug with popwin.
2286
2287         * gtk/gtkcontainer.h: 
2288         * gtk/gtkcontainer.c: GTK_RESIZE_NEEDED is a private flag now.
2289           (gtk_container_register_toplevel): new function.
2290           (gtk_container_unregister_toplevel): new function.
2291
2292         * gtk/gtkmain.c: GTK_LEAVE_PENDING is a private flag now.
2293
2294         * gtk/gtkmenu.c: call gtk_container_register_toplevel in
2295           gtk_menu_class_init instead of this dirty gtk_widget_set_parent(,NULL)
2296           hack. new default handler gtk_menu_destroy for calling
2297           gtk_container_unregister_toplevel. removed GTK_ANCHORED, GTK_UNMAPPED.
2298
2299         * gtk/gtkobject.h: macro cleanups, added GTK_DESTROYED flag.
2300
2301         * gtk/gtkobject.c: only emit DESTROY signal if !GTK_OBJECT_DESTROYED
2302           (object).
2303
2304         * gtk/gtkprivate.h: new file that will not be automatically included.
2305           it holds the private flags for GtkWidget along with it's SET/UNSET
2306           and examination macros.
2307
2308         * gtk/gtkwidget.c: private flags: GTK_RESIZE_NEEDED, GTK_REDRAW_PENDING,
2309           GTK_RESIZE_PENDING, GTK_IN_REPARENT, GTK_USER_STYLE. GTK_ANCHORED is
2310           replaced by GTK_TOPLEVEL. added missing UNSET for GTK_IN_REPARENT.
2311           removed the gtk_widget_set_parent(, NULL) hack for toplevels.
2312           upon destroy free memory for widgets with GTK_WIDGET_HAS_SHAPE_MASK.
2313
2314         * gtk/gtkwidget.h: split up the widget flags into a public and a private
2315           portion. added an extra field private_flags to GtkWidget without making
2316           it bigger by using an alignment gap of 16 bit. macro cleanups.
2317
2318         * gtk/gtkwindow.c: removed GTK_ANCHORED. new function gtk_window_destroy
2319           for calling gtk_container_unregister_toplevel. removed the
2320           gtk_widget_set_parent(,NULL), call gtk_container_register_toplevel
2321           instead. remove GTK_UNMAPPED. GTK_RESIZE_NEEDED is private now.
2322
2323         * gtk/gtksignal.c (gtk_signal_disconnect): removed a bug on
2324           removal that cut off the handler list -> living_objects == 0
2325           with testgtk. made some warnings more descriptive.
2326           new function gtk_signal_connect_object_while_alive, which
2327           will automatically destroy the connection once one of the objects
2328           is destroyed. didn't include this before removal of the above
2329           mentioned bug.
2330
2331 Sat Jan 31 21:26:27 1998  Owen Taylor  <owt1@cornell.edu>
2332
2333         * gtk/gtkwidget.c: Added a new GTK_IN_REPARENT flag and revised
2334           gtk_widget_reparent so that the child would not be unrealized
2335           unnecessarily. Changed gtk_widget_unrealize () to recursively
2336           unrealize the children (since the child windows will be 
2337           destroyed too.)
2338
2339 Sat Jan 31 00:05:34 PST 1998 Manish Singh <yosh@gimp.org>
2340
2341         * gtk/gtkcombo.c: changed to use g_strcasecmp
2342         * gtk/gtkobject.c: #include <stdlib.h> for atexit
2343
2344 Sat Jan 31 00:13:33 1998  Owen Taylor  <owt1@cornell.edu>
2345
2346         * gtk/gtkstyle.c: Backed out change to close polygons
2347           since it caused problems for the Notebook.
2348
2349 Fri Jan 30 22:28:09 1998  Owen Taylor  <owt1@cornell.edu>
2350
2351         * gtk/gtkclist.{c,h}:
2352            - Conformity to new reference counting schemes
2353            - Font and color information is no-longer taken from
2354              the (possibly unitialized) style before the widget
2355              is realized, but is obtained when needed. (Fixes
2356              problems with non-default styles)
2357            - white_gc => base_gc where appropriate
2358            - Handle graphics expose events correctly (or as
2359              correctly as anywhere else) so that scrolling when
2360              overlapped works.
2361
2362 Fri Jan 30 21:32:11 1998  Owen Taylor  <owt1@cornell.edu>
2363
2364         * gtk/gtkwidget.c (gtk_widget_init): Don't replace the object
2365         flags, augment them. (Otherwise we'll clear the FLOATING flag)
2366
2367 Fri Jan 30 23:55:03 1998  Tim Janik  <timj@gimp.org>
2368
2369         * Incorporation of Marius Vollmer's reference counting revolution,
2370           plus various fixups and additions from myself.
2371
2372         * gdk/gdk.h:
2373         * gdk/gdkgc.c: new functions gdk_gc_ref/gdk_gc_unref.
2374
2375         * gdk/gdkprivate.h: cleanups on ref_count field sizes.
2376
2377         * gtk/gtkadjustment.c (gtk_adjustment_set_value): new function for
2378           emission of GtkAdjustment::value_changed signal.
2379
2380         * gtk/gtkbin.c:
2381         * gtk/gtkcolorsel.c:
2382         * gtk/gtkcurve.c:
2383         * gtk/gtkentry.c:
2384         * gtk/gtkframe.c:
2385         * gtk/gtkinputdialog.c:
2386         * gtk/gtklabel.c:
2387         * gtk/gtkpixmap.c:
2388         * gtk/gtkpreview.c:
2389         * gtk/gtkrange.c:
2390         * gtk/gtktable.c:
2391         * gtk/gtkwindow.c:
2392           replaced functionality of gtk_*_destroy by gtk_*_finalize.
2393
2394         * gtk/gtkbox.c:
2395         * gtk/gtkbutton.c:
2396         * gtk/gtkfixed.c:
2397         * gtk/gtkmenushell.c:
2398         * gtk/gtknotebook.c:
2399         * gtk/gtkpaned.c:
2400         * gtk/gtkscale.c:
2401           removed default destroy handler.
2402
2403         * in general: reference parent->window for NO_WINDOW widgets.
2404           set user data of a GdkWindow to NULL before destruction.
2405         
2406         * gtk/gtkbutton.c: use gtk_widget_unparent instead of gtk_widget_destroy
2407           in *_set_arg.
2408
2409         * gtk/gtkcontainer.c: provide other containers with a default destroy
2410           handler that will destroy all children.
2411           new function gtk_container_foreach_interp.
2412           new field resize_widgets.
2413
2414         * gtk/gtklist.c: handle destruction of children in gtk_list_destroy.
2415           replaced occourances of gtk_widget_destroy with gtk_widget_unparent.
2416           reference children that are in the selection list.
2417
2418         * gtk/gtkmain.c: reference grab widgets.
2419           (gtk_get_event_widget): check for event.window != NULL. Note: this
2420           function may return NULL now!.
2421           (gtk_propagate_event): much simplified by using proper reference
2422           counting.
2423
2424         * gtk/gtkmenu.c: introduce GTK_TOPLEVEL, and gtk_widget_set_parent(,
2425           NULL) hack.
2426
2427         * gtk/gtkmenuitem.c: gtk_widget_(un)ref the submenu.
2428
2429         * gtk/gtkmenushell.c: check for return value of gtk_get_event_widget.
2430
2431         * gtk/gtknotebook.c: proper gtk_widget_unparent()ing.
2432
2433         * gtk/gtkobject.c: new functions gtk_object_finalize,
2434           gtk_object_notify_weaks, gtk_object_debug, gtk_object_sink,
2435           gtk_object_weakref, gtk_object_weakunref. implementation of the new
2436           reference counting scheme for gtkobjects (consult gtk+/REFCOUNTING).
2437
2438         * gtk/gtkoptionmenu.c: proper reference counting for option_menu->menu.
2439
2440         * gtk/gtkscrolledwindow.c: new finalize handler for proper referencing
2441           of the subwidgets.
2442
2443         * gtk/gtksignal.c: internal representation of signal_type is now 16 bit
2444           instead of 13 bits. this is needed because of user signals.
2445           new functions gtk_signal_handler_ref and gtk_signal_handler_unref
2446           (replacement for gtk_signal_handler_destroy).
2447           gtk_signal_emit, gtk_signal_emit_by_name, gtk_signal_real_emit used
2448           to return the existence of a GtkObject. this will always be TRUE now,
2449           therefore the return value is now void.
2450
2451         * gtk/gtktooltips.h:
2452         * gtk/gtktooltips.c: GtkTooltips is now a descendant of GtkData and
2453           therefore a real GtkObject.
2454
2455         * gtk/gtktree.c: reference changes similar to thos in gtklist.c.
2456
2457         * gtk/gtktreeitem.c: reference th e pixmaps properly.
2458
2459         * gtk/gtktypeutils.h:
2460         * gtk/gtktypeutils.c: new function gtk_arg_copy() to conform to
2461           the requirements of gtk_object_get().
2462
2463         * gtk/gtkviewport.c: finalize handler for proper referencing of the
2464           adjustments.
2465
2466         * gtk/gtkwidget.c: substituted VISIBILITY_NOTIFY_EVENT by NO_EXPOSE_EVENT.
2467           added finalize handler. added gtk_widget_ref/gtk_widget_unref.
2468           new functions gtk_widget_idle_draw and gtk_widget_idle_sizer, that
2469           will handle all widgets that are currently in either queue.
2470           referencing all over the place. changes because gtk_signal_emit
2471           returns void now. moved queue removal into the destroy handler.
2472           gtk_widget_real_unrealize propagates now down the tree. new flag
2473           GTK_TOPLEVEL. new function gtk_widget_destroyed for connection to the
2474           destroy signal of a widget. this function nullifies the widgets
2475           structure pointer, look at gtkmain.c for an example on this.
2476
2477         * gtk/gtkwindow.c: new functions gtk_window_activate_focus,
2478           gtk_window_activate_default. for activation of the appropriate
2479           children. changes to the resizing code because there is a new
2480           field resize_widgets in GtkContainer now.
2481
2482         * gtk/testgtk.c: some changes because of all the above ;)
2483
2484 Fri Jan 30 17:41:06 1998  George Lebl  <jirka@5z.com>
2485
2486         * gtk/gtktable.c: fixed round-off error in calculation
2487           of tabels with a lot of cells
2488
2489 Fri Jan 30 08:51:16 1998  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
2490
2491         * gdk/gdkcc.c (gdk_color_context_get_pixel): red/green/blue
2492         parameters are now expected to be in [0, 65535], to be consistent
2493         with the rest of Gdk.
2494         (gdk_color_context_get_pixels): Made it use 16-bit color values as
2495         well.  Fixed mdist=1000000 buglet (it should start with at least
2496         0x1000000).
2497         (gdk_color_context_get_pixels_incremental): Same as
2498         gdk_color_context_get_pixels().
2499
2500 Thu Jan 29 22:57:39 1998  Owen Taylor  <owt1@cornell.edu>
2501
2502         * gtk/gtkstyle.c (gtk_default_draw_polygon): Close
2503           the polygon if it isn't already. (To match gtk_draw_polygon)
2504           Simplified logic. (Appearance could probably be
2505           improved for objects with gradual curves by adding in
2506           some intermediate edge coloration)
2507
2508 Thu Jan 29 21:36:14 1998  Tim Janik  <timj@gimp.org>
2509
2510         * gtk/gtksignal.c (gtk_signal_query): new function to gather
2511           information about a certain signal.
2512
2513         * gtk/gtksignal.c (gtk_signal_newv): new function similar to
2514           gtk_signal_new().
2515
2516         * gtk/gtksignal.c (gtk_signal_real_emit): check for function_offset
2517           == 0.
2518
2519         * gtk/gtksignal.c (gtk_signal_connect_by_type): perform a signal
2520           id lookup on the parent as well.
2521
2522         * gtk/gtkobject.c (gtk_object_class_add_user_signal): new
2523           function for implementation of user defined signals.
2524         * gtk/gtkobject.c (gtk_object_class_add_signals): free old
2525           signal id array.
2526
2527         * gtk/gtkobject.h: this holds the typedefs for GtkSignalFunc and
2528           GtkSignalMarshaller now, because they are used for
2529           gtk_object_class_add_user_signal.
2530
2531         * gtk/gtktypeutils.c (gtk_type_class_init): reset object_class->signals
2532           and object_class->nsignals for new object classes.
2533
2534 Tue Jan 27 15:52:48 1998  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
2535
2536         * gtk/gtkhandlebox.c (gtk_handle_box_realize): The auto_shrink
2537         policy of the floating window is now set to TRUE.  This fixes the
2538         problem of the floating window being too big when the handlebox
2539         child is small.
2540         (gtk_handle_box_motion): Now we use GDK_POINTER_MOTION_HINT_MASK
2541         to improve movement.
2542
2543 Tue Jan 27 14:15:50 CST 1998 Shawn T. Amundson <amundson@gimp.org>
2544
2545         * docs/gtkfaq.sgml: more additions/changes Tony Gale.
2546
2547 Mon Jan 26 17:12:12 CST 1998 Shawn T. Amundson <amundson@gimp.org>
2548
2549         * docs/gtkfaq.sgml: additions/changes from new FAQ maintainers
2550           Nathan Froyd and Tony Gale.
2551
2552 Mon Jan 26 16:54:02 CST 1998 Shawn T. Amundson <amundson@gimp.org>
2553
2554         * docs/gtk.texi: additions/changes from Gregory A. McLean
2555
2556 Mon Jan 26 02:15:29 1998  Tim Janik  <timj@gimp.org>
2557
2558         * gdk/gdkdraw.c:
2559         * gdk/gdkgc.c:
2560         * gdk/gdkimage.c:
2561         * gdk/gdkinput.c:
2562         * gdk/gdkpixmap.c:
2563         * gdk/gdkproperty.c:
2564         * gdk/gdkselection.c:
2565         * gdk/gdkwindow.c: added a bunch of checks for window != NULL and
2566           private->destroyed.
2567
2568 Sun Jan 25 19:15:32 1998  Tim Janik  <timj@gimp.org>
2569
2570         * gtk/gtkwidget.h (enum): added new widget flag GTK_LEAVE_PENDING.
2571         * gtk/gtkmain.c (gtk_main_iteration_do): if a widget has
2572           GTK_LEAVE_PENDING set, send it its LEAVE_NOTIFY event, regardless
2573           of a grab or sensitivity.
2574           changed the compression code for enter/leave notify events to
2575           free *both* compressed event, and removed an unneccessary call
2576           to g_list_remove.
2577
2578         * ChangeLog: finally catched up with the recent changes on my part.
2579
2580         * gtk/gtkobject.h: new element n_args in GtkObjectClass.
2581         * gtk/gtkobject.c (gtk_object_query_args): this function now returns
2582           the arguments in the correct order.
2583
2584         * gtk/gtkbox.c:
2585         * gtk/gtkbutton.c:
2586         * gtk/gtkcontainer.c:
2587         * gtk/gtkframe.c:
2588         * gtk/gtklabel.c:
2589         * gtk/gtkobject.c:
2590         * gtk/gtkwidget.c:
2591         * gtk/gtkwindow.c: various fixes and additions to the gtk_*_set_arg
2592           and gtk_*_get_arg() functions.
2593
2594         * gdk/gdk.h:
2595         * gdk/gdk.c (gdk_pointer_is_grabbed): new function.
2596
2597         * gtk/gtkmain.h:
2598         * gtk/gtkmain.c: implementations of gtk_invoke_key_snoopers(),
2599           gtk_key_snooper_install() and gtk_key_snooper_remove(). this
2600           mechanism allowes applications to track global hot keys that need
2601           to bypass accelerator tables and else key processing stuff.
2602
2603 Thu Jan 22 18:58:44 1998  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
2604
2605         * gdk/gdkcc.c: Switched the file to GNU indentation, for consistency.
2606
2607         * gdk/gdktypes.h (struct _GdkColorContext): Picky, picky... fix
2608         two lines with wrong indentation :-)
2609
2610 Thu Jan 22 02:32:06 1998  Scott Goehring  <scott@poverty.bloomington.in.us>
2611
2612         * gtk/Makefile.am: Fixed the call to runelisp to use $(SHELL).
2613           (Cannot rely on the script having execute permissions.)
2614
2615 Wed Jan 21 17:29:54 CST 1998 Shawn T. Amundson <amundson@gimp.org>
2616
2617         * Released 0.99.3
2618
2619 Wed Jan 21 01:32:21 1998  Tim Janik  <timj@psynet.net>
2620
2621         * gtk/gtkwidget.h:
2622         * gtk/gtkwidget.c: changed the state_changed signal to take an
2623           extra argument `old_state'.
2624           removed `gtk_widget_restore_state'.
2625           changed `gtk_widget_set_state' and `gtk_widget_set_sensitive' to use
2626           only one function `gtk_widget_propagate_state' to iterate down the
2627           tree. this causes GtkWidget::state_changed to be invoked on state
2628           changes and on sensitivity changes. some comment cleanups.
2629
2630 Tue Jan 20 16:38:52 1998  Owen Taylor  <owt1@cornell.edu>
2631         * gtk/gtkcombobox.{c,h}: removed
2632           gtk/gtkcombo.{c,h}: added [Paolo Molaro's version]
2633           gtk/testgtk.c: changed to use new version
2634           gtk/Makefile.am gtk/gtk.h
2635         
2636 Mon Jan 19 20:10:19 CST 1998 Shawn T. Amundson <amundson@gimp.org>
2637
2638         * gdk/gdk.h Fixed typo where strdup was used instead of g_strdup
2639           (found by Frank Neumann)
2640
2641 Mon Jan 19 16:21:00 1998  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
2642
2643         * gtk/gtktoolbar.c (gtk_toolbar_class_init): Set
2644         container_class->focus to NULL.  Widgets in the toolbar should not
2645         get the focus via the normal key bindings (no toolkit does this,
2646         and it makes sense).
2647
2648         * gtk/testgtk.c (create_toolbar): Removed the GTK_PIXMAP casts to
2649         match Eckehard's new prototypes.
2650
2651         * gtk/gtktoolbar.h: Switched the order of the tooltip_text and
2652         widget parameters to the gtk_toolbar_*_widget() functions, to be
2653         friendlier to the C++ bindings.  This is per request of Guillaume
2654         Laurent.
2655
2656 Mon Jan 19 09:16:38 1998  Tim Janik  <timj@psynet.net>
2657
2658         * gtk/gtkmain.c (gtk_grab_add) (gtk_grab_remove): this is a stack
2659           of grabbing widgets now, having unique entries. the GTK_HAS_GRAB
2660           flag of a widget is set while it is on the stack (wasn't
2661           implemented before).
2662
2663 Mon Jan 19 00:46:18 1998 MET  Eckehard Berns  <eb@berns.prima.de>
2664
2665         * gtk/gtktoolbar.[ch]: changed
2666           gtk_toolbar_{append,prepend,inser]_item to accept any GtkWidget
2667           as icon to allow more flexibility
2668
2669 Sun Jan 18 16:54:55 CST 1998 Shawn T. Amundson <amundson@gimp.org>
2670         * gtk/gtkstatusbar.[ch] added new widget, the statusbar
2671
2672 Sun Jan 18 09:57:00 1998  Owen Taylor  <owt1@cornell.edu>
2673
2674         * gtk/gtkbutton.c gtk/gtkclist.c gtk/gtkdrawingarea.c
2675           gtk/gtkentry.c gtk/gtkeventbox.c gtk/gtkfixed.c
2676           gtk/gtkhandlebox.c gtk/gtkhscale.c gtk/gtkhscrollbar.c
2677           gtk/gtkitem.c gtk/gtklist.c gtk/gtkmenushell.c gtk/gtkmisc.c
2678           gtk/gtknotebook.c gtk/gtkpaned.c gtk/gtkpreview.c
2679           gtk/gtkprogressbar.c gtk/gtkruler.c gtk/gtktext.c gtk/gtktree.c
2680           gtk/gtkviewport.c gtk/gtkvscale.c gtk/gtkvscrollbar.c
2681           gtk/gtkwidget.{c,h}
2682
2683         Added gtk_widget_set_parent_window() and 
2684         gtk_widget_get_parent_window(). All widgets should use:
2685         
2686            gtk_widget_get_parent_window() instead of widget->parent->window.
2687         
2688         Any widget that wants to have children not in the parent window,
2689         should use gtk_widget_set_parent() in their realize() and
2690         add() routines. 
2691
2692         CList and Viewport widgets changed to do this. (Viewport
2693         widget using code from gtk-fortier-980117-0.patch.)
2694
2695 Sat Jan 17 23:56:02 1998  Owen Taylor  <owt1@cornell.edu>
2696
2697         * gtk/gtkobject.c:
2698            renamed g_string_equal => g_str_equal
2699            renamed g_string_hash => g_str_hash
2700
2701 Sun Jan 18 03:57:52 1998  Tim Janik  <timj@psynet.net>
2702
2703         * gtk/gtkframe.c: gtk_*_get_arg() and gtk_*_set_arg() implementations.
2704         * gtk/gtkobject.c: new arg `GtkObject::object_signal' similar to
2705           `GtkObject::signal'. check for class type in gtk_object_{setv|getv}.
2706
2707         * gtk/gtkobject.c:
2708         * gtk/gtksignal.c:
2709         * gtk/gtktypeutils.h:
2710         * gtk/gtktypeutils.c: added GTK_TYPE_DOUBLE.
2711
2712         * gtk/gtkwidget.c: new args `has_focus' and `has_default'.
2713         * gtk/gtkwindow.c: new arg `window_position'.
2714
2715         * gtk/gtkbox.h:
2716         * gtk/gtkbox.c: new functions gtk_box_reorder_child,
2717         gtk_box_query_child_packing and gtk_box_set_child_packing to
2718         allow modification of the child linkage after the widget tree
2719         is setup.
2720
2721         * gtk/gtkbox.c:
2722         * gtk/gtklabel.c:
2723         * gtk/gtkwindow.c:
2724         * gtk/gtkwidget.c:
2725         * gtk/gtkobject.c: gtk_*_get_arg() and gtk_*_set_arg() fixes
2726           and implementations.
2727         
2728 Sat Jan 17 18:06:35 1998  Owen Taylor  <owt1@cornell.edu>
2729         * gdk/gdk.c (gdk_events_pending): Take putback events into
2730           account
2731
2732         * gdk/gdk.c (gdk_event_free): Handle dropdataavaible memory
2733           allocation correctly. (Incompatible change: client must
2734           _not_ fre event->data and event->data_type.)
2735
2736         * gdk/gdk.c (gdk_event_translate): Changed DND dragging
2737           so that we don't ungrab pointer when we reenter window
2738           to prevent extra Enter/Leave effects which had bad
2739           effects.
2740           Changed drag zone handling to not send uncessary
2741           DragEnter events.
2742           Fixed EnterNotify/LeaveNotify handling. (Only pay
2743           attention to events on window, don't specify these
2744           events to XGrabPointer - that isn't valid, and handle
2745           reverse the sense of the handling of LeaveNotify.)
2746
2747         * gdk/gdkwindow.c (gdk_window_remove_filter): Free removed
2748           filter.
2749
2750         * gtk/gtk.defs (GdkFont): gdk_font_free => gdk_font_unref
2751
2752         * gtk/gtkmain.{c,h} (gtk_events_pending): new function - apps
2753           should use this instead of gdk_events_pending.
2754
2755         * gtk/gtkvbbox.h: Fixed a duplication in the headers.
2756
2757         * gtk/testgtk.c (dnd_drop): Don't free the drop data,
2758           it belongs to the event.
2759
2760 Sat Jan 17 13:26:15 CST 1998 Shawn T. Amundson <amundson@gimp.org>
2761
2762         * gtk/gtkentry.[ch]:  Applied patch from <lupus@lettere.unipd.it> 
2763           which adds gtk_entry_set_max_length function.  This was 
2764           part of gtk-lupus-970112-0.
2765
2766         * gtk/testgtk.c: Applied gtk-wille-980113-0 which fixes 
2767           a problem with a shaped widget keeping grab forever
2768           when double clicked.
2769      
2770         * docs/gtk.texi: patch from Gregory McLean <gregm@randomc.com>
2771           to add some on aspect_frame, button_box, and color_selection
2772           widgets
2773
2774 Sat Jan 17 06:24:05 1998  Tim Janik  <timj@psynet.net>
2775
2776         * gtk/gtktypeutils.h (gtk_type_get_arg): new function.
2777         * gtk/gtkobject.h (gtk_object_query_args): new function.
2778         * gtk/gtkobject.h (gtk_object_getv): new function.
2779         * gtk/gtkwidget.h (gtk_widget_get): new function.
2780
2781 Fri Jan 16 00:36:31 1998  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
2782
2783         * gtk/gtkhandlebox.c: Now we use a GtkWindow of type
2784         GTK_WINDOW_DIALOG as a destination for reparenting the child of
2785         the handle box.  This solves the problem of having X calls in
2786         Gtk.  It also makes the handle box work with KWM, OLVWM, 4Dwm (so
2787         I expect mwm to work as well).  I hadn't noticed that previously
2788         it only worked with fvwm and twm.
2789
2790         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
2791         real_parent field, as it is never used.
2792         (struct _GtkHandleBox): Added a float_window field.  This is a
2793         GtkWindow to where the child is now reparented.
2794
2795         * gtk/gtkhandlebox.c: Lots of changes all over the place.  Now the
2796         widget has two windows.  The steady_window stays put in the parent
2797         container, and the widget->window is the one that gets
2798         reparented.  Now that window is transient, in compliance with the
2799         ICCCM, instead of an OverrideRedirect window.
2800
2801         We have two windows so that we can properly receive Expose events
2802         for the thin 3D line that marks the place where the handlebox is
2803         docked.
2804
2805         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Added fields for
2806         dragging (mouse position information).  Added fleur_cursor so that
2807         we look pretty.  Added steady_window field; it is the window that
2808         actually stays on the parent (widget->window is the one that gets
2809         reparented).
2810
2811 Thu Jan 15 19:03:19 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2812
2813         * gtk/gtkclist.c (gtk_clist_set_column_width): Call
2814         gtk_clist_size_allocate_columns every time the column
2815         configuration changes. 
2816
2817 Fri Jan 16 01:55:17 1998  Tim Janik  <timj@psynet.net>
2818
2819         * improved the gtk_widget_set handling. removed GtkArgFunc and added
2820           GtkArgSetFunc and GtkArgGetFunc in _GtkTypeInfo.
2821           performance consuming strcmp() calls are avoided in gtk_*_set_arg()
2822           now, it is passed an arg_id on which it can switch() now.
2823
2824         * gtk/gtkobject.h:
2825         * gtk/gtkobject.c (gtk_object_add_arg_type): added parameter arg_id.
2826
2827         * gtk/gtktypeutils.h:
2828         * gtk/gtktypeutils.c (gtk_type_set_arg): added parameter arg_id.
2829
2830         * gtk/gtkobject.c: bug fixes and changes in the assertion system for
2831           arg handling. changed g_print() warning calls to real g_warning()s.
2832           
2833         * changed all *_get_type() functions to initialize GtkTypeInfo
2834           correctly with GtkArgSetFunc and GtkArgGetFunc fields.
2835
2836 Thu Jan 15 00:44:27 PST 1998 Jay Painter <jpaint@serv.net>
2837         * gtk/gtkentry.[ch]: Change window cursor to "I"
2838         * gtk/gtkpane.[ch]: Cleared up a tiny memory leak from not destroying the
2839         cursor
2840
2841 Tue Jan 13 07:30:02 PST 1998 Jay Painter <jpaint@serv.net>
2842         * gtk/gtkclist.c: minor updates
2843         * gtk/gtktext.c: you can type in it!  It should also seg-fault *MUCH* less now,
2844         because editing was never really turned off.  
2845         * gtk/testgtk.c: changed the gtktext test a little
2846         * gtk/testgtkrc: removed pixmap background for now, since I intend to break
2847         that for a while
2848
2849 1998-01-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2850
2851         * gtk/gtktoolbar.c: (gtk_real_toolbar_style_changed): Fixed
2852         child->icon and child->label == NULL bugs.
2853
2854         * gtk/gtktoolbar.h: Added some new functions:
2855                 gtk_toolbar_append_widget()
2856                 gtk_toolbar_prepend_widget()
2857                 gtk_toolbar_insert_widget()
2858         These let the user insert any kind of widget in the toolbar.  Also
2859         changed the gtk_toolbar_*_item() functions to return a
2860         GtkWidget * so that the user can do things with the toolbar buttons.
2861
2862         * gtk/gtktoolbar.c: Now the toolbar supports its own buttons and
2863         arbitrary widgets as well.  Geometry management has been changed
2864         accordingly.  Added gtk_toolbar_remove() function, so container
2865         functionality should be complete now.
2866
2867         * gtk/testgtk.c (create_toolbar): Added an entry widget to test
2868         the new toolbar.
2869
2870         * Most of these changes are adapted from the
2871         gtk-lupus-970112-0-patch (should be 970112... :-)
2872
2873 Sat Jan  9 20:52:00 PST 1998 Ian Main <imain@gimp.org>
2874         * gtk/gtkfilesel.c:  Changed a few tests in the path correcting
2875                 function.  Hopefully this helps the filesel stability.
2876
2877 Fri Jan  8 00:55:00 PST 1998 Jay Painter <jpaint@serv.net>
2878         * gtk/gtkclist.c:
2879         * gtk/gtkclist.h: modifications to GtkCList so it's look and 
2880         feel is the same as scrolled windows.
2881
2882 Thu Jan  8 17:56:09 PST 1998 Manish Singh <yosh@gimp.org>
2883
2884         * glib/gscanner.c
2885         * gtk/gtclist.c
2886         * config.h.in
2887         * configure.in: added test for inline and put the inline keywords
2888         back in
2889
2890         * gtk/gtklabel.c: made the prototypes match the definitions
2891
2892         * gtk/fnmatch.c: minor change to make sure the right config.h
2893         gets included
2894         
2895 1998-01-07  Elliot Lee  <sopwith@localhost.cs.cuc.edu>
2896
2897         * gtk/gtkcombobox.c gtk/gtkcombobox.h: New widget, GtkComboBox
2898         * gdk/gdkwindow.c: Make gdk_window_init set the width &
2899                 height of gdk_root_parent
2900
2901 Wed Jan  7 18:06:17 PST 1998 Manish Singh <yosh@gimp.org>
2902
2903         * gtk/gtkentry.c:
2904         * gtk/gtkentry.h: applied patch to use a backing pixmap for
2905         drawing, which removes the bad flickering. (gtk-wille-980106-0)
2906
2907 Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
2908
2909         * glib/glib.h
2910         * glib/glist.c
2911         * glib/gslist.c
2912         * glib/testglib.c: Added g_[s]list_insert_sorted function
2913         and appropriate tests in testglib
2914
2915 Tue Jan  6 17:09:46 1998  Owen Taylor  <owt1@cornell.edu>
2916         * gtk/gtknotebook.h gtk/gtknotebook.c
2917            Added "switch_page" signal. (gtk-hamann_jeske-971212-0.patch)
2918
2919 Tue Jan  6 17:07:29 1998  Owen Taylor  <owt1@cornell.edu>
2920         * gtk/gtkentry.c gtk/gtkentry.h gtk/testgtk.c : 
2921            Fixed problem with deleting while text is selected.
2922            Changed behavior so that motion keys remove selection.
2923            Added new gtk_entry_select_region () call.
2924
2925 Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
2926         * glib/glib.h: Changed guint32 -> guint for bitfields. 
2927           (Bitfields must be int or unsigned int?)
2928
2929 Sat Jan  3 15:39:45 PST 1998 Jay Painter <jpaint@serv.net>
2930         * gtk/testgtk.c: better CList test
2931
2932 Sat Jan  3 11:09:51 CST 1998 Shawn T. Amundson <amundson@gimp.org>
2933         * GTK+ 0.99.2 Released
2934
2935 Sat Jan  3 11:09:51 CST 1998 Shawn T. Amundson <amundson@gimp.org>
2936
2937         * gtk/gtkscrolledwindow.c: initialize scrollbar_spacing
2938           (gtk-fortier-980103-0)
2939
2940 Sat Jan  3 10:15:08 1998  Scott Goehring  <scott@poverty.bloomington.in.us>
2941
2942         * configure.in: fixed a typo (no_xext_lib, not no_ext_lib).
2943
2944 Sat Jan  3 00:41:28 PST 1998 Manish Singh <yosh@gimp.org>
2945
2946         * gtk/gtkentry.c:
2947         * gtk/gtkentry.h: applied Gordon Matzigkeit's patch to add
2948         fixed-length entry fields (gtk_entry_new_with_max_length)
2949         
2950 Fri Jay  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
2951         * reverted glibconfig.h and glib.h files back to the
2952         way they were before my ugly hack
2953         * gtk/gtkclist.c:
2954         * glib/gscanner.c: removed inlines from clist and gscanner
2955
2956 Fri Jan  2 23:55:24 CST 1998 Shawn T. Amundson <amundson@gimp.org>
2957
2958         * Several portability fixes from Michael Callahan 
2959           <callahan@xmission.com> including adding in missing
2960           #includes and adding void in function prototypes.
2961
2962 Fri Jan  2 19:28:52 1988 Jay Painter <jpaint@serv.net>
2963         * gtk/gtkclist.h:
2964         * gtk/gtkclist.c:
2965         * gtk/gtk.h:
2966         * gtk/testgtk.c:
2967         * gtk/testgtkrc: added GtkCList, column list widget, and a small test
2968         to testgtk
2969
2970 Fri Jan  2 15:42:51 1998  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
2971
2972         * gtk/gtkmain.c (gtk_main_iteration): Make the big switch handle
2973         GDK_NO_EXPOSE and GDK_VISIBILITY_NOTIFY events.
2974
2975 Fri Jan  2 12:07:33 CST 1998 Shawn T. Amundson <amundson@gimp.org>
2976
2977         * gtk/gtkviewport.c: corrects a small resize bug in the 
2978           viewport widget.  The viewport widget provides a _set_shadow 
2979           function to draw its shadows. But if GTK_SHADOW_NONE is sent 
2980           to this function, the viewport isn't resized correctly (it's 
2981           still considered as a shadowed widget).  (gtk-fortier-971213-0)
2982
2983         * gtk/gtknotebook.c: this patch fixes the redraw problems of 
2984           notebook tabs, without using gdk_gc_set_clip_rectangle.
2985           (gtk-hamann_jeske-971218-0)
2986  
2987         * add gtk_widget_(show/hide)_all (Stefan Wille)
2988           (gtk-wille-301297-0)  Patch for testgtk not included
2989           because it did not patch clean.  
2990
2991 Thu Jan  1 21:21:56 PST 1998 Manish Singh <yosh@gimp.org>
2992
2993         * configure.in: fixed up the xinput test
2994         * Miscellaneous portability fixes.
2995
2996 Mon Dec 29 22:05:45 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2997
2998         * gdk/gdkgc.c (gdk_gc_copy): New function, used to copy the values
2999         from one gc to another gc.
3000
3001 Sat Dec 27 20:39:99 1997  Elliot Lee <sopwith@redhat.com>
3002         * gtk/gtkhandlebox.c: It mostly works now, please test it and make
3003         fixes as needed.
3004
3005 Fri Dec 26 11:20:03 1997  Scott Goehring  <scott@poverty.bloomington.in.us>
3006
3007         * gtk/Makefile.am (gtkinclude_HEADERS): added gtkhandlebox.c
3008
3009         * gtk/gtkhandlebox.c (gtk_handle_box_reparent): eliminated a
3010         compiler warning caused by not casting an argument in a debugging
3011         message. :)
3012
3013 Fri Dec 26 02:59:39 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
3014
3015         * gdk/gdktypes.h gdk/gdk.c gdk/gdkwindow.c: Added new
3016         GDK_NO_EXPOSE and GDK_VISIBILITY_NOTIFY events.  They are needed
3017         for Alan Cox's TV widget and for GtkXmHTML.  Only missing with
3018         respect to their Xlib counterparts are the major_code and
3019         minor_code fields from the GdkEventNoExpose structure.  Does
3020         anyone need them?
3021
3022 Tue Dec 23 03:03:17 1997  Tim Janik  <timj@psynet.net>
3023
3024         * gtk/gtkscrolledwindow.c (SCROLLBAR_SPACING): this macro computes
3025         the spacing from klass->scrollbar_spacing now. adapted all functions
3026         that used this macro (based on a patch from Patrice Fortier).
3027         * gtk/gtkscrolledwindow.h (struct _GtkScrolledWindowClass): added
3028         scrollbar_spacing to substitute a define (patch from Patrice Fortier).
3029
3030         * gtk/gtkrc.h (gtk_rc_parse_string): new function.
3031         * gtk/gtkrc.c: many functions adapted to use GScanner for scanning.
3032         (gtk_rc_parse): use gtk_rc_parse_any for parsing.
3033         (gtk_rc_parse_string): new function to support parsing from
3034         strings, just calls gtk_rc_parse_any.
3035         (gtk_rc_parse_any): new function using GScanner as lexer.
3036
3037 Thu Dec 18 23:46:11 CST 1997 Shawn T. Amundson <amundson@gimp.org>
3038
3039         * GDK support for 1 bpp depth screens.
3040
3041 Thu Dec 18 23:46:11 CST 1997 Shawn T. Amundson <amundson@gimp.org>
3042
3043         * Changes from Bolliet Jerome <bolliet@in2p3.fr> to gtktree.
3044           Corrects a bug in gtk_tree_remove_items and gtk_tree_item_destroy.
3045           Adds the possibility to connect all items by lines. This is the 
3046           default now.  You can overide this with the function 
3047           gtk_tree_set_view_line which take a tree and a boolean.
3048
3049 Thu Dec 18 23:26:49 CST 1997 Shawn T. Amundson <amundson@gimp.org>
3050
3051         * removed configure, Makefile.in, and aclocal.m4 files
3052
3053 Wed Dec 17 23:36:57 1997  Scott Goehring  <scott@poverty.bloomington.in.us>
3054
3055         * gdk/gdkcc.c (gdk_color_context_free): Caught a stray
3056         gdk_colormap_destroy that Owen missed (and Shawn found).
3057
3058 Wed Dec 17 20:59:52 1997  Owen Taylor  <owt1@cornell.edu>
3059         * gdk/gdkinput.c gdk/gdkinput.h gdk/gdkinputcommon.h
3060           gdk/gdkinputxfree.h gdk/gdkinputgxi.h gdk/gdkinputnone.h.
3061           gtk/gtkinputdialog.h gtk/testinput.c
3062         Added support for device keys mapping to key events.
3063         Fixed various bugs.
3064
3065 Wed Dec 17 20:53:00 1997  Owen Taylor  <owt1@cornell.edu>
3066         * gdk/gdk.c gdk/gdk.h: Changed gdk_get_event to remove
3067         predicate filtering, and to allocate the events.
3068         Added gdk_event_get_graphics_expose for scroll handling.
3069         * gtk/gtkmain.c gtk/gtktext.c:
3070         Use above changes. Interface change for gtk_get_current_event.
3071         * testgtk.c
3072         Added another test to test new scrolling mechanism.s
3073         * gdk/gdk.c gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: 
3074         Added beginnings of event filtering. Removed obsolte
3075         OtherEvent mechanism.
3076         * gdk/gdk.c: Combined FocusIn/FocusOut events. Now ignore
3077         focus events which aren't for window itself. (Only pay
3078         attention to NotifyAncestor/Inferior/Nonlinear)
3079         * gtk/gtkwindow.c gtk/gtkwindow.h: Virtualize set_focus 
3080         function so it can be overridden.
3081         * gtk/gtkwidget.c: Reparenting should now work for
3082         containers. (Guillaume Laurent <glaurent@worldnet.fr>)
3083         * gdk/gdkgc.c: By default, GraphicsExpose events are now
3084         _not_ generated.
3085         * gtk/testselection.c: Suppress a warning, fix a bug?
3086
3087 Wed Dec 17 20:47:42 1997  Owen Taylor  <owt1@cornell.edu>
3088         * configure.in, glib/configure.in: 
3089         Remember if user set CFLAGS, so we can set it for --enable-debug
3090           only if they didn't. 
3091         Added missing quotes. )Raphael.Quinet@eed.ericsson.se)
3092         Only use -DX_LOCALE if setlocale doesn't work.
3093         * gdk/gdki18n.h: Simplified system for trying to get iswalnum() -
3094         include <wctype.h> if present, otherwise <wchar.h> if present.
3095         
3096 Wed Dec 17 21:09:12 1997  Owen Taylor  <owt1@cornell.edu>
3097   1997-10-13  Marius Vollmer  <mvo@zagadka.ping.de>
3098
3099     Bug fixes:
3100         
3101         * gtksignal.c (gtk_params_get): Initialize the GtkArg even when
3102         the return type is GTK_TYPE_NONE.
3103
3104     Revamped reference counting, see the file REFCOUNTING.
3105
3106         * Makefile.am (EXTRA_DIST): Added REFCOUNTING.
3107         * REFCOUNTING: New file.
3108
3109         * gdk/gdk.c (received_destroy_notify, window_to_destroy): Removed.
3110         (gdk_event_get): Code that deals with the above removed.
3111         (gdk_event_translate): Abort when the GdkWindow for the XEvent
3112         cannot be found.  For DestroyNotify: Do not use
3113         receive_destroy_notify and window_to_destroy but call
3114         gdk_window_destroy_notify.
3115
3116         * gdk/gdk.h: (gdk_pixmap_destroy, gdk_colormap_destroy,
3117         gdk_fontset_free): Removed.
3118         (gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
3119         gdk_bitmap_unref): New prototypes.
3120         (gdk_font_free, gdk_font_unref): Renamed gdk_font_free to
3121         gdk_font_unref.
3122
3123         * gdk/gdkcolor.c (gdk_colormap_real_destroy): Made static.
3124         (gdk_colormap_destroy): Removed.
3125
3126         * gdk/gdkfont.c (gdk_font_free): Renamed to gdk_font_unref.
3127         Handle fontsets as well.
3128         (gdk_fontset_free): Removed.
3129
3130         * gdk/gdkpixmap.c (gdk_pixmap_destroy): Removed.
3131         (gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
3132         gdk_bitmap_ref): New functions.
3133
3134         * gdk/gdkwindow.c: (gdk_window_new, gdk_window_foreign_new): Call
3135         gdk_window_ref for the pointer in the xid table.
3136         (gdk_window_internal_destroy): Renamed from gdk_window_destroy.
3137         New parameter XDESTROY that takes the role of `destroyed==2';
3138         removed special casing of `destroyed==2'.  Free dnd_data only when
3139         really destroying.  Do not touch the ref_count.  Calling
3140         gdk_window_destroy on a Pixmap is now a real error, not just a
3141         warning.
3142         (gdk_window_destroy): Just call gdk_window_internal_destroy and
3143         gdk_window_unref, as advertised in REFCOUNTING.
3144         (gdk_window_destroy_notify): New function.
3145         (gdk_window_unref): Print a warning when the ref_count is zero and
3146         the window has not been destroyed.  Should never happen.  Do not
3147         destroy the window, just free the memory.
3148         
3149         * gdk/gdkprivate.h (gdk_window_real_destroy): Removed.
3150
3151         * gtk/gtkaccelerator.c (gtk_accelerator_table_destroy): Removed.
3152         (gtk_accelerator_table_unref): Do the job of
3153         gtk_accelerator_table_destroy directly.
3154         (gtk_accelerator_table_init): Init ref_count with 1.
3155
3156         * gtk/gtkaccelerator.h (gtk_accelerator_table_destroy): Removed.
3157
3158         * gtk/gtkcurve.c, gtk/gtkgamma.c: Replaced gdk_pixmap_destroy with
3159         gdk_pixmap_unref.
3160
3161         * gtk/gtkhscrollbar.c (gtk_hscrollbar_realize): Reflect the fact
3162         that the widget->window is used as the range->trough in the
3163         ref_count.
3164         * gtk/gtkvscrollbar.c (gtk_vscrollbar_realize): Likewise.
3165
3166         * gtk/gtkmain.c (gtk_main_iteration): Protect event_widget with
3167         ref/unref while handling the GDK_DELETE and GDK_DESTROY events.
3168
3169         * gtk/gtkmenu.c (gtk_menu_set_accelerator_table): Don't do
3170         anything when the new accel_table is the old one.
3171
3172         * gtk/gtkmenufactory.c (gtk_menu_factory_destroy): Unref
3173         factory->table if there is one.
3174         (gtk_menu_factory_create, gtk_menu_factory_create_widget): Don't
3175         ref newly created accel_table, it is now created with a ref_count
3176         of 1.
3177
3178         * gtk/gtkmenuitem.c (gtk_menu_item_set_submenu):  Don't do
3179         anything when the new submenu is the old one.
3180
3181         * gtk/gtkpixmap.c (gtk_pixmap_destroy): New static function.
3182         (parent_class): New global variable.
3183         (gtk_pixmap_init): Set object_class->destroy.
3184         (gtk_pixmap_set): Don't do anything about the pixmap when the new
3185         pixmap is the old one.  Likewise for the mask.
3186
3187         * gtk/gtkprogressbar.c, gtk/gtkruler.c: Replaced
3188         gdk_pixmap_destroy with gdk_pixmap_unref.
3189
3190         * gtk/gtkrange.c (gtk_range_set_adjustment):  Don't do
3191         anything when the new adjustment is the old one.
3192
3193         * gtk/gtkrc.c: Replaced gdk_fontset_free/gdk_font_free with
3194         gdk_font_unref.
3195
3196         * gtk/gtkstyle.c (gtk_style_new): Initialize ref_count with 1.
3197         (gtk_styles_init): Replace gtk_style_destroy with gtk_style_unref
3198         for the cache.
3199         (gtk_style_new_from_key): Ref style before returning it when it
3200         has not been newly created.
3201         (gtk_style_destroy): Don't look at the ref_count, destroy always.
3202         Free style-font with gdk_font_unref, regardless of font->type.
3203
3204         * gtk/gtktooltips.c (gtk_tooltips_real_destroy): Renamed from
3205         gtk_tooltips_destroy and made static.  Don't look at ref_count,
3206         destroy always.
3207         (gtk_tooltips_new): Initialize ref_count with 1.
3208         (gtk_tooltips_unref): Don't look at pending_destroy, destroy
3209         always when ref_count is 0.
3210         (gtk_tooltios_widget_remove): Use gtk_tooltips_destroy_data
3211         instead of hand-coded destruction.
3212
3213         * gtk/gtktooltips.h (GtkTooltips::pending_destroy): Removed.
3214         (gtk_tooltips_destroy): Removed.
3215
3216         * gtk/gtkviewport.c (gtk_viewport_set_hadjustment,
3217         gtk_viewport_set_vadjustment): Don't do anything when the new
3218         adjustment is the old one.
3219
3220         * gtk/gtkwidget.c (gtk_widget_reparent): Protect the reparented
3221         widget with ref/unref while moving it.
3222         (gtk_widget_set_default_colormap): Replace gdk_colormap_destroy
3223         with the proper ref/unref spell.
3224         (gtk_widget_set_default_style): Don't do anything when the new
3225         style is the old one.
3226
3227         * gtk/testinput.c (configure_event): Replaced gdk_pixmap_destroy
3228         with gdk_pixmap_unref.
3229         
3230     More Interpreter support:
3231
3232         * gdk/gdktypes.h (GdkDestroyNotify): New type.
3233         
3234         * gdk/gdk.c (struct _GdkInput::destroy): New field.
3235         (gdk_input_add_interp): New version of gdk_input_add that follows
3236         the interp conventions for callbacks.
3237         (gdk_input_add): Implement in terms of gdk_input_add_interp.
3238         (gdk_input_remove): Call destroy notify when appropriate.
3239
3240         * gdk/gdk.h (gdk_input_add_interp): New prototype.
3241
3242         * gtk.defs: Updated from guile-gtk.
3243         * gtk/gtktypebuiltins.c, gtk/gtktypebuiltins.h: Regenerated.
3244         
3245         * gtk/gtkmain.c (GtkInputFunction, struct _GtkInputFunction): New
3246         types.
3247         (gtk_invoke_input_function, gtk_destroy_input_function,
3248         gtk_input_add_interp, gtk_input_remove): New functions.
3249
3250 Wed Dec 17 12:00:48 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
3251
3252         * gdk/gdkcc.c: New GdkColorContext functionality!  This should
3253         eventually solve all of our color management problems.  Gdk still
3254         needs to be modified to support visuals with less than 8 bpp.  Gtk
3255         needs to be modified just a bit.
3256
3257 Wed Dec 17 13:56:17 PST 1997 Manish Singh <yosh@gimp.org>
3258
3259         * a small patch by Lauri Alanko that allows Gimp to pass
3260         on --display to it's plugins.
3261
3262 Sun Dec 14 00:08:00 PST 1997 Raph Levien <raph@acm.org>
3263         * a minor patch to make the file selection dialog not always
3264         select the first file in a directory
3265
3266 Sat Dec 13 Jay Painter <jpaint@serv.net>
3267         * gtk/gtkvscrollbar.c: added focus flag so vertical scrollbars
3268         can get keyboard focus
3269
3270 Fri Dec 12 Owen Taylor <owt1@cornell.edu>
3271         * Removed warning when XGetWindowProperty fails - this can
3272           be the desired behavior.
3273         
3274 Fri Dec 12 Owen Taylor <owt1@cornell.edu>
3275         * gdk/makecursor* gdk/makekeysym* gdk/Makefile.am
3276           Removed old sed/awk code and replaced it with a 
3277           spiffier awk-only code from Art_Haas@dril-quip.com
3278         
3279 Fri Dec 12 Owen Taylor <owt1@cornell.edu>
3280         * gdk/gdkgc.c: If gdk_gc_set_clip_rectangle is called with
3281           rectangle = NULL, remove clip mask, instead of segfaulting.
3282         * gtk/gtknotebook.c: Set clip mask before redrawing, so that
3283           we don't overwrite things outside of exposed areas when
3284           drawing them shadows. (Based on a patch from 
3285           Lars Hamann <hamann@braunschweig.netsurf.de>, and Stefan Jeske)
3286         
3287 Thu Dec 11 10:57:29 CST 1997 Shawn T. Amundson <amundson@gimp.org>
3288         * Change to ltconfig to remove -z text for Solaris x86  
3289         * Change to configure stuff so compile works on Solaris x86
3290         * Added gdk/gdkkeysyms.h and gdk/gdkcursors.h back into the tree
3291
3292 Thu Dec 11 09:44:03 1997  Tim Janik  <timj@psynet.net>
3293
3294         * gdk.c: added gdk_progclass==NULL patch by Oliver Graf <ograf@fga.de>.
3295
3296 Wed Dec 10 23:40:03 1997  Tim Janik  <timj@psynet.net>
3297
3298         * fixed some compiler errors, because g_return_if_fail() wasn't used
3299         with a trailing semicolon in some places. fixed few other warnings also.
3300
3301 Tue Dec  9 Owen Taylor <owt1@cornell.edu>
3302         * configure changes: (configure.in, glib/configure.in)
3303         Change test ! `...` to test -z `...`
3304           (Harald Meland <Harald.Meland@usit.uio.no>)
3305         Change $gtk_cv_x_locale to $need_x_locale so it isn't cached.
3306         With --enable_debug, don't touch CFLAGS if they're already set.
3307
3308 Tue Dec  9 Owen Taylor <owt1@cornell.edu>
3309         * gdk/gdkpixmap.c: don't use gdk_black/white for pixmap mask.
3310          From Patrice Fortier <Patrice.Fortier@aquarel.fr>
3311
3312 Mon Dec  8 Owen Taylor <owt1@cornell.edu>
3313         * gtk/testselection.c (selection_received): foreward -> forward.
3314         * gtk/gtktext.c (gtk_text_forward_delete): Renamed; changed all
3315         callers.
3316         * gtk/gtktext.h: foreward -> forward.
3317           From Tom Tromey  <tromey@cygnus.com>
3318
3319 Mon Dec  8 Owen Taylor <owt1@cornell.edu>
3320         * gtk/gtkimage.c: Fixes to expose() handler
3321           From Rob Browning <rlb@cs.utexas.edu>
3322         
3323 Mon Dec  8 21:09:43 PST 1997 Geoffrey T. Dairiki <dairiki@alumni.caltech.edu>
3324         * gtk/gtklabel.h:
3325         * gtk/gtklabel.c: Add support for GTK_JUSTIFY_FILL.  This support
3326         is used by the new gtktooltips.c.
3327         * gtk/testgtk.c (create_labels, create_main_window): A new test
3328         window for labels (to test the new GTK_JUSTIFY_FILL'ed labels.)
3329
3330 Mon Dec  8 21:09:43 PST 1997 Geoffrey T. Dairiki <dairiki@alumni.caltech.edu>
3331         * gtk/gtklabel.h:
3332         * gtk/gtklabel.c: Add support for GTK_JUSTIFY_FILL.  This support
3333         is used by the new gtktooltips.c.
3334         * gtk/testgtk.c (create_labels, create_main_window): A new test
3335         window for labels (to test the new GTK_JUSTIFY_FILL'ed labels.)
3336
3337 Sun Dec  7 Owen Taylor <owt1@cornell.edu>
3338         * gdk/gdk.c, gdk/gdk.h, gdk/gdktypes.h: 
3339           Remove dependencies of interfaces on USE_XIM
3340         * gdki18n.h: Attempt to make wchar handling more portable
3341         * gdkwindow.c: Include config.h. (For gdkinput.h)
3342         
3343 Sun Dec  7 Owen Taylor <owt1@cornell.edu>
3344         * gtk/gtkentry.c, gtk/gtkentry.h: 
3345            Fixed word motion
3346            Added cut/copy/paste via X clipboard
3347            Generalized extending selection using <Shift> to work with all types
3348              of motion, not just arrow keys.
3349            Don't change length of GtkEntry structure because of USE_XIM
3350
3351 Sun Dec  7 03:19:02 1997  Tim Janik  <timj@psynet.net>
3352
3353         * gtkfilesel.c: applied jamesa-971010-0 for stability.
3354         * gtkrc.c: applied jamesa-971010-2 for a small optimization.
3355         * gtkcheckmenuitem.h:
3356         * gtkcheckmenuitem.c:
3357         * gtkradiomenuitem.c:
3358         * testgtk.c: applied johannes-971113-0 which adds
3359         gtk_check_menu_item_set_show_toggle() to change the way check
3360         menu items and radio menu items look.
3361
3362 Fri Dec 5 1997 Elliot Lee <sopwith@cuc.edu>
3363         * gdk/gdk.c: clean up warnings, remove some un-ifdef'd debugging
3364         printing, DnD is Bug Free now, etc.
3365         * gtk/gtkcolorsel.c: fix DnD support.
3366         * gtk/gtkmain.c: DnD events go to the original window even if
3367         there is a grab - if I drop on a window the data had better go
3368         to it and not some other window :)
3369         * gtk/testgtk.c: Replace (GtkSignalFunc) with GTK_SIGNAL_FUNC(),
3370         and do a nicer DnD demo.
3371         * My very first ChangeLog entry, seeing as people have
3372         a fixation on them (what's wrong with "rcs2log" output?)
3373
3374 Thu Dec 4 1997 Owen Taylor <owt1@cornell.edu>
3375         * gdk/gdkgc.c: Ignore gdk_gc_set_font if font is a fontset.
3376
3377 Wed Dec 3 1997 Jay Painter <jpaint@serv.net>
3378         * gtk/gtkstyle.c: fixed a problem introduced recently in 
3379         gtk_style_detach witch crashed script_fu.
3380
3381 Wed Dec 3 1997 Owen Taylor <owt1@cornell.edu>
3382         * gdk/Makefile.am: add a dependence for $(DEP_FILES) on
3383         $(BUILT_SOURCES) to work around automake problem
3384         
3385 Wed Dec 3 1997 Owen Taylor <owt1@cornell.edu>
3386         * configure.in glib/configure.in glib/glibconfig.h.in gdk/gdk.h
3387         gdk/gdk18n.h gdk.c gtk/gtkentry.c: Try to handle variations in 
3388         <wchar.h> headers gracefully. Do not automatically include 
3389         gdk/gdki18n.h.
3390         
3391 Wed Dec 3 1997 Jay Painter <jpaint@serv.net>
3392         * gtk/gtkoptionmenu.c: fixed a old bug where if you set a new 
3393         menu for a optionmenu the widget would not get positioned correctly
3394         inside of the optionmenu.
3395
3396 Tue Dec 2 1997 Owen Taylor <owt1@cornell.edu>
3397         * gdk/gdkpixmap.c: Include unistd.h to get SEEK_END
3398         for SunOS (john_johns@credence.com)
3399         
3400 Tue Dec 2 1997 Owen Taylor <owt1@cornell.edu>
3401         * gtk+/fnmatch.c: Define _GNU_SOURCE before including
3402         fnmatch.h to make sure all constants are defined.
3403         (Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp>)
3404         
3405 Tue Dec 2 1997 Owen Taylor <owt1@cornell.edu>
3406         * configure.in, glib/configure.in: Make the logic to add -Wall,
3407         -ansi, -pedantic for GCC operational.
3408
3409 Tue Dec 2 1997 Owen Taylor <owt1@cornell.edu>
3410         * glib/glib.h, glib/configure.in. Disabled gldouble, since
3411         it wasn't used anywhere and caused portability problems
3412
3413 Tue Dec 2 1997 Owen Taylor <owt1@cornell.edu>
3414         * glib/glib.h, glib/configure.in, glib/glibconfig.h.in: Added a
3415         g_memmove function which is simply memmove if it exists, otherwise
3416         bcopy.(Should really check if bcopy has the correct semantics, and
3417         create our own memmove is necessary) 
3418         * glib/gstring.c, glib/garray.c, gtk/gtktext.c:
3419         memmove => g_memmove
3420         
3421 Sun Nov 30 1997 Jay Painter <jpaint@serv.net>
3422         * gtk/gtknotebook.c: fixed a old bug where all the notebook pages
3423         which were not displayed when the notebook widget was realized were
3424         never size allocated when they were realized.
3425
3426 Thr Nov 28 1997 Jay Painter <jpaint@serv.net>
3427         * gtk/gtklist.h: removed GtkSelectionMode
3428         * gtk/gtkenums.h: added GtkSelectionMode
3429
3430 Fri Nov 28 01:26:55 1997  Tim Janik  <timj@psynet.net>
3431
3432         * gtk/gtkwindow.c (gtk_window_show): propagate a size_request before
3433         the initial window creations (prevents windows with size of -1x-1).
3434
3435         * gtk/gtkmain.c (gtk_main_level): new function to determine
3436         the current recursion level of gtkmain().
3437         (gtk_true) (gtk_false): new functions implemented as a convenience
3438         for signals that just need a handler with the appropriate return value.
3439
3440 Tue Nov 25 1997 Owen Taylor <owt1@cornell.edu>
3441         gdk.c: Fix so that "other_events" are actually generated
3442
3443 Tue Nov 25 1997 Owen Taylor <owt1@cornell.edu>
3444         Patches to support internationalized input by:
3445           Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp>
3446           TANAKA Shinya <shinya@race.u-tokyo.ac.jp>
3447
3448         From the README:
3449         
3450         Feature:
3451           Followings are the main feature of this patch.
3452             * support XIM protocol.
3453             * GtkEntry widget support Over-The-Spot and Root style input.
3454             * input style is configurable by command-line option.
3455
3456         Furthermore, this patch includes several changes which are useful 
3457           without XIM too.
3458         
3459             * copy and paste with other clients by compound text.
3460             * Window title can be specified by multi byte string.
3461
3462         configure.in: 
3463           Added --with-locale and --enable-xim options
3464         gdk/Makefile.am:
3465         gdk/gdki18n.h [new file]
3466           Multibyte string manipulation functions
3467         gdk/gdk.c
3468         gdk/gdk.h
3469         gdk/gdkprivate.h
3470           Input method and context handling functions
3471           Command line options to control input methods
3472           Changes to KeyPress handling to support input methods
3473           Fixes to not return events for destroyed windows
3474         gdk/gdkselection.c
3475           Text property handling functions
3476         gdk/gdkwindow.c
3477           Set window title by multibyte string
3478         gtk/gtkentry.c
3479           Support for using an input context for XIM input.
3480           Cut and paste using compound text.
3481           Improvements to pasting (no longer replace the active selection
3482             with itself OWT)
3483         gtk/gtkselection.c
3484           fix to send selection clear events to the right owner
3485         gtk/testgtkrc
3486           Added a default fontset that will allow international characters
3487         INSTALL
3488           Some rudimentary documentation about the new configuration options.
3489         
3490 Mon Nov 24 1997 Owen Taylor <owt1@cornell.edu>
3491         gtk/gtkaspectframe.c:
3492         Some minor improvements to rounding in aspectframes.
3493         Make sure that child allocation is always >= 0
3494         Always trigger size allocation with gtk_widget_queue_resize
3495         to prevent calling size_allocate before allocation done.
3496
3497 Mon Nov 24 1997 Owen Taylor <owt1@cornell.edu>
3498         gtk/gtkframe.c:
3499         Changed tests for drawability to GTK_WIDGET_DRAWABLE
3500         Always trigger size allocation with gtk_widget_queue_resize
3501         to prevent calling size_allocate before allocation done.
3502
3503 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
3504         gtk-dairiki-971117-2.patch
3505         gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): When
3506         computing new dimensions of the subwidget, round to nearest
3507         integer rather than truncating.
3508
3509 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
3510         gtk-dairiki-971117-1.patch
3511         * gtk/gtkvruler.c (gtk_vruler_draw_ticks):
3512         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): Ensure that subticks
3513         always are drawn when they should be (sometimes they were getting
3514         drawn with zero length --- invisible).  Also clear rectangle
3515         behind text labels to ensure they don't touch or overlap ticks. 
3516
3517 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
3518         * gtk/gtkaspectframe.c (gtk_aspect_frame_set): 
3519         gtk-dairiki-971117-0.patch
3520         Clear window when aspect ratio or alignment is changed.
3521
3522 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
3523         * gtk/gtkobject.h: fixed GTK_OBJECT_NSIGNALS macro
3524
3525 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
3526         * gtk/gtklabel.h: modified gtklabel to clip its drawing to
3527         its given area, now it will always draw in the area it's 
3528         been given and clip accordingly.  Note: this may cause
3529         the a label to disappear on widgets which don't give their
3530         child labels proper area!
3531
3532 Mon, 17 Nov 1997 Michael K. Johnson <johnsonm@redhat.com>
3533         * gtkwidget.c: gtk_set_style_recurse was not allowing updated
3534         widget names to cause new styles to be applied.
3535         * gtkentry.c gtkentry.h: The entry widget now has invisible
3536         attribute.  The cursor does not move to show you typing; this
3537         is an intentional design decision but I'm not so attached to it
3538         that I'll reverse any patches that change it...  :-)
3539
3540         This patch is a modified version of a patch to which I have
3541         lost the attribution.  I modified it by packing the "visible"
3542         flag into the structure more tightly (without damaging backwards
3543         compatibility on sane systems) and by allowing entry timers
3544         to run.
3545
3546 Mon Nov 17 1997 Jay Painter <jpaint@serv.net>
3547         * gtkviewport.c: Raph's Mon, 10 Nov 1997 patch to gtk-list 
3548         to fix some viewport bugs
3549
3550 Mon Nov 17 1997 Jay Painter <jpaint@serv.net>
3551         * gtk/gtkwidget.c: gtk-ajaborsk-971016-2
3552         A little patch again to prevent user to use gtk_widget_set_events()
3553         when a widget is already realized.
3554         In this case, the gtk_widget_set_events() doesn't work.
3555
3556 Mon Nov 17 1997 Jay Painter <jpaint@serv.net>
3557         * gtk/gtkwindow.c: gtk-ajaborsk-971016-1
3558         This small patch correct position for GTK_WIN_POS_CENTER and
3559         GTK_WIN_POS_MOUSE GtkWindow positions.
3560
3561 Sat Nov 15 1997 Jay Painter <jpaint@serv.net>
3562         * gdk/gdkgc.c: added function gdk_gc_set_clip_rectangle
3563         * gdk/gdk.h: header for above
3564
3565 Sat Nov 15 1997 Jay Painter <jpaint@serv.net>
3566         * gdk/gdkgc.c: added function gdk_gc_set_clip_rectangle
3567         * gdk/gdk.h: header for above
3568
3569 Wed Nov 12 1997 Jay Painter <jpaint@serv.net>
3570         * gdk/gdkpixmap.c: Patrice Fortier's patch for transparent pixmaps.
3571         * gdk/gdk.h:
3572           gdk/gdkdraw.c: Patrice Fortier's patch to add pixel draw function.
3573
3574 Sun Nov  9 1997 Jay Painter <jpaint@serv.net>
3575         * Fixed problems with makefiles relating to the bug
3576         which required glib to be installed.
3577         * Fixed makefiles to incluce the xpm's in gtk+/gtk needed
3578         for testgtk.
3579         * Updated gtk+ and gtk+/glib to libtool-1.0f
3580
3581 Fri Nov  7 1997 Jay Painter <jpaint@serv.net>
3582         * gtk/gtktext.c: return char_widths[ch & 0xff]; in line 2152
3583
3584 Thr Nov  5 1997 Jay Painter <jpaint@serv.net>
3585         * gtk/testgtk.c: added drag and drop test, removed the test hack
3586         from the button test
3587
3588 Tue Nov  4 08:28:57 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
3589
3590         * gtk/gtkmain.c (gtk_handle_idle): Patch from David Mosberger to
3591         avoid crashes when handling idle function (this manifested itself
3592         in the Umax and Microtek backends in SANE.
3593
3594 Sun Nov  2 07:34:56 1997  Tim Janik  <timj@psynet.net>
3595
3596         * gtk/gtkfilesel.c: Small fixes about a segmentation viaolation
3597         cause by a double click in the directoy list (introduced by my
3598         previous changes).
3599         
3600         * gtk/gtklist.c: Small fixes to gtk_list_add() and gtk_list_remove().
3601         
3602         * gtk/testgtk.c (list_add): Applied Stefan Wille's patch to make this
3603         function do something ;).
3604
3605 Fri Oct 31 Jay Painter <jpaint@serv.net>
3606         *gdk/gdk.c: reformatted DND code for GTK coding standards
3607         *gdk/gdkwindow.c: changed memory allocation for DND to q_mem stuff
3608
3609 Thu Oct 30 Jay Painter <jpaint@serv.net>
3610         * gdk/gdkwindow.c: 
3611         * gdk/gdk/gdk.h:
3612         * gtk/gtkwidget.h:
3613         * gtk/gtkwidget.c: Applied Stephan Willie's shaped window patch
3614
3615         * gdk/gdkwindow: 
3616         * gdk/gdk.h:
3617         * gtk/gtkwidget.h:
3618         * gtk/gtkwidget.c: reformatted the DND code to conform to GTK
3619                 coding standards
3620
3621         * gtk/testgtk: massive fixes, SW's shaped window example
3622
3623 Thu Oct 30 07:33:27 1997  Tim Janik  <timj@psynet.net>
3624
3625         * gtk/gtklistitem.c (gtk_real_list_item_toggle): applied Johannes
3626         Keukelaar's <johannes@nada.kth.se> patch for keyboard support in
3627         GtkList widgets.
3628
3629         * gtk/gtkfilesel.c: adapted dir and file list selection
3630         behaviour to deal with keyboard selections. this is a little
3631         bit tricky: in the dir list it just changes the entrys value on a one
3632         button press. but on a keyboard selection via gtk_widget_activate() it
3633         does a new population (likewise on a double click) as this seems more
3634         obvious.
3635
3636 1997-10-25  Marius Vollmer  <mvo@zagadka.ping.de>
3637
3638         * gdk/gdkcolor.c (gdk_colormap_get_system): Initialize
3639         private->ref_count.
3640
3641 Wed Oct 22 09:47:43 1997  Tim Janik  <timj@psynet.net>
3642
3643         * gtk/gtkwindow.c (gtk_window_key_release_event): Fixed a stupid
3644         bug that caused the key_release_event to be propagated twice.
3645
3646 Sun Oct 12 11:01:43 1997  Tim Janik  <timj@psynet.net>
3647
3648         * acconfig.h:
3649         * configure.in:
3650         * gdk/gdkimage.c: Added configure check for IPC_RMID_DEFERRED_RELEASE,
3651         because shmat() fails after a shmctl(..., IPC_RMID,...) for OSF1 V3.2,
3652         SunOS 4.1.1, 5.5, 5.5.1, 5.6, IRIX 5.2 and 6.2.
3653
3654 Mon Oct  6 11:59:07 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
3655
3656         * gdk/gdk.c (gdk_event_translate): In line 1693, fixed typo that
3657         would cause motion notify events not to be delivered.
3658
3659 Sun Oct  5 18:15:06 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
3660
3661         * gtk/gtkrc.c (gtk_rc_parse_bg_pixmap): Changed strdup() for
3662         g_strdup().
3663
3664 Wed Sep 24 17:16:34 1997  Peter Mattis  <pmattis@bjork.inktomi.com>
3665
3666         * configure.in: Fixed a stupid error in the test for libXext that
3667         would cause it to fail if X_EXTRA_LIBS was not empty.
3668
3669         * gtk/gtkmain.h (gtk-timj-970919.patch):
3670         * gtk/gtkmain.c (gtk-timj-970919.patch): new function
3671         `gtk_idle_remove_by_data' to remove all idle callbacks that take a
3672         specific piece of data as argument.  (gtk_get_current_event):
3673         remove idles through gtk_idle_remove_by_data.
3674         
3675         * gtk/gtkwidget.c (gtk-timj-970919.patch):
3676         (gtk_widget_destroy): remove pending idles for
3677         widgets that have GTK_REDRAW_PENDING or GTK_RESIZE_PENDING and
3678         GTK_ANCHORED set (only anchored widgets can have a resize queue
3679         handler pending). widgets that have GTK_RESIZE_NEEDED will be removed
3680         from their anchored toplevels `resize_widgets' list.
3681         
3682         (gtk_widget_queue_draw): let the widget remember the queue handler
3683         tag (through `redraw_handler_key') for later call to `gtk_idle_remove'.
3684         
3685         (gtk_widget_queue_resize): let the widget remember the queue handler
3686         tag (through `resize_handler_key') for later call to `gtk_idle_remove'.
3687         corrected referencing the toplevel widget for which the handler is
3688         pending. if a widget is added to the `resize_widgets' list of a
3689         toplevel widget, GTK_RESIZE_NEEDED is set and it's referenced.
3690         
3691         (gtk_real_widget_queue_resize): on the deletion of the `resize_widgets'
3692         list, unset GTK_RESIZE_NEEDED and unreference the removed widgets.
3693         
3694         * gtk/gtkwindow.c (gtk-timj-970919.patch):
3695         (gtk_real_window_move_resize): move `resize_containers = NULL'
3696         initialization out of if-statement.
3697         while stepping through the `resize_widgets' list, unreference the
3698         widgets and clear GTK_RESIZE_NEEDED. if a widget realy needs are
3699         resize, they are flagged through GTK_RESIZE_NEEDED now (instead of
3700         GTK_RESIZE_PENDING, as this is indicative for a pending handler).
3701         added checks to provide segfaulting if a widgets parent pointer
3702         is NULL (e.g. on toplevel widgets that have GTK_RESIZE_NEEDED set).
3703
3704 Tue Sep 23 13:23:27 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
3705
3706         * gdk/gdkimage.c: Applied Tim Janik's patch to mark shm segments
3707         as IPC_RMID so that they are automatically removed always.
3708
3709         * gdk/gdkfont.c: Removed casts from lvalues.
3710
3711         * gtk/gtkmain.c: Removed GTK_RETLOC_*() (which do a cast) from lvalues.
3712
3713         * gtk/gtkaccelerator.c (gtk_accelerator_table_remove): Added
3714         "const" to the accelerator_key param to be consistent with the
3715         declaration in gtkaccelerator.h.  The const is not useful in this
3716         case, anyway.
3717
3718 Tue Sep 16 13:11:06 1997  Peter Mattis  <pmattis@bjork.inktomi.com>
3719
3720         * gtkpreview.c: Andrew Logan Kieschnick's change to eliminate
3721         round-off error when gamma is set to 1.0.
3722
3723         * gtkrange.c:
3724         * gtkviewport.c: Jay Painter's changes to modify the way in which
3725         viewports resize.
3726
3727         * gdkinput.c:
3728         * gdkinputgxi.h:
3729         * gdkinputxfree.h:
3730         * gtk/Makefile.am:
3731         * gtk.h:
3732         * gtkeventbox.c:
3733         * gtkeventbox.h: Owen Taylor's event box widget and fixes for X
3734         input support (that I had broken).
3735
3736         * gdk.h:
3737         * gdkwindow.c:
3738         * gtksignal.h:
3739         * gtksignal.c: Elliot Lee's changes to support Objective C. (id is
3740         apparently a reserved word in Objective C).
3741
3742 Sun Sep 14 22:33:15 1997  Peter Mattis  <pmattis@localhost>
3743
3744         * gtkwidget.c (gtk_widget_queue_resize): If the toplevel container
3745         is invisible we simply call "gtk_container_need_resize" on
3746         it. This fixes a bug with option menus not redrawing correctly.
3747
3748         * gtkmenuitem.c (gtk_menu_item_enter): (gtk_menu_item_leave):
3749         These functions now simply pass the event on to their parent. This
3750         is necessary for menus to work properly due to the change in how
3751         grabs are dealts with.
3752
3753         * gtkwindow.c (gtk_real_window_move_resize): Fixed a bug that
3754         caused the GTK_RESIZE_PENDING flag to not be unset in some cases.
3755
3756 Fri Sep  5 20:49:37 1997  Marius Vollmer  <mvo@zagadka.ping.de>
3757
3758         Bug fixes:
3759
3760         * Makefile.am: Added PATCHES to EXTRA_DIST.
3761         * gtk/gtkpixmap.c (gtk_pixmap_new): Move the "pixmap != NULL" test
3762         after the allocation of the pixmap.
3763
3764         To shut up the compiler:
3765
3766         * gtk/gtkfilesel.c (get_pwdb): Initialize home_dir.
3767         * gtk/gtkmain.c (gtk_init): Replace comments around calls to
3768         g_set_*_handler with "if (0)".
3769         * gtk/gtkrc.c (gtk_rc_get_token): Initialize hex_number and
3770         float_number.
3771         * gtk/gtkwindow.c (gtk_window_key_press_event): Initialize
3772         direction.
3773
3774         Changes to the type system in gtk/:
3775
3776         * Makefile.am: Added gtktypebuiltins.h to gtkinclude_HEADERS.
3777         Added gtk.defs, runelisp, gentypeinfo.el and gtktypebuiltins.c to
3778         EXTRA_DIST.  Added rules to generate gtktypebuiltins.* from
3779         gtk.defs.
3780
3781         * runelisp, gentypeinfo.el, gtk.defs: New files.
3782
3783         * gtkaccelerator.c, gtkaccelerator.h (gtk_accelerator_table_ref):
3784         Return the table so that this function can be used as the `copy'
3785         function for GTK_TYPE_BOXED values.
3786         * gtkstyle.c, gtkstyle.h (gtk_style_ref): Likewise.
3787
3788         * gtkenums.h: Removed GtkArgType enum.
3789
3790         * gtkmain.c (gtk_init): Call gtk_type_init to initialize the type
3791         system.
3792
3793         * gtkobject.c (gtk_object_init_type): New function to take over
3794         for gtk_object_get_type. (gtk_object_get_type): Just return the
3795         constant GTK_TYPE_OBJECT. (gtk_object_collect_args): Do the right
3796         thing for the new GTK_TYPE_* types.
3797         * gtksignal.c (gtk_params_get): Likewise.
3798
3799         * gtktypeutils.c: (gtk_type_init_builtin_types): New
3800         function. (gtk_type_init): Call it.  Also made non-static.
3801         (gtk_type_unique): The allocation scheme for numerical ids has
3802         changed: The low 8 bits hold the appropriate GtkFundamentalType of
3803         a type, the rest is a globally unique sequence number.
3804         (gtk_type_hash): Use the sequence number of a key to hash it.
3805         (gtk_type_register_builtin): New function.
3806
3807         * gtktypeutils.h: (GtkFundamentalType): New enumeration of the
3808         fundamental types. (GTK_TYPE_MAKE, GTK_FUNDAMENTAL_TYPE,
3809         GTK_TYPE_SEQNO): New macros to work with the new id scheme.
3810         (GtkArg): Added fields for new types and renamed old ones.  GtkArg
3811         should now be a mostly opaque structure, except name and type.
3812         (GTK_VALUE_*): New macros to access the values of a GtkArg.
3813         (GTK_RETLOC_*): New macros to access the location of a return
3814         value that is contained in a GtkArg.  * gtktypebuiltins.h: New
3815         file to access the typeids of the builtin types.
3816
3817         * gtkwidget.h (GTK_TYPE_WIDGET): New macro to access the type id
3818         of the widget class.
3819
3820         Thru out: Changed GTK_ARG_* to the appropriate GTK_TYPE_*.
3821         Changed access to GtkArg structure to the appropriate GTK_VALUE_*
3822         or GTK_RETLOC_* macro.  Changed GtkArgType to GtkType.  Changed
3823         some guints to GtkType.
3824
3825         General changes in gtk/ to support interpreters:
3826
3827         * gtkradiobutton.c (gtk_radio_button_new_from_widget,
3828         gtk_radio_button_new_with_label_from_widget): New functions.
3829
3830         * gtksignal.c (gtk_signal_connect_no_marshal): New function.
3831         (struct _GtkHandler): Added no_marshal and destroy_func fields.
3832         (gtk_signal_handler_new): Initialize them.
3833         (gtk_signal_connect_by_type): Added no_marshal and destroy_func
3834         arguments.  Changed all callers.
3835         (gtk_signal_destroy): Invoke destroy_func if there is one and the
3836         global destroy func does not apply.  (gtk_handlers_run): If the
3837         handler has no_marshal set, call its function directly without
3838         going thru the signal's marshaller.
3839
3840 Wed Sep  3 09:56:22 1997  RHS Linux User  <pmattis@bjork.inktomi.com>
3841
3842         * gtkrange.c: Changed the way the range control focus was drawn so
3843         that the range control is drawn correctly when it does not have
3844         the focus.
3845
3846 Tue Sep  2 17:41:17 1997  RHS Linux User  <pmattis@bjork.inktomi.com>
3847
3848         * gtkwidget.c: 'gtk_real_widget_queue_resize' should only remove
3849         the "resize_widgets" if another resize is not pending.
3850
3851 Mon Sep  1 18:28:08 1997  Peter Mattis  <pmattis@localhost>
3852
3853         * gtkmain.c: Changed the way GDK_DELETE events are handled. Only,
3854         if 'gtk_widget_event' returns TRUE is the widget destroyed. By
3855         default, 'gtk_widget_event' will return FALSE causing the window
3856         to not be destroyed. This prevents segfaults in the GIMP and other
3857         programs that do not correctly handle GDK_DELETE events.
3858
3859         * gtkmain.c: Added modal dialog support by allowing events
3860         destined for a child of the grab widget to go to the child instead
3861         of the grab widget. (Added 'gtk_widget_is_ancestor' to determine
3862         the relationship between the grab widget and the event widget).
3863
3864         * *.[ch]: Incorprated a whole mess of patches. (Started keeping
3865         the ChangeLog up to date again).
3866
3867 Thu Jun  5 17:22:21 1997  Peter Mattis  <pmattis@localhost>
3868
3869         * gtkmenufactory.c:
3870         * gtkmenufactory.h: Added 'gtk_menu_factory_remove_*'
3871         calls. Removing entries/paths causes the associated widgets to be
3872         destroyed.
3873
3874         * gtkwidget.c:
3875         * gtkwidget.h: Calling 'gtk_widget_set_style' is used as an
3876         indication that the programmer specifically wants that style to be
3877         used. RC-style substitution is disabled for the widget after such
3878         a call.
3879
3880         * gtkpixmap.c:
3881         * gtkpixmap.h:
3882         * gtkimage.c:
3883         * gtkimage.h: Changed to use clip mask and a single pixmap (or
3884         image) to deal with transparent areas.
3885
3886         * gdkpixmap.c: Modified xpm loading routines to optionally return
3887         a clip mask.
3888
3889         * gdkgc.c:
3890         * gdkdraw.c:
3891         * gdktypes.h: Modifications to allow clip masks to be used with
3892         gc's. Clip masks are bitmaps that specify drawable regions.
3893
3894 Thu May  1 03:11:51 1997  Peter Mattis  <pmattis@localhost>
3895
3896         * gtkscrolledwindow.c: Scrolled windows need to have the
3897         GTK_NO_WINDOW flag set. Not having it set caused an obscure
3898         redrawing bug.
3899
3900 Wed Apr 30 12:38:03 1997  Peter Mattis  <pmattis@localhost>
3901
3902         * gtkhruler.c:
3903         * gtkvruler.c: Fixed a small bug that caused the indicator to be
3904         positioned slightly off.
3905
3906 Sun Apr 27 14:28:21 1997  Peter Mattis  <pmattis@localhost>
3907
3908         * gtkmenushell.c:
3909         * gtkmenushell.h:
3910         * gtkmenu.c:
3911         * gtkmenu.h: Changes so that if a menu is popped up there is a
3912         timeout period during which a menu item will not be activated and
3913         if the mouse button is released in that period the menu will stay
3914         popped up.
3915
3916         * gtkcurve.c:
3917         * gtkcurve.h: Included curve widget courtesy of David
3918         Mosberger-Tang (davidm@azstarnet.com).
3919
3920         * gtkentry.c:
3921         * gtkentry.h: Changed "insert" and "delete" signals to
3922         "insert_text" and "delete_text" respectively. (The symbol "delete"
3923         cannot be used since it is a C++ reserved word).
3924
3925 Sat Apr 19 01:43:49 1997  Peter Mattis  <pmattis@localhost>
3926
3927         * gtkmenufactory.c: A path which ends in "<nothing>" will cause an
3928         invisible (hidden) menu entry to be created. This is useful for
3929         setting an accelerator key for which a corresponding menu entry is
3930         not desired.
3931
3932         * gtktooltips.c: Fixed some problems with destruction of the
3933         active tip widget not properly updating the tooltips data
3934         structures.
3935
3936 Fri Apr 18 15:09:45 1997  Peter Mattis  <pmattis@localhost>
3937
3938         * gtkcontainer.c:
3939         * gtklist.c:
3940         * gtkwidget.c:
3941         * gtkwidget.h: Patch from Owen Taylor (owt1@cornell.edu) which
3942         fixes problems with destruction of objects and with destruction of
3943         objects which hold the focus.
3944
3945 Thu Apr 17 11:29:15 1997  Peter Mattis  <pmattis@localhost>
3946
3947         * gtkmenushell.c: Incorrect logic in
3948         'gtk_menu_shell_button_release' for deciding when a menu should
3949         stay popped up when the mouse button is released.
3950
3951         * *.c: Miscellaneous fixes from folks on the net.
3952
3953 Tue Apr 15 02:43:17 1997  Peter Mattis  <pmattis@localhost>
3954
3955         * *.c:
3956         * gtkwidget.h: Added GTK_BASIC widget flag which when set
3957         specifies a widget as "basic". A "basic" widget is one which
3958         doesn't take input events. For example, labels, pixmaps, boxes,
3959         tables, alignments, etc.
3960
3961 Sat Apr 12 15:23:08 1997  Peter Mattis  <pmattis@localhost>
3962
3963         * gtkcolorsel.c: Add "#include <math.h>" to define M_PI.
3964
3965         * gtksignal.c: Fixed a bug in 'gtk_signal_emit' which showed up
3966         because of the new cast checking macros. The 'object' was being
3967         accessed after it had been destroyed.
3968
3969         * gtkoptionmenu.c: Fixed bug with using 'GTK_BIN' instead of
3970         'GTK_BUTTON' which showed up because of the new cast checking
3971         macros.
3972
3973         * *.h: 'GTK_CHECK_CAST', 'GTK_CHECK_CLASS_CAST' and
3974         'GTK_CHECK_TYPE' used by standard widget macros everywhere.
3975
3976 Wed Apr  9 00:54:17 1997  Peter Mattis  <pmattis@localhost>
3977
3978         * docs/gtk.texi: Started further work on documentation. Major
3979         changes and additions are being made.
3980
3981         * gtkarrow.c:
3982         * gtkarrow.h: Removed function 'gtk_arrow_get'.
3983
3984         * gtkcontainer.c: 'gtk_container_check_resize' no performs
3985         additional checking to account for the case where the containers
3986         allocation is no longer sufficient because its parent (or its
3987         parents parent, etc.) needs to resize its children.
3988
3989 Tue Apr  8 21:15:50 1997  Peter Mattis  <pmattis@localhost>
3990
3991         * gtkstyle.c: Fixed a bug in 'gtk_style_init' in which the font
3992         was not ref'd (via 'gdk_font_ref'), but was free'd (via in
3993         'gdk_font_free') in 'gtk_style_destroy'. (David
3994         Mosberger-Tang). Also cleaned up 'gtk_style_destroy' while I was
3995         at it.
3996
3997         * gtkmain.c: Fixed a bug in 'gtk_propogate_event' which caused
3998         entry widgets (and probably other widgets) not to be destroyed in
3999         some instances.
4000
4001 Mon Apr  7 01:20:38 1997  Peter Mattis  <pmattis@localhost>
4002
4003         * gtkentry.c:
4004         * gtkentry.h: Changed the "insert_text", "delete_text" and
4005         "changed_text" signals to "insert", "delete", and "changed"
4006         respectively. They really should have been named this way
4007         originally except the previous signal mechanism prevented
4008         duplicate signal names. ("changed" is also used by adjustments).
4009
4010         * gtkradiomenuitem.c:
4011         * gtkradiomenuitem.h: New widget.
4012
4013         * gtkcheckmenuitem.c:
4014         * gtkcheckmenuitem.h: New widget.
4015
4016         * gtksignal.c: Modified 'gtk_signal_lookup' to require an object
4017         type to be passed as a parameter. In addition, signals are now
4018         only needed to be uniquely defined in their branch of the class
4019         hierarchy. This allows the same signal name to be used in two
4020         different branches of the class hierarchy. For instance, the
4021         "changed" signal is used both by adjustments and entries...in
4022         different ways!
4023
4024         * gtktypeutils.c: Added 'gtk_type_parent' which returns the parent
4025         type for a given type.
4026
4027 Sun Apr  6 22:08:35 1997  Peter Mattis  <pmattis@localhost>
4028
4029         * gtkwidget.c: If a widget is set insensitive it loses the focus
4030         if it had it.
4031
4032         * gtkcontainer.c: Insensitive widgets no longer participate in tab
4033         traversal.
4034
4035         * gtkscrolledwindow.c: The "viewport" child is now destroyed and a
4036         container class "foreach" function was written (which fixes the
4037         sensitivity bug).
4038
4039 Sat Apr  5 14:25:38 1997  Peter Mattis  <pmattis@localhost>
4040
4041         * gtkhscrollbar.c:
4042         * gtkvscrollbar.c: Fixed trough size allocation bug.
4043
4044         * gtkhscale.c:
4045         * gtkvscale.c: Fixed trough size allocation and position bug that
4046         showed up when scales were placed in notebooks.
4047
4048 Thu Mar 27 17:45:54 1997  David Mosberger-Tang  <davidm@azstarnet.com>
4049
4050         * gtk/gtkmain.c (gtk_handle_idle): Fix appending pending_idles to
4051         idle_functions so it works even when idle_functions is empty.
4052
4053 Sat Mar 15 14:15:59 1997  Peter Mattis  <pmattis@localhost>
4054
4055         * *.[ch]: Moved '*_class_init' and '*_init' function declarations
4056         for widgets into the source file as those functions no longer had
4057         to be public.
4058
4059         * gtkcheckbutton.c: Fixed redrawing of check button.
4060
4061         * gtkframe.c: Fixed redrawing of frame when the shadow type is
4062         changed.
4063
4064 Sat Mar  8 15:19:23 1997  Peter Mattis  <pmattis@localhost>
4065
4066         * gdkimage.c: Fixed a stupid bug with 'gdk_image_new' which
4067         potentially added a NULL image to "image_list" and caused problems
4068         when 'gdk_image_exit' was called.
4069
4070 Wed Mar  5 00:40:08 1997  Peter Mattis  <pmattis@localhost>
4071
4072         * gtkpreview.c: Massively changed the colormap handling used by
4073         the preview widget. Gray previews are now dithered. A single
4074         visual and colormap is shared by the color and gray previews. A
4075         GTK_PREVIEW_INFO property is installed on the root window in
4076         certain cases to allow multiple GTK programs to share the system
4077         colormap.
4078
4079 Sun Mar  2 05:43:06 1997  Peter Mattis  <pmattis@localhost>
4080
4081         * gtkcheckbutton.c: 'gtk_checkbutton_size_allocate' was allocating
4082         too much space to its children and not leaving the check button
4083         room for the focus border.
4084
4085         * gtknotebook.c: 'gtk_notebook_size_request' wasn't requesting
4086         enough space when the notebook tabs are visible.
4087
4088 Sat Mar  1 01:59:35 1997  Peter Mattis  <pmattis@localhost>
4089
4090         * gtkpreview.c: Fixed a problem with 'gtk_preview_put' when the
4091         image byte order is GDK_MSB_FIRST.
4092
4093         * gtksignal.c:
4094         * gtksignal.h: Added 'gtk_signal_connect_after' and
4095         'gtk_signal_connect_object_after' functions. These connect signal
4096         handlers which will run after the class function associated with
4097         the signal.
4098
4099         * gtkstyle.c: Fixed a stupid bug in 'gtk_style_new_from_key' that
4100         was causing twice as many styles to be created as necesary.
4101
4102         * gtkwidget.c: 'gtk_real_widget_size_allocate' erases the widgets
4103         old allocation if it has the GTK_NO_WINDOW flag set.
4104
4105         * gtkwidget.c: 'gtk_real_widget_unmap' now erases the widget if it
4106         has the GTK_NO_WINDOW flag set.
4107
4108         * gtklabel.c: Removed 'gtk_label_unmap' as similar functionality
4109         was added to gtk_real_widget_unmap.
4110
4111         * gtkbin.c: Modified 'gtk_bin_map' and 'gtk_bin_unmap' so that it
4112         erases and draws the widget if it has the GTK_NO_WINDOW flag set.
4113
4114         * gtkframe.c: Modified 'gtk_frame_size_allocate' so that it erases
4115         the old allocation.
4116
4117 Fri Feb 28 03:27:05 1997  Peter Mattis  <pmattis@localhost>
4118
4119         * gtkwindow.c: 'gtk_window_set_title' now changes the window title
4120         if the window is already realized.
4121
4122         * gtkentry.c: 'gtk_entry_set_text' was emitting both a
4123         "delete_text" and a "changed_text" signal. Modified so that it
4124         only emits a "changed_text" signal.
4125
4126         * gtkpreview.c: Modified to work correctly on systems with MSB
4127         byte order. The colormap for TRUE and DIRECT color displays is now
4128         created if the default visual is not equal to the visual we are
4129         using.
4130
4131         * gtkstyle.c: 'gtk_style_attach' and 'gtk_style_find' weren't
4132         working properly in the presence of multiple colormaps are
4133         different depth visuals.
4134
4135         * gtkcontainer.c: Massively improved focus traversal using tab and
4136         arrow keys. It now uses the layout of the widgets to determine
4137         where to move the focus to.
4138
4139 Mon Feb 24 03:24:02 1997  Peter Mattis  <pmattis@localhost>
4140
4141         * gtkmenufactory.c: Set the accelerator table field for menus when
4142         they are created.
4143
4144         * gtkmenu.c:
4145         * gtkmenu.h: Added a default accelerator table field to menus so
4146         that runtime modification of accelerator keys in menus can work
4147         better.
4148
4149         * gtkrange.c: 'gtk_range_default_{h,v}motion' had faulty logic for
4150         deciding what to do when the slider was at the edge of the
4151         trough. They previously didn't update the adjustment value event
4152         if the value wasn't what it should be when the slider was at the
4153         edge of the trough.
4154
4155         * gtkviewport.c: 'gtk_viewport_size_allocate' and
4156         'gtk_viewport_adjustment_value_changed' both had the potential for
4157         performing a divide by 0. Checks are now in place to prevent this.
4158
4159         * gtkmenu.c: 'gtk_menu_map' now makes sure the menu lies on screen
4160         if the position function is NULL.
4161
4162         * gtkentry.c: Modified selection handling. 'gtk_delete_selection'
4163         actually removes the X selection now. 'gtk_entry_destroy' removes
4164         the selection as well and relies on the change in "gdk.c" to make
4165         sure the selection event will not be sent to a non-existant
4166         window.
4167
4168         * gdk.c: Selection events are only passed on if the selection
4169         owner is not NULL.
4170
4171         * gtkstyle.c: 'gtk_style_detach' and 'gtk_style_destroy' were not
4172         destroying the black and white gc's.
4173
4174 Sun Feb 23 19:17:56 1997  Peter Mattis  <pmattis@localhost>
4175
4176         * gtkwindow.c: 'gtk_window_size_request' was setting the window
4177         hints. This was also being done in 'gtk_window_map', so the
4178         instance being done in 'gtk_window_size_request' was removed.
4179
4180 Fri Feb 21 01:04:01 1997  Peter Mattis  <pmattis@localhost>
4181
4182         * gtkwidget.c: 'gtk_widget_draw' has to use the widgets allocated
4183         position for the drawing rectangle when the widget has the
4184         GTK_NO_WINDOW flag set.
4185
4186         * gtkwidget.c: In 'gtk_widget_init' the visual and colormap were
4187         being directly compared against 'default_visual' and
4188         'default_colormap' instead of calling
4189         'gtk_widget_get_default_{visual,colormap}'.
4190
4191         * gdkrectangle.c: Amazing! There was a bug in the
4192         'gtk_rectangle_intersect' logic. Its been there for near eternity
4193         and I never noticed.
4194
4195         * gtkpreview.c:
4196         * gtkpreview.h: Created preview widget which allows drawing to an
4197         rgb or grayscale buffer which is automatically displayed on the
4198         screen. Performs dithering as necessary.
4199
4200 Thu Feb 20 20:33:21 1997  Peter Mattis  <pmattis@localhost>
4201
4202         * gdkwindow.c: Modified the logic in 'gdk_window_new' which
4203         determined when to add a window to the WM_COLORMAP_WINDOWS
4204         property.
4205
4206 Wed Feb 19 19:55:29 1997  Peter Mattis  <pmattis@localhost>
4207
4208         * gtkruler.c: 'gtk_ruler_make_pixmap' was always destroying the
4209         old backing store and creating a new one even when it would create
4210         a new one of exactly the same size as the old one.
4211
4212 Tue Feb 18 18:32:10 1997  Peter Mattis  <pmattis@localhost>
4213
4214         * gmem.c: 'g_mem_chunk_alloc' was incorrectly modifying the mem
4215         areas free mem field when reallocating a previously freed
4216         atom. This caused a fairly severe memory leak.
4217
4218         * gtkmenushell.c: 'gtk_menu_shell_button_release' had a bug in the
4219         logic for deciding whether to initiate an X pointer grab or not
4220         when the mouse button was released. It now only initiates a grab
4221         if the mouse is released within an active menu item.
4222
4223 Fri Feb 14 00:57:40 1997  Peter Mattis  <pmattis@localhost>
4224
4225         * gtknotebook.c: Changed the look of notebook tabs slightly.
4226
4227         * gtkentry.c:
4228         * gtkentry.h: Deleting an entry widget which is holding the X
4229         selection presents some difficulties. The X selection must be
4230         released, but the widget can't be destroyed until the
4231         SELECTION_CLEAR event is received that the X server will send in
4232         response to clearing the X selection. There are probably still
4233         bugs in the current method of entry widget deletion when the X
4234         selection is held.
4235
4236         * gtkmain.c: 'gtk_propagate_event' was not properly destroying the
4237         toplevel window when receiving a key press event.
4238
4239         * gtkwidget.c: Setting a widget insensitive did not cause it to
4240         redraw. It now does.
4241
4242 Thu Feb 13 16:59:07 1997  Peter Mattis  <pmattis@localhost>
4243
4244         * gtkviewport.c: 'gtk_viewport_size_allocate' was allocating its
4245         child widget an adjusted allocation. Since the actual scrolling
4246         has handled by a subwindow this caused the child to be double
4247         scrolled. Modified to always set the child allocations origin to
4248         (0, 0).
4249
4250 Wed Feb 12 01:06:48 1997  Peter Mattis  <pmattis@localhost>
4251
4252         * gtkentry.c: Text is now centered vertically. Previously it was
4253         pushed up against the top. This problem was only evident when the
4254         widget was allocated more vertical space than it requested.
4255
4256         * gtkfilesel.c: 'gtk_file_selection_key_press' was previously only
4257         a stub for tab completion. The actual tab completion call had been
4258         left out. (Oops!)
4259
4260 Tue Feb 11 01:43:08 1997  Peter Mattis  <pmattis@localhost>
4261
4262         * gtksignal.c: 'gtk_signal_disconnect_by_data' was going into a
4263         loop and crashing. Bad logic. Fixed.
4264
4265         * gtkmain.c: An idle function which returns FALSE will be removed
4266         from the list of idle functions. This makes the functioning of
4267         idle functions and timeouts more similar.
4268
4269         * gtkentry.c: 'gtk_entry_get_text' now returns an empty string
4270         when the actual text is NULL. This allows "stupid" programs to use
4271         the value returned by 'gtk_entry_get_text' blindly (without
4272         checking to see if its NULL).
4273
4274         * gtkradiobutton.c: Modified 'gtk_radio_button_clicked' so that
4275         'gtk_toggle_button_toggled' is called _after_ the widget state is
4276         changed.
4277
4278         * gtksignal.c:
4279         * gtksignal.h: Added 'gtk_signal_name' which returns the character
4280         string name for a given signal number.
4281
4282         * gtkwidget.c: 'gtk_widget_set_parent' checks to see if the widget
4283         is now "anchored" through the parent chain to a widget which is
4284         GTK_ANCHORED. If it is, then it changes the widgets style using
4285         'gtk_rc_get_style' and recursively performs the same operation on
4286         the widgets children. This is necessary is 'gtk_rc_get_style' only
4287         works properly on "anchored" widgets.
4288
4289         * gtkwindow.c: Modified GTK_WIN_POS logic so that it is only used
4290         immediately after the window has been shown.
4291
4292         * gtkmenu.c: 'gtk_menu_key_press'. Can now change menu item
4293         accelerator keys on the fly. Why? Why not. Cool/useless feature of
4294         the day.
4295
4296         * gtkmenuitem.c: Accelerator key drawing. Somehow that never got
4297         finished. (Oops!)
4298
4299         * gtkdrawingarea.c: 'gtk_drawing_area_size_allocate' was not
4300         actually installed during 'gtk_drawing_area_class_init'. (Oops!)
4301
4302         * gtkframe.c: 'gtk_frame_size_request' fixed size requisition
4303         problem caused by unsigned arithmetic.
4304
4305         * gtkwindow.c: Modified window widget so that it only uses the
4306         widget uposition auxiliary information immediately after it has
4307         been shown. This prevents the annoying bug which can cause a
4308         uposition'ed window to jump back to its original position after
4309         the user moves it.
4310
4311         * gtkwidget.c: Need to ref and unref style in
4312         'gtk_widget_{push,pop}_style' to make sure that a style on the
4313         style stack is not destroyed.
4314
4315         * gtktogglebutton.c: 'gtk_toggle_button_set_state' now calls
4316         gtk_button_clicked to actually change the state of the
4317         button. In this way, radio buttons can now perform the appropriate
4318         actions when the toggle button state is set.
4319
4320 Mon Feb 10 00:27:39 1997  Peter Mattis  <pmattis@localhost>
4321
4322         * gtklist.c: 'gtk_list_select_item' and 'gtk_list_unselect_item'
4323         were casting a GList* variable to a a GtkWidget* variable. Bad bad
4324         bad. (Tim Janik).
4325
4326         * gtksignal.c: Modified 'gtk_signal_connect' and
4327         'gtk_signal_connect_object' to warn when a signal type cannot be
4328         found.
4329
4330 Sun Feb  9 00:15:30 1997  Peter Mattis  <pmattis@localhost>
4331
4332         * gtkoptionmenu.c:
4333         * gtkoptionmenu.h: Changed option menus back to being derived from
4334         buttons. This fixes up some screwiness with their user
4335         interaction.
4336
4337         * gtkwindow.c: Modified key press handler to support focus
4338         traversal.
4339
4340         * gtkcontainer.c:
4341         * gtkcontainer.h: Added default focus traversal back in.
4342
4343 Sat Feb  8 10:44:38 1997  Peter Mattis  <pmattis@localhost>
4344
4345         * gtkviewport.h:
4346         * gtkviewport.c: Massively sped up viewport scrolling. Used to be
4347         reallocating child's size (offset) each time a scrollbar
4348         moved. Now a subwindow is moved. All the children are moved
4349         automatically by moving the subwindow. Much much much faster.
4350
4351 Tue Feb  4 00:20:44 1997  Peter Mattis  <pmattis@localhost>
4352
4353         * gtree.c: Changed 'g_tree_node_search' to use a loop instead of
4354         recursion.
4355
4356 Mon Feb  3 11:30:03 1997  Peter Mattis  <pmattis@localhost>
4357
4358         * gtkbutton.c: Removed 'parent_destroy' global and replaced it
4359         with 'parent_class' global to reflect style used in other
4360         widgets.
4361
4362         * gtknotebook.c: Tab labels were being allocated less than their
4363         requested size.
4364
4365         * gtkrange.c:
4366         * gtkrange.h: Moved the "digits" field of scales into the range
4367         type. The adjustment value for scales is truncated to the number
4368         of visible digits instead of being left untouched.
4369
4370         * gtree.c: Fixed a bug in the AVL tree implementation. Single
4371         rotations were always being performed during insertion. It is
4372         sometimes necessary to perform a double rotation.
4373
4374         * gtklabel.c: Modified 'gtk_label_expose' to only draw the label
4375         when the allocated space is greater than or equal to the requested
4376         space.
4377
4378         * gtklabel.c: Added call to 'gtk_widget_unmap' to
4379         'gtk_label_destroy' in order for the label to redraw correctly
4380         (erase itself) when destroyed.
4381
4382         * gtklabel.c: Added 'gtk_label_unmap' call which erases the labels
4383         allocation when it gets unmapped.
4384
4385         * *.h: Removed a few remaining instances of using "class" as a
4386         parameter name. (Causes problems for C++).
4387
4388 Fri Jan 31 12:26:50 1997  Peter Mattis  <pmattis@localhost>
4389
4390         * gtkcontainer.c: 'gtk_container_enable_resize' needs to call
4391         'gtk_container_check_resize' instead of
4392         'gtk_container_need_resize'.
4393
4394         * gtkwidget.c: 'gtk_real_widget_show' now maps the widget if its
4395         parent is mapped.
4396
4397         * gtkscrolledwindow.c: Fixed size allocation when the scrollbar
4398         policy's are GTK_POLICY_AUTOMATIC. Doing it correctly is harder
4399         than I originally thought.
4400
4401         * gtklist.c: Added 'gtk_list_child_position' to determine the
4402         integer position in a list of a child. Filled in the
4403         'gtk_list_item_select' and 'gtk_list_item_unselect' stubs.
4404
4405 Thu Jan 30 16:08:06 1997  Peter Mattis  <pmattis@localhost>
4406
4407         * gmem.c: Changed the implementation of G_ALLOC_AND_FREE mem
4408         chunks. They used to allocate SIZEOF_VOID_P extra bytes per atom
4409         in order to keep track of which mem area they were allocated
4410         from. Now the mem area is determined by searching through an AVL
4411         tree of the mem areas for a mem chunk and comparing memory
4412         locations. A little slower, but makes G_ALLOC_AND_FREE mem chunks
4413         much more attractive.
4414
4415         * gtree.c: Added an AVL tree implementation to glib.
4416
4417         * gtksignal.c:
4418         * gstring.c: va_arg (arg_list, {char, short}) is
4419         invalid. Arguments passed in a variable argument list are
4420         promoted. ({char, short}->int). Seemed to work ok before under
4421         Linux. Crashed under FreeBSD.
4422
4423 Tue Jan 28 02:27:51 1997  Peter Mattis  <pmattis@localhost>
4424
4425         * gdkwindow.c: Fixed a major slowdown apparent in the file
4426         selection dialog which was caused by calling
4427         'gtk_window_add_colormap_windows' way way way too often.
4428
4429         * *.c: Many widgets called 'gtk_container_need_resize' when
4430         something internal changed which would cause the widget to grow or
4431         shrink. The assumption was made that the widget would change size
4432         and an expose event would be generated. This happens "most" of the
4433         time. But its possible for certain widgets to change size without
4434         generating expose events, or for its internal geometry to change
4435         without a change of size which would mean no expose event was
4436         generated. So a wrapper function called
4437         'gtk_container_check_resize' was created and
4438         'gtk_container_need_resize' was modified so that it returns FALSE
4439         if a resize was actually generated and TRUE if nothing
4440         changed. This allows 'gtk_container_check_resize' to initiate a
4441         'gtk_widget_size_allocate' and 'gtk_widget_draw' to emulate the
4442         expose event.
4443
4444 Sat Jan 25 14:17:44 1997  Peter Mattis  <pmattis@localhost>
4445
4446         * gtkmain.c: Fixed a bug with propogating key press events. The
4447         events were sent 2 times to the toplevel windows which caused the
4448         focus widget to be activated twice when the space bar was pressed.
4449
4450         * */configure.in:
4451         * */Makefile.am: Added support for libtool and removed the old
4452         shared library configuration craziness.
4453
4454 Fri Jan 24 12:59:22 1997  Peter Mattis  <pmattis@localhost>
4455
4456         * gtktext.c:
4457         * gtktext.h: Josh's fixes and additions to the text widget.
4458
4459         * gtkfill.c:
4460         * gtkfill.h: Filler widget useful for filling space in a
4461         table. Can specify a minimum size. Used by the canvas widget.
4462
4463         * gtknotebook.c:
4464         * gtknotebook.h: Made outline of notebook widget.
4465
4466         * gtkcanvas.c:
4467         * gtkcanvas.h: Started canvas widget. A composite of 2 rulers (w/
4468         an origin), 2 scrolllbars. Guides, grids, snap to.
4469
4470 Sun Jan 19 18:26:45 1997  Peter Mattis  <pmattis@localhost>
4471
4472         * gtkdialog.c:
4473         * gtkdialog.h: Created dialog widget which creates a standard
4474         looking dialog with buttons along the button and a separator.
4475
4476         * gtkxid.c: Generalized the window table code for looking up a gdk
4477         window based on an XID to work for any XID and a piece of
4478         data. Can now look up gdk fonts based on their XID.
4479
4480         * gtkruler.c:
4481         * gtkruler.h:
4482         * gtkhruler.c:
4483         * gtkhruler.h:
4484         * gtkvruler.c:
4485         * gtkvruler.h: Started conversion of the ruler widget.
4486
4487         * gtktext.c:
4488         * gtktext.h: Started conversion of the text widget. Scrolling
4489         doesn't work.
4490
4491         * gtkmain.c: Fixed a fairly major bug. The event widget needs to
4492         be in a call for the entire duration of handling an event. Not
4493         just for when the event widget itself is handling the event.
4494
4495         * gtkfilesel.c: Fixed up some bugs with resizing.
4496
4497 Fri Jan 10 14:18:03 1997  Peter Mattis  <pmattis@localhost>
4498
4499         * gtkwidget.c:
4500         * gtkwidget.h:
4501         * gtkentry.c:
4502         * gtkentry.h: Support for selections.
4503
4504         * gdkselection.c:
4505         * gdk.c:
4506         * gdktypes.h:
4507         * gdk.h: Gdk support for X selections. Currently only text
4508         selections are supported.
4509
4510         * gtksignal.c: Fixed a major bug which occurred when destroying an
4511         object. Memory was being written to after it was freed.
4512
4513         * gtkfilesel.c:
4514         * gtkfilesel.h: Hooked up more functionality to the file selection
4515         dialog.
4516
4517 Wed Jan  8 18:13:53 1997  Peter Mattis  <pmattis@localhost>
4518
4519         * gtkfilesel.c:
4520         * gtkfilesel.h: Mostly converted old file selection dialog
4521         widget. The widget is derived from the GtkWindow class and is
4522         quite a bit simpler in the widget code.
4523
4524         * gtkwidget.c: Fixed 'gtk_widget_grab_focus' and
4525         'gtk_widget_grab_default' to check that the toplevel widget is a
4526         type of window (which includes classes derived from windows).
4527
4528 Tue Jan  7 01:12:32 1997  Peter Mattis  <pmattis@localhost>
4529
4530         * gtkwindow.c: Was calling 'gtk_window_resize' twice in a
4531         row...why?
4532
4533         * gtksignal.c:
4534         * gtksignal.h:
4535         * *.c: Changed 'gtk_signal_new' so that the class function that is
4536         called when the signal is emitted can be called either before,
4537         after or both before and after the calling of any signal
4538         handlers.
4539
4540         * gtkobject.c:
4541         * gtkobject.h: Added 'object_data' mechanism for storing data
4542         associated with a character string key in objects. Removed
4543         'user_data' field of objects and changed
4544         'gtk_object_{get,set}_user_data' to use the object data
4545         mechanism. Removed 'handlers' field of objects.
4546
4547         * gtkwidget.c:
4548         * gtkwidget.h:
4549         * gtkwindow.c: Modified aux info mechanism to use object data
4550         mechanism.
4551
4552         * gtksignal.c: Modified signal mechanism to use object data
4553         mechanism instead of 'handlers' field.
4554
4555
4556 Mon Jan  6 15:10:16 1997  Peter Mattis  <pmattis@localhost>
4557
4558         * gtkmenushell.c: Fixed up button press handling so as to conform
4559         more closely to that used by Motif.
4560
4561 Wed Jan  1 21:27:17 1997  Peter Mattis  <pmattis@localhost>
4562
4563         * gtkmenu.c:
4564         * gtkmenu.h:
4565         * gtkmenubar.c:
4566         * gtkmenubar.h:
4567         * gtkmenushell.c:
4568         * gtkmenushell.h: Reorganization of menu-ing code so that code
4569         duplication is reduced. The menu shell now contains most of the
4570         code for menu-ing interaction while menus and menubars simply layout
4571         their child menu items in the appropriate place.
4572
4573 Sun Dec 29 17:48:18 1996  Peter Mattis  <pmattis@localhost>
4574
4575         * gtkmenu.c:
4576         * gtkmenubar.c:
4577         * gtkmenuitem.h:
4578         * gtkmenuitem.c: Modifications so that menu item accelerators and
4579         the submenu indicator are drawn correctly and the correct amount
4580         of space is allocated.
4581
4582 Sat Dec 28 00:32:13 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
4583
4584         * gtkmenufactory.h:
4585         * gtkmenufactory.c: Started menu factories as an easy method to
4586         create and manipulate menus.
4587
4588 Fri Dec 27 13:17:34 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
4589
4590         * gtkmenu.c:
4591         * gtkmenu.h:
4592         * gtkmenubar.c:
4593         * gtkmenubar.h:
4594         * gtkmenuitem.c:
4595         * gtkmenuitem.h:
4596         * gtkmenushell.c:
4597         * gtkmenushell.h: Implemented basic menu functionality. Menubars
4598         and popup menus work. Submenus work. (Much left to be done).
4599
4600 Wed Dec 18 15:27:05 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
4601
4602         * gtktypeutils.h:
4603         * gtktypeutils.c: Added 'gtk_type_from_name' which returns a type
4604         identifier given a type name. Implemented using a second hash
4605         table keyed by type names.
4606
4607         * gtkbutton.c:
4608         * gtktogglebutton.c: Fixed very small messed-up drawing bug when a
4609         button loses its focus.
4610
4611         * gtkwidget.h:
4612         * gtkwidget.c:
4613         * gtkbutton.c:
4614         * gtkwindow.c: Added default button handling. Default buttons now
4615         draw correctly and pressing return or enter causes the default
4616         button (if one exists) to be activated.
4617
4618 Tue Dec 17 19:32:21 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
4619
4620         * gtkhscale.c:
4621         * gtkvscale.c: Overrode 'draw_slider' method of ranges in order to
4622         draw the slider of scales with a line in them so as to be closer
4623         to the Motif look-and-feel.
4624
4625         * gtkwindow.c: Modified 'gtk_window_focus_in_event' so that focus
4626         in events are only handled when the window is visible. Fixes a bug
4627         where spurious focus in events get sent when a window is being
4628         hidden.
4629
4630         * gtkwidget.h: Added 'activate_signal' field to the GtkWidgetClass
4631         structure. Added 'gtk_widget_activate' call to emit the activate
4632         signal for a widget if it is non-zero.
4633
4634 Tue Dec 10 15:59:45 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
4635
4636         * gtkwidget.c: 'gtk_widget_set_name' oops in strdup'ing the old
4637         "widget->name" instead of the new one we are setting.
4638
4639         * gtkrc.c: 'gtk_rc_widget_path' changed to use
4640         'gtk_widget_get_name' instead of accessing the "widget->name"
4641         field directly.
4642
4643         * gtkwidget.c: Added 'gtk_widget_get_name' function which returns
4644         the widgets name if it exists and the widgets type name if it does
4645         not.
4646
4647         * gtkcheckbutton.c: Added 'gtk_check_button_draw'
4648         function. Modified 'gtk_check_button_expose' to pass an expose
4649         event to child instead of callings its draw function.
4650
4651         * gtkentry.c: 'gtk_entry_draw_text' why was "+1" being added to
4652         the font->ascent to calculate the font position? This was wrong
4653         and caused some characters in fonts to be clipped. (Notably "g").
4654
4655         * gtkentry.c: 'gtk_entry_realize' specify GTK_BUTTON1_MOTION_MASK
4656         and GTK_POINTER_MOTION_HINT_MASK for _both_ windows.
4657
4658         * gtkmain.c: 'gtk_propagate_event' needs to set the GTK_IN_CALL
4659         flag for the object before calling 'gtk_widget_event' and needs to
4660         destroy the object if necessary after 'gtk_widget_event' returns.
4661
4662         * gtkradiobutton.c: 'gtk_radio_button_clicked' needs to call
4663         'gtk_toggle_button_toggled' when the currently active button is
4664         toggled.
4665
4666         * gtkwidget.c: 'gtk_real_widget_hide' needs to call
4667         'gtk_widget_unmap' if the widget is currently mapped.
4668
4669         * gtkwindow.c: Prevent automatic resizing after the user has
4670         specified a new window size. Add 'handling_resize' flag to
4671         windows.
4672
4673         * gtkscrolledwindow.c: Implement the GTK_POLICY_AUTOMATIC
4674         scrollbar policy. Need to connect to the adjustments 'changed'
4675         signal and notice when the scrollbars aren't in use.
4676
4677         * gtkcontainer.c: 'gtk_container_init' must set 'auto_resize' and
4678         'need_resize' fields to TRUE and FALSE respectively.
4679
4680         * gtkwidget.c: 'gtk_widget_set_parent' must all set a widgets state
4681         to its parents state.
4682
4683 Sun Dec  1 01:31:01 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
4684
4685         * Started ChangeLog