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