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