]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-8
Filling in the details.
[~andy/gtk] / ChangeLog.pre-2-8
1 Wed Dec 17 20:59:52 1997  Owen Taylor  <owt1@cornell.edu>
2         * gdk/gdkinput.c gdk/gdkinput.h gdk/gdkinputcommon.h
3           gdk/gdkinputxfree.h gdk/gdkinputgxi.h gdk/gdkinputnone.h.
4           gtk/gtkinputdialog.h gtk/testinput.c
5         Added support for device keys mapping to key events.
6         Fixed various bugs.
7
8 Wed Dec 17 20:53:00 1997  Owen Taylor  <owt1@cornell.edu>
9         * gdk/gdk.c gdk/gdk.h: Changed gdk_get_event to remove
10         predicate filtering, and to allocate the events.
11         Added gdk_event_get_graphics_expose for scroll handling.
12         * gtk/gtkmain.c gtk/gtktext.c:
13         Use above changes. Interface change for gtk_get_current_event.
14         * testgtk.c
15         Added another test to test new scrolling mechanism.s
16         * gdk/gdk.c gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: 
17         Added beginnings of event filtering. Removed obsolte
18         OtherEvent mechanism.
19         * gdk/gdk.c: Combined FocusIn/FocusOut events. Now ignore
20         focus events which aren't for window itself. (Only pay
21         attention to NotifyAncestor/Inferior/Nonlinear)
22         * gtk/gtkwindow.c gtk/gtkwindow.h: Virtualize set_focus 
23         function so it can be overridden.
24         * gtk/gtkwidget.c: Reparenting should now work for
25         containers. (Guillaume Laurent <glaurent@worldnet.fr>)
26         * gdk/gdkgc.c: By default, GraphicsExpose events are now
27         _not_ generated.
28         * gtk/testselection.c: Suppress a warning, fix a bug?
29
30 Wed Dec 17 20:47:42 1997  Owen Taylor  <owt1@cornell.edu>
31         * configure.in, glib/configure.in: 
32         Remember if user set CFLAGS, so we can set it for --enable-debug
33           only if they didn't. 
34         Added missing quotes. )Raphael.Quinet@eed.ericsson.se)
35         Only use -DX_LOCALE if setlocale doesn't work.
36         * gdk/gdki18n.h: Simplified system for trying to get iswalnum() -
37         include <wctype.h> if present, otherwise <wchar.h> if present.
38         
39 Wed Dec 17 21:09:12 1997  Owen Taylor  <owt1@cornell.edu>
40   1997-10-13  Marius Vollmer  <mvo@zagadka.ping.de>
41
42     Bug fixes:
43         
44         * gtksignal.c (gtk_params_get): Initialize the GtkArg even when
45         the return type is GTK_TYPE_NONE.
46
47     Revamped reference counting, see the file REFCOUNTING.
48
49         * Makefile.am (EXTRA_DIST): Added REFCOUNTING.
50         * REFCOUNTING: New file.
51
52         * gdk/gdk.c (received_destroy_notify, window_to_destroy): Removed.
53         (gdk_event_get): Code that deals with the above removed.
54         (gdk_event_translate): Abort when the GdkWindow for the XEvent
55         cannot be found.  For DestroyNotify: Do not use
56         receive_destroy_notify and window_to_destroy but call
57         gdk_window_destroy_notify.
58
59         * gdk/gdk.h: (gdk_pixmap_destroy, gdk_colormap_destroy,
60         gdk_fontset_free): Removed.
61         (gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
62         gdk_bitmap_unref): New prototypes.
63         (gdk_font_free, gdk_font_unref): Renamed gdk_font_free to
64         gdk_font_unref.
65
66         * gdk/gdkcolor.c (gdk_colormap_real_destroy): Made static.
67         (gdk_colormap_destroy): Removed.
68
69         * gdk/gdkfont.c (gdk_font_free): Renamed to gdk_font_unref.
70         Handle fontsets as well.
71         (gdk_fontset_free): Removed.
72
73         * gdk/gdkpixmap.c (gdk_pixmap_destroy): Removed.
74         (gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
75         gdk_bitmap_ref): New functions.
76
77         * gdk/gdkwindow.c: (gdk_window_new, gdk_window_foreign_new): Call
78         gdk_window_ref for the pointer in the xid table.
79         (gdk_window_internal_destroy): Renamed from gdk_window_destroy.
80         New parameter XDESTROY that takes the role of `destroyed==2';
81         removed special casing of `destroyed==2'.  Free dnd_data only when
82         really destroying.  Do not touch the ref_count.  Calling
83         gdk_window_destroy on a Pixmap is now a real error, not just a
84         warning.
85         (gdk_window_destroy): Just call gdk_window_internal_destroy and
86         gdk_window_unref, as advertised in REFCOUNTING.
87         (gdk_window_destroy_notify): New function.
88         (gdk_window_unref): Print a warning when the ref_count is zero and
89         the window has not been destroyed.  Should never happen.  Do not
90         destroy the window, just free the memory.
91         
92         * gdk/gdkprivate.h (gdk_window_real_destroy): Removed.
93
94         * gtk/gtkaccelerator.c (gtk_accelerator_table_destroy): Removed.
95         (gtk_accelerator_table_unref): Do the job of
96         gtk_accelerator_table_destroy directly.
97         (gtk_accelerator_table_init): Init ref_count with 1.
98
99         * gtk/gtkaccelerator.h (gtk_accelerator_table_destroy): Removed.
100
101         * gtk/gtkcurve.c, gtk/gtkgamma.c: Replaced gdk_pixmap_destroy with
102         gdk_pixmap_unref.
103
104         * gtk/gtkhscrollbar.c (gtk_hscrollbar_realize): Reflect the fact
105         that the widget->window is used as the range->trough in the
106         ref_count.
107         * gtk/gtkvscrollbar.c (gtk_vscrollbar_realize): Likewise.
108
109         * gtk/gtkmain.c (gtk_main_iteration): Protect event_widget with
110         ref/unref while handling the GDK_DELETE and GDK_DESTROY events.
111
112         * gtk/gtkmenu.c (gtk_menu_set_accelerator_table): Don't do
113         anything when the new accel_table is the old one.
114
115         * gtk/gtkmenufactory.c (gtk_menu_factory_destroy): Unref
116         factory->table if there is one.
117         (gtk_menu_factory_create, gtk_menu_factory_create_widget): Don't
118         ref newly created accel_table, it is now created with a ref_count
119         of 1.
120
121         * gtk/gtkmenuitem.c (gtk_menu_item_set_submenu):  Don't do
122         anything when the new submenu is the old one.
123
124         * gtk/gtkpixmap.c (gtk_pixmap_destroy): New static function.
125         (parent_class): New global variable.
126         (gtk_pixmap_init): Set object_class->destroy.
127         (gtk_pixmap_set): Don't do anything about the pixmap when the new
128         pixmap is the old one.  Likewise for the mask.
129
130         * gtk/gtkprogressbar.c, gtk/gtkruler.c: Replaced
131         gdk_pixmap_destroy with gdk_pixmap_unref.
132
133         * gtk/gtkrange.c (gtk_range_set_adjustment):  Don't do
134         anything when the new adjustment is the old one.
135
136         * gtk/gtkrc.c: Replaced gdk_fontset_free/gdk_font_free with
137         gdk_font_unref.
138
139         * gtk/gtkstyle.c (gtk_style_new): Initialize ref_count with 1.
140         (gtk_styles_init): Replace gtk_style_destroy with gtk_style_unref
141         for the cache.
142         (gtk_style_new_from_key): Ref style before returning it when it
143         has not been newly created.
144         (gtk_style_destroy): Don't look at the ref_count, destroy always.
145         Free style-font with gdk_font_unref, regardless of font->type.
146
147         * gtk/gtktooltips.c (gtk_tooltips_real_destroy): Renamed from
148         gtk_tooltips_destroy and made static.  Don't look at ref_count,
149         destroy always.
150         (gtk_tooltips_new): Initialize ref_count with 1.
151         (gtk_tooltips_unref): Don't look at pending_destroy, destroy
152         always when ref_count is 0.
153         (gtk_tooltios_widget_remove): Use gtk_tooltips_destroy_data
154         instead of hand-coded destruction.
155
156         * gtk/gtktooltips.h (GtkTooltips::pending_destroy): Removed.
157         (gtk_tooltips_destroy): Removed.
158
159         * gtk/gtkviewport.c (gtk_viewport_set_hadjustment,
160         gtk_viewport_set_vadjustment): Don't do anything when the new
161         adjustment is the old one.
162
163         * gtk/gtkwidget.c (gtk_widget_reparent): Protect the reparented
164         widget with ref/unref while moving it.
165         (gtk_widget_set_default_colormap): Replace gdk_colormap_destroy
166         with the proper ref/unref spell.
167         (gtk_widget_set_default_style): Don't do anything when the new
168         style is the old one.
169
170         * gtk/testinput.c (configure_event): Replaced gdk_pixmap_destroy
171         with gdk_pixmap_unref.
172         
173     More Interpreter support:
174
175         * gdk/gdktypes.h (GdkDestroyNotify): New type.
176         
177         * gdk/gdk.c (struct _GdkInput::destroy): New field.
178         (gdk_input_add_interp): New version of gdk_input_add that follows
179         the interp conventions for callbacks.
180         (gdk_input_add): Implement in terms of gdk_input_add_interp.
181         (gdk_input_remove): Call destroy notify when appropriate.
182
183         * gdk/gdk.h (gdk_input_add_interp): New prototype.
184
185         * gtk.defs: Updated from guile-gtk.
186         * gtk/gtktypebuiltins.c, gtk/gtktypebuiltins.h: Regenerated.
187         
188         * gtk/gtkmain.c (GtkInputFunction, struct _GtkInputFunction): New
189         types.
190         (gtk_invoke_input_function, gtk_destroy_input_function,
191         gtk_input_add_interp, gtk_input_remove): New functions.
192
193 Wed Dec 17 12:00:48 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
194
195         * gdk/gdkcc.c: New GdkColorContext functionality!  This should
196         eventually solve all of our color management problems.  Gdk still
197         needs to be modified to support visuals with less than 8 bpp.  Gtk
198         needs to be modified just a bit.
199
200 Wed Dec 17 13:56:17 PST 1997 Manish Singh <yosh@gimp.org>
201
202         * a small patch by Lauri Alanko that allows Gimp to pass
203         on --display to it's plugins.
204
205 Sun Dec 14 00:08:00 PST 1997 Raph Levien <raph@acm.org>
206         * a minor patch to make the file selection dialog not always
207         select the first file in a directory
208
209 Sat Dec 13 Jay Painter <jpaint@serv.net>
210         * gtk/gtkvscrollbar.c: added focus flag so vertical scrollbars
211         can get keyboard focus
212
213 Fri Dec 12 Owen Taylor <owt1@cornell.edu>
214         * Removed warning when XGetWindowProperty fails - this can
215           be the desired behavior.
216         
217 Fri Dec 12 Owen Taylor <owt1@cornell.edu>
218         * gdk/makecursor* gdk/makekeysym* gdk/Makefile.am
219           Removed old sed/awk code and replaced it with a 
220           spiffier awk-only code from Art_Haas@dril-quip.com
221         
222 Fri Dec 12 Owen Taylor <owt1@cornell.edu>
223         * gdk/gdkgc.c: If gdk_gc_set_clip_rectangle is called with
224           rectangle = NULL, remove clip mask, instead of segfaulting.
225         * gtk/gtknotebook.c: Set clip mask before redrawing, so that
226           we don't overwrite things outside of exposed areas when
227           drawing them shadows. (Based on a patch from 
228           Lars Hamann <hamann@braunschweig.netsurf.de>, and Stefan Jeske)
229         
230 Thu Dec 11 10:57:29 CST 1997 Shawn T. Amundson <amundson@gimp.org>
231         * Change to ltconfig to remove -z text for Solaris x86  
232         * Change to configure stuff so compile works on Solaris x86
233         * Added gdk/gdkkeysyms.h and gdk/gdkcursors.h back into the tree
234
235 Thu Dec 11 09:44:03 1997  Tim Janik  <timj@psynet.net>
236
237         * gdk.c: added gdk_progclass==NULL patch by Oliver Graf <ograf@fga.de>.
238
239 Wed Dec 10 23:40:03 1997  Tim Janik  <timj@psynet.net>
240
241         * fixed some compiler errors, because g_return_if_fail() wasn't used
242         with a trailing semicolon in some places. fixed few other warnings also.
243
244 Tue Dec  9 Owen Taylor <owt1@cornell.edu>
245         * configure changes: (configure.in, glib/configure.in)
246         Change test ! `...` to test -z `...`
247           (Harald Meland <Harald.Meland@usit.uio.no>)
248         Change $gtk_cv_x_locale to $need_x_locale so it isn't cached.
249         With --enable_debug, don't touch CFLAGS if they're already set.
250
251 Tue Dec  9 Owen Taylor <owt1@cornell.edu>
252         * gdk/gdkpixmap.c: don't use gdk_black/white for pixmap mask.
253          From Patrice Fortier <Patrice.Fortier@aquarel.fr>
254
255 Mon Dec  8 Owen Taylor <owt1@cornell.edu>
256         * gtk/testselection.c (selection_received): foreward -> forward.
257         * gtk/gtktext.c (gtk_text_forward_delete): Renamed; changed all
258         callers.
259         * gtk/gtktext.h: foreward -> forward.
260           From Tom Tromey  <tromey@cygnus.com>
261
262 Mon Dec  8 Owen Taylor <owt1@cornell.edu>
263         * gtk/gtkimage.c: Fixes to expose() handler
264           From Rob Browning <rlb@cs.utexas.edu>
265         
266 Mon Dec  8 21:09:43 PST 1997 Geoffrey T. Dairiki <dairiki@alumni.caltech.edu>
267         * gtk/gtklabel.h:
268         * gtk/gtklabel.c: Add support for GTK_JUSTIFY_FILL.  This support
269         is used by the new gtktooltips.c.
270         * gtk/testgtk.c (create_labels, create_main_window): A new test
271         window for labels (to test the new GTK_JUSTIFY_FILL'ed labels.)
272
273 Mon Dec  8 21:09:43 PST 1997 Geoffrey T. Dairiki <dairiki@alumni.caltech.edu>
274         * gtk/gtklabel.h:
275         * gtk/gtklabel.c: Add support for GTK_JUSTIFY_FILL.  This support
276         is used by the new gtktooltips.c.
277         * gtk/testgtk.c (create_labels, create_main_window): A new test
278         window for labels (to test the new GTK_JUSTIFY_FILL'ed labels.)
279
280 Sun Dec  7 Owen Taylor <owt1@cornell.edu>
281         * gdk/gdk.c, gdk/gdk.h, gdk/gdktypes.h: 
282           Remove dependencies of interfaces on USE_XIM
283         * gdki18n.h: Attempt to make wchar handling more portable
284         * gdkwindow.c: Include config.h. (For gdkinput.h)
285         
286 Sun Dec  7 Owen Taylor <owt1@cornell.edu>
287         * gtk/gtkentry.c, gtk/gtkentry.h: 
288            Fixed word motion
289            Added cut/copy/paste via X clipboard
290            Generalized extending selection using <Shift> to work with all types
291              of motion, not just arrow keys.
292            Don't change length of GtkEntry structure because of USE_XIM
293
294 Sun Dec  7 03:19:02 1997  Tim Janik  <timj@psynet.net>
295
296         * gtkfilesel.c: applied jamesa-971010-0 for stability.
297         * gtkrc.c: applied jamesa-971010-2 for a small optimization.
298         * gtkcheckmenuitem.h:
299         * gtkcheckmenuitem.c:
300         * gtkradiomenuitem.c:
301         * testgtk.c: applied johannes-971113-0 which adds
302         gtk_check_menu_item_set_show_toggle() to change the way check
303         menu items and radio menu items look.
304
305 Fri Dec 5 1997 Elliot Lee <sopwith@cuc.edu>
306         * gdk/gdk.c: clean up warnings, remove some un-ifdef'd debugging
307         printing, DnD is Bug Free now, etc.
308         * gtk/gtkcolorsel.c: fix DnD support.
309         * gtk/gtkmain.c: DnD events go to the original window even if
310         there is a grab - if I drop on a window the data had better go
311         to it and not some other window :)
312         * gtk/testgtk.c: Replace (GtkSignalFunc) with GTK_SIGNAL_FUNC(),
313         and do a nicer DnD demo.
314         * My very first ChangeLog entry, seeing as people have
315         a fixation on them (what's wrong with "rcs2log" output?)
316
317 Thu Dec 4 1997 Owen Taylor <owt1@cornell.edu>
318         * gdk/gdkgc.c: Ignore gdk_gc_set_font if font is a fontset.
319
320 Wed Dec 3 1997 Jay Painter <jpaint@serv.net>
321         * gtk/gtkstyle.c: fixed a problem introduced recently in 
322         gtk_style_detach witch crashed script_fu.
323
324 Wed Dec 3 1997 Owen Taylor <owt1@cornell.edu>
325         * gdk/Makefile.am: add a dependence for $(DEP_FILES) on
326         $(BUILT_SOURCES) to work around automake problem
327         
328 Wed Dec 3 1997 Owen Taylor <owt1@cornell.edu>
329         * configure.in glib/configure.in glib/glibconfig.h.in gdk/gdk.h
330         gdk/gdk18n.h gdk.c gtk/gtkentry.c: Try to handle variations in 
331         <wchar.h> headers gracefully. Do not automatically include 
332         gdk/gdki18n.h.
333         
334 Wed Dec 3 1997 Jay Painter <jpaint@serv.net>
335         * gtk/gtkoptionmenu.c: fixed a old bug where if you set a new 
336         menu for a optionmenu the widget would not get positioned correctly
337         inside of the optionmenu.
338
339 Tue Dec 2 1997 Owen Taylor <owt1@cornell.edu>
340         * gdk/gdkpixmap.c: Include unistd.h to get SEEK_END
341         for SunOS (john_johns@credence.com)
342         
343 Tue Dec 2 1997 Owen Taylor <owt1@cornell.edu>
344         * gtk+/fnmatch.c: Define _GNU_SOURCE before including
345         fnmatch.h to make sure all constants are defined.
346         (Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp>)
347         
348 Tue Dec 2 1997 Owen Taylor <owt1@cornell.edu>
349         * configure.in, glib/configure.in: Make the logic to add -Wall,
350         -ansi, -pedantic for GCC operational.
351
352 Tue Dec 2 1997 Owen Taylor <owt1@cornell.edu>
353         * glib/glib.h, glib/configure.in. Disabled gldouble, since
354         it wasn't used anywhere and caused portability problems
355
356 Tue Dec 2 1997 Owen Taylor <owt1@cornell.edu>
357         * glib/glib.h, glib/configure.in, glib/glibconfig.h.in: Added a
358         g_memmove function which is simply memmove if it exists, otherwise
359         bcopy.(Should really check if bcopy has the correct semantics, and
360         create our own memmove is necessary) 
361         * glib/gstring.c, glib/garray.c, gtk/gtktext.c:
362         memmove => g_memmove
363         
364 Sun Nov 30 1997 Jay Painter <jpaint@serv.net>
365         * gtk/gtknotebook.c: fixed a old bug where all the notebook pages
366         which were not displayed when the notebook widget was realized were
367         never size allocated when they were realized.
368
369 Thr Nov 28 1997 Jay Painter <jpaint@serv.net>
370         * gtk/gtklist.h: removed GtkSelectionMode
371         * gtk/gtkenums.h: added GtkSelectionMode
372
373 Fri Nov 28 01:26:55 1997  Tim Janik  <timj@psynet.net>
374
375         * gtk/gtkwindow.c (gtk_window_show): propagate a size_request before
376         the initial window creations (prevents windows with size of -1x-1).
377
378         * gtk/gtkmain.c (gtk_main_level): new function to determine
379         the current recursion level of gtkmain().
380         (gtk_true) (gtk_false): new functions implemented as a convenience
381         for signals that just need a handler with the appropriate return value.
382
383 Tue Nov 25 1997 Owen Taylor <owt1@cornell.edu>
384         gdk.c: Fix so that "other_events" are actually generated
385
386 Tue Nov 25 1997 Owen Taylor <owt1@cornell.edu>
387         Patches to support internationalized input by:
388           Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp>
389           TANAKA Shinya <shinya@race.u-tokyo.ac.jp>
390
391         From the README:
392         
393         Feature:
394           Followings are the main feature of this patch.
395             * support XIM protocol.
396             * GtkEntry widget support Over-The-Spot and Root style input.
397             * input style is configurable by command-line option.
398
399         Furthermore, this patch includes several changes which are useful 
400           without XIM too.
401         
402             * copy and paste with other clients by compound text.
403             * Window title can be specified by multi byte string.
404
405         configure.in: 
406           Added --with-locale and --enable-xim options
407         gdk/Makefile.am:
408         gdk/gdki18n.h [new file]
409           Multibyte string manipulation functions
410         gdk/gdk.c
411         gdk/gdk.h
412         gdk/gdkprivate.h
413           Input method and context handling functions
414           Command line options to control input methods
415           Changes to KeyPress handling to support input methods
416           Fixes to not return events for destroyed windows
417         gdk/gdkselection.c
418           Text property handling functions
419         gdk/gdkwindow.c
420           Set window title by multibyte string
421         gtk/gtkentry.c
422           Support for using an input context for XIM input.
423           Cut and paste using compound text.
424           Improvements to pasting (no longer replace the active selection
425             with itself OWT)
426         gtk/gtkselection.c
427           fix to send selection clear events to the right owner
428         gtk/testgtkrc
429           Added a default fontset that will allow international characters
430         INSTALL
431           Some rudimentary documentation about the new configuration options.
432         
433 Mon Nov 24 1997 Owen Taylor <owt1@cornell.edu>
434         gtk/gtkaspectframe.c:
435         Some minor improvements to rounding in aspectframes.
436         Make sure that child allocation is always >= 0
437         Always trigger size allocation with gtk_widget_queue_resize
438         to prevent calling size_allocate before allocation done.
439
440 Mon Nov 24 1997 Owen Taylor <owt1@cornell.edu>
441         gtk/gtkframe.c:
442         Changed tests for drawability to GTK_WIDGET_DRAWABLE
443         Always trigger size allocation with gtk_widget_queue_resize
444         to prevent calling size_allocate before allocation done.
445
446 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
447         gtk-dairiki-971117-2.patch
448         gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): When
449         computing new dimensions of the subwidget, round to nearest
450         integer rather than truncating.
451
452 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
453         gtk-dairiki-971117-1.patch
454         * gtk/gtkvruler.c (gtk_vruler_draw_ticks):
455         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): Ensure that subticks
456         always are drawn when they should be (sometimes they were getting
457         drawn with zero length --- invisible).  Also clear rectangle
458         behind text labels to ensure they don't touch or overlap ticks. 
459
460 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
461         * gtk/gtkaspectframe.c (gtk_aspect_frame_set): 
462         gtk-dairiki-971117-0.patch
463         Clear window when aspect ratio or alignment is changed.
464
465 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
466         * gtk/gtkobject.h: fixed GTK_OBJECT_NSIGNALS macro
467
468 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
469         * gtk/gtklabel.h: modified gtklabel to clip its drawing to
470         its given area, now it will always draw in the area it's 
471         been given and clip accordingly.  Note: this may cause
472         the a label to disappear on widgets which don't give their
473         child labels proper area!
474
475 Mon, 17 Nov 1997 Michael K. Johnson <johnsonm@redhat.com>
476         * gtkwidget.c: gtk_set_style_recurse was not allowing updated
477         widget names to cause new styles to be applied.
478         * gtkentry.c gtkentry.h: The entry widget now has invisible
479         attribute.  The cursor does not move to show you typing; this
480         is an intentional design decision but I'm not so attached to it
481         that I'll reverse any patches that change it...  :-)
482
483         This patch is a modified version of a patch to which I have
484         lost the attribution.  I modified it by packing the "visible"
485         flag into the structure more tightly (without damaging backwards
486         compatibility on sane systems) and by allowing entry timers
487         to run.
488
489 Mon Nov 17 1997 Jay Painter <jpaint@serv.net>
490         * gtkviewport.c: Raph's Mon, 10 Nov 1997 patch to gtk-list 
491         to fix some viewport bugs
492
493 Mon Nov 17 1997 Jay Painter <jpaint@serv.net>
494         * gtk/gtkwidget.c: gtk-ajaborsk-971016-2
495         A little patch again to prevent user to use gtk_widget_set_events()
496         when a widget is already realized.
497         In this case, the gtk_widget_set_events() doesn't work.
498
499 Mon Nov 17 1997 Jay Painter <jpaint@serv.net>
500         * gtk/gtkwindow.c: gtk-ajaborsk-971016-1
501         This small patch correct position for GTK_WIN_POS_CENTER and
502         GTK_WIN_POS_MOUSE GtkWindow positions.
503
504 Sat Nov 15 1997 Jay Painter <jpaint@serv.net>
505         * gdk/gdkgc.c: added function gdk_gc_set_clip_rectangle
506         * gdk/gdk.h: header for above
507
508 Sat Nov 15 1997 Jay Painter <jpaint@serv.net>
509         * gdk/gdkgc.c: added function gdk_gc_set_clip_rectangle
510         * gdk/gdk.h: header for above
511
512 Wed Nov 12 1997 Jay Painter <jpaint@serv.net>
513         * gdk/gdkpixmap.c: Patrice Fortier's patch for transparent pixmaps.
514         * gdk/gdk.h:
515           gdk/gdkdraw.c: Patrice Fortier's patch to add pixel draw function.
516
517 Sun Nov  9 1997 Jay Painter <jpaint@serv.net>
518         * Fixed problems with makefiles relating to the bug
519         which required glib to be installed.
520         * Fixed makefiles to incluce the xpm's in gtk+/gtk needed
521         for testgtk.
522         * Updated gtk+ and gtk+/glib to libtool-1.0f
523
524 Fri Nov  7 1997 Jay Painter <jpaint@serv.net>
525         * gtk/gtktext.c: return char_widths[ch & 0xff]; in line 2152
526
527 Thr Nov  5 1997 Jay Painter <jpaint@serv.net>
528         * gtk/testgtk.c: added drag and drop test, removed the test hack
529         from the button test
530
531 Tue Nov  4 08:28:57 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
532
533         * gtk/gtkmain.c (gtk_handle_idle): Patch from David Mosberger to
534         avoid crashes when handling idle function (this manifested itself
535         in the Umax and Microtek backends in SANE.
536
537 Sun Nov  2 07:34:56 1997  Tim Janik  <timj@psynet.net>
538
539         * gtk/gtkfilesel.c: Small fixes about a segmentation viaolation
540         cause by a double click in the directoy list (introduced by my
541         previous changes).
542         
543         * gtk/gtklist.c: Small fixes to gtk_list_add() and gtk_list_remove().
544         
545         * gtk/testgtk.c (list_add): Applied Stefan Wille's patch to make this
546         function do something ;).
547
548 Fri Oct 31 Jay Painter <jpaint@serv.net>
549         *gdk/gdk.c: reformatted DND code for GTK coding standards
550         *gdk/gdkwindow.c: changed memory allocation for DND to q_mem stuff
551
552 Thu Oct 30 Jay Painter <jpaint@serv.net>
553         * gdk/gdkwindow.c: 
554         * gdk/gdk/gdk.h:
555         * gtk/gtkwidget.h:
556         * gtk/gtkwidget.c: Applied Stephan Willie's shaped window patch
557
558         * gdk/gdkwindow: 
559         * gdk/gdk.h:
560         * gtk/gtkwidget.h:
561         * gtk/gtkwidget.c: reformatted the DND code to conform to GTK
562                 coding standards
563
564         * gtk/testgtk: massive fixes, SW's shaped window example
565
566 Thu Oct 30 07:33:27 1997  Tim Janik  <timj@psynet.net>
567
568         * gtk/gtklistitem.c (gtk_real_list_item_toggle): applied Johannes
569         Keukelaar's <johannes@nada.kth.se> patch for keyboard support in
570         GtkList widgets.
571
572         * gtk/gtkfilesel.c: adapted dir and file list selection
573         behaviour to deal with keyboard selections. this is a little
574         bit tricky: in the dir list it just changes the entrys value on a one
575         button press. but on a keyboard selection via gtk_widget_activate() it
576         does a new population (likewise on a double click) as this seems more
577         obvious.
578
579 1997-10-25  Marius Vollmer  <mvo@zagadka.ping.de>
580
581         * gdk/gdkcolor.c (gdk_colormap_get_system): Initialize
582         private->ref_count.
583
584 Wed Oct 22 09:47:43 1997  Tim Janik  <timj@psynet.net>
585
586         * gtk/gtkwindow.c (gtk_window_key_release_event): Fixed a stupid
587         bug that caused the key_release_event to be propagated twice.
588
589 Sun Oct 12 11:01:43 1997  Tim Janik  <timj@psynet.net>
590
591         * acconfig.h:
592         * configure.in:
593         * gdk/gdkimage.c: Added configure check for IPC_RMID_DEFERRED_RELEASE,
594         because shmat() fails after a shmctl(..., IPC_RMID,...) for OSF1 V3.2,
595         SunOS 4.1.1, 5.5, 5.5.1, 5.6, IRIX 5.2 and 6.2.
596
597 Mon Oct  6 11:59:07 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
598
599         * gdk/gdk.c (gdk_event_translate): In line 1693, fixed typo that
600         would cause motion notify events not to be delivered.
601
602 Sun Oct  5 18:15:06 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
603
604         * gtk/gtkrc.c (gtk_rc_parse_bg_pixmap): Changed strdup() for
605         g_strdup().
606
607 Wed Sep 24 17:16:34 1997  Peter Mattis  <pmattis@bjork.inktomi.com>
608
609         * configure.in: Fixed a stupid error in the test for libXext that
610         would cause it to fail if X_EXTRA_LIBS was not empty.
611
612         * gtk/gtkmain.h (gtk-timj-970919.patch):
613         * gtk/gtkmain.c (gtk-timj-970919.patch): new function
614         `gtk_idle_remove_by_data' to remove all idle callbacks that take a
615         specific piece of data as argument.  (gtk_get_current_event):
616         remove idles through gtk_idle_remove_by_data.
617         
618         * gtk/gtkwidget.c (gtk-timj-970919.patch):
619         (gtk_widget_destroy): remove pending idles for
620         widgets that have GTK_REDRAW_PENDING or GTK_RESIZE_PENDING and
621         GTK_ANCHORED set (only anchored widgets can have a resize queue
622         handler pending). widgets that have GTK_RESIZE_NEEDED will be removed
623         from their anchored toplevels `resize_widgets' list.
624         
625         (gtk_widget_queue_draw): let the widget remember the queue handler
626         tag (through `redraw_handler_key') for later call to `gtk_idle_remove'.
627         
628         (gtk_widget_queue_resize): let the widget remember the queue handler
629         tag (through `resize_handler_key') for later call to `gtk_idle_remove'.
630         corrected referencing the toplevel widget for which the handler is
631         pending. if a widget is added to the `resize_widgets' list of a
632         toplevel widget, GTK_RESIZE_NEEDED is set and it's referenced.
633         
634         (gtk_real_widget_queue_resize): on the deletion of the `resize_widgets'
635         list, unset GTK_RESIZE_NEEDED and unreference the removed widgets.
636         
637         * gtk/gtkwindow.c (gtk-timj-970919.patch):
638         (gtk_real_window_move_resize): move `resize_containers = NULL'
639         initialization out of if-statement.
640         while stepping through the `resize_widgets' list, unreference the
641         widgets and clear GTK_RESIZE_NEEDED. if a widget realy needs are
642         resize, they are flagged through GTK_RESIZE_NEEDED now (instead of
643         GTK_RESIZE_PENDING, as this is indicative for a pending handler).
644         added checks to provide segfaulting if a widgets parent pointer
645         is NULL (e.g. on toplevel widgets that have GTK_RESIZE_NEEDED set).
646
647 Tue Sep 23 13:23:27 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
648
649         * gdk/gdkimage.c: Applied Tim Janik's patch to mark shm segments
650         as IPC_RMID so that they are automatically removed always.
651
652         * gdk/gdkfont.c: Removed casts from lvalues.
653
654         * gtk/gtkmain.c: Removed GTK_RETLOC_*() (which do a cast) from lvalues.
655
656         * gtk/gtkaccelerator.c (gtk_accelerator_table_remove): Added
657         "const" to the accelerator_key param to be consistent with the
658         declaration in gtkaccelerator.h.  The const is not useful in this
659         case, anyway.
660
661 Tue Sep 16 13:11:06 1997  Peter Mattis  <pmattis@bjork.inktomi.com>
662
663         * gtkpreview.c: Andrew Logan Kieschnick's change to eliminate
664         round-off error when gamma is set to 1.0.
665
666         * gtkrange.c:
667         * gtkviewport.c: Jay Painter's changes to modify the way in which
668         viewports resize.
669
670         * gdkinput.c:
671         * gdkinputgxi.h:
672         * gdkinputxfree.h:
673         * gtk/Makefile.am:
674         * gtk.h:
675         * gtkeventbox.c:
676         * gtkeventbox.h: Owen Taylor's event box widget and fixes for X
677         input support (that I had broken).
678
679         * gdk.h:
680         * gdkwindow.c:
681         * gtksignal.h:
682         * gtksignal.c: Elliot Lee's changes to support Objective C. (id is
683         apparently a reserved word in Objective C).
684
685 Sun Sep 14 22:33:15 1997  Peter Mattis  <pmattis@localhost>
686
687         * gtkwidget.c (gtk_widget_queue_resize): If the toplevel container
688         is invisible we simply call "gtk_container_need_resize" on
689         it. This fixes a bug with option menus not redrawing correctly.
690
691         * gtkmenuitem.c (gtk_menu_item_enter): (gtk_menu_item_leave):
692         These functions now simply pass the event on to their parent. This
693         is necessary for menus to work properly due to the change in how
694         grabs are dealts with.
695
696         * gtkwindow.c (gtk_real_window_move_resize): Fixed a bug that
697         caused the GTK_RESIZE_PENDING flag to not be unset in some cases.
698
699 Fri Sep  5 20:49:37 1997  Marius Vollmer  <mvo@zagadka.ping.de>
700
701         Bug fixes:
702
703         * Makefile.am: Added PATCHES to EXTRA_DIST.
704         * gtk/gtkpixmap.c (gtk_pixmap_new): Move the "pixmap != NULL" test
705         after the allocation of the pixmap.
706
707         To shut up the compiler:
708
709         * gtk/gtkfilesel.c (get_pwdb): Initialize home_dir.
710         * gtk/gtkmain.c (gtk_init): Replace comments around calls to
711         g_set_*_handler with "if (0)".
712         * gtk/gtkrc.c (gtk_rc_get_token): Initialize hex_number and
713         float_number.
714         * gtk/gtkwindow.c (gtk_window_key_press_event): Initialize
715         direction.
716
717         Changes to the type system in gtk/:
718
719         * Makefile.am: Added gtktypebuiltins.h to gtkinclude_HEADERS.
720         Added gtk.defs, runelisp, gentypeinfo.el and gtktypebuiltins.c to
721         EXTRA_DIST.  Added rules to generate gtktypebuiltins.* from
722         gtk.defs.
723
724         * runelisp, gentypeinfo.el, gtk.defs: New files.
725
726         * gtkaccelerator.c, gtkaccelerator.h (gtk_accelerator_table_ref):
727         Return the table so that this function can be used as the `copy'
728         function for GTK_TYPE_BOXED values.
729         * gtkstyle.c, gtkstyle.h (gtk_style_ref): Likewise.
730
731         * gtkenums.h: Removed GtkArgType enum.
732
733         * gtkmain.c (gtk_init): Call gtk_type_init to initialize the type
734         system.
735
736         * gtkobject.c (gtk_object_init_type): New function to take over
737         for gtk_object_get_type. (gtk_object_get_type): Just return the
738         constant GTK_TYPE_OBJECT. (gtk_object_collect_args): Do the right
739         thing for the new GTK_TYPE_* types.
740         * gtksignal.c (gtk_params_get): Likewise.
741
742         * gtktypeutils.c: (gtk_type_init_builtin_types): New
743         function. (gtk_type_init): Call it.  Also made non-static.
744         (gtk_type_unique): The allocation scheme for numerical ids has
745         changed: The low 8 bits hold the appropriate GtkFundamentalType of
746         a type, the rest is a globally unique sequence number.
747         (gtk_type_hash): Use the sequence number of a key to hash it.
748         (gtk_type_register_builtin): New function.
749
750         * gtktypeutils.h: (GtkFundamentalType): New enumeration of the
751         fundamental types. (GTK_TYPE_MAKE, GTK_FUNDAMENTAL_TYPE,
752         GTK_TYPE_SEQNO): New macros to work with the new id scheme.
753         (GtkArg): Added fields for new types and renamed old ones.  GtkArg
754         should now be a mostly opaque structure, except name and type.
755         (GTK_VALUE_*): New macros to access the values of a GtkArg.
756         (GTK_RETLOC_*): New macros to access the location of a return
757         value that is contained in a GtkArg.  * gtktypebuiltins.h: New
758         file to access the typeids of the builtin types.
759
760         * gtkwidget.h (GTK_TYPE_WIDGET): New macro to access the type id
761         of the widget class.
762
763         Thru out: Changed GTK_ARG_* to the appropriate GTK_TYPE_*.
764         Changed access to GtkArg structure to the appropriate GTK_VALUE_*
765         or GTK_RETLOC_* macro.  Changed GtkArgType to GtkType.  Changed
766         some guints to GtkType.
767
768         General changes in gtk/ to support interpreters:
769
770         * gtkradiobutton.c (gtk_radio_button_new_from_widget,
771         gtk_radio_button_new_with_label_from_widget): New functions.
772
773         * gtksignal.c (gtk_signal_connect_no_marshal): New function.
774         (struct _GtkHandler): Added no_marshal and destroy_func fields.
775         (gtk_signal_handler_new): Initialize them.
776         (gtk_signal_connect_by_type): Added no_marshal and destroy_func
777         arguments.  Changed all callers.
778         (gtk_signal_destroy): Invoke destroy_func if there is one and the
779         global destroy func does not apply.  (gtk_handlers_run): If the
780         handler has no_marshal set, call its function directly without
781         going thru the signal's marshaller.
782
783 Wed Sep  3 09:56:22 1997  RHS Linux User  <pmattis@bjork.inktomi.com>
784
785         * gtkrange.c: Changed the way the range control focus was drawn so
786         that the range control is drawn correctly when it does not have
787         the focus.
788
789 Tue Sep  2 17:41:17 1997  RHS Linux User  <pmattis@bjork.inktomi.com>
790
791         * gtkwidget.c: 'gtk_real_widget_queue_resize' should only remove
792         the "resize_widgets" if another resize is not pending.
793
794 Mon Sep  1 18:28:08 1997  Peter Mattis  <pmattis@localhost>
795
796         * gtkmain.c: Changed the way GDK_DELETE events are handled. Only,
797         if 'gtk_widget_event' returns TRUE is the widget destroyed. By
798         default, 'gtk_widget_event' will return FALSE causing the window
799         to not be destroyed. This prevents segfaults in the GIMP and other
800         programs that do not correctly handle GDK_DELETE events.
801
802         * gtkmain.c: Added modal dialog support by allowing events
803         destined for a child of the grab widget to go to the child instead
804         of the grab widget. (Added 'gtk_widget_is_ancestor' to determine
805         the relationship between the grab widget and the event widget).
806
807         * *.[ch]: Incorprated a whole mess of patches. (Started keeping
808         the ChangeLog up to date again).
809
810 Thu Jun  5 17:22:21 1997  Peter Mattis  <pmattis@localhost>
811
812         * gtkmenufactory.c:
813         * gtkmenufactory.h: Added 'gtk_menu_factory_remove_*'
814         calls. Removing entries/paths causes the associated widgets to be
815         destroyed.
816
817         * gtkwidget.c:
818         * gtkwidget.h: Calling 'gtk_widget_set_style' is used as an
819         indication that the programmer specifically wants that style to be
820         used. RC-style substitution is disabled for the widget after such
821         a call.
822
823         * gtkpixmap.c:
824         * gtkpixmap.h:
825         * gtkimage.c:
826         * gtkimage.h: Changed to use clip mask and a single pixmap (or
827         image) to deal with transparent areas.
828
829         * gdkpixmap.c: Modified xpm loading routines to optionally return
830         a clip mask.
831
832         * gdkgc.c:
833         * gdkdraw.c:
834         * gdktypes.h: Modifications to allow clip masks to be used with
835         gc's. Clip masks are bitmaps that specify drawable regions.
836
837 Thu May  1 03:11:51 1997  Peter Mattis  <pmattis@localhost>
838
839         * gtkscrolledwindow.c: Scrolled windows need to have the
840         GTK_NO_WINDOW flag set. Not having it set caused an obscure
841         redrawing bug.
842
843 Wed Apr 30 12:38:03 1997  Peter Mattis  <pmattis@localhost>
844
845         * gtkhruler.c:
846         * gtkvruler.c: Fixed a small bug that caused the indicator to be
847         positioned slightly off.
848
849 Sun Apr 27 14:28:21 1997  Peter Mattis  <pmattis@localhost>
850
851         * gtkmenushell.c:
852         * gtkmenushell.h:
853         * gtkmenu.c:
854         * gtkmenu.h: Changes so that if a menu is popped up there is a
855         timeout period during which a menu item will not be activated and
856         if the mouse button is released in that period the menu will stay
857         popped up.
858
859         * gtkcurve.c:
860         * gtkcurve.h: Included curve widget courtesy of David
861         Mosberger-Tang (davidm@azstarnet.com).
862
863         * gtkentry.c:
864         * gtkentry.h: Changed "insert" and "delete" signals to
865         "insert_text" and "delete_text" respectively. (The symbol "delete"
866         cannot be used since it is a C++ reserved word).
867
868 Sat Apr 19 01:43:49 1997  Peter Mattis  <pmattis@localhost>
869
870         * gtkmenufactory.c: A path which ends in "<nothing>" will cause an
871         invisible (hidden) menu entry to be created. This is useful for
872         setting an accelerator key for which a corresponding menu entry is
873         not desired.
874
875         * gtktooltips.c: Fixed some problems with destruction of the
876         active tip widget not properly updating the tooltips data
877         structures.
878
879 Fri Apr 18 15:09:45 1997  Peter Mattis  <pmattis@localhost>
880
881         * gtkcontainer.c:
882         * gtklist.c:
883         * gtkwidget.c:
884         * gtkwidget.h: Patch from Owen Taylor (owt1@cornell.edu) which
885         fixes problems with destruction of objects and with destruction of
886         objects which hold the focus.
887
888 Thu Apr 17 11:29:15 1997  Peter Mattis  <pmattis@localhost>
889
890         * gtkmenushell.c: Incorrect logic in
891         'gtk_menu_shell_button_release' for deciding when a menu should
892         stay popped up when the mouse button is released.
893
894         * *.c: Miscellaneous fixes from folks on the net.
895
896 Tue Apr 15 02:43:17 1997  Peter Mattis  <pmattis@localhost>
897
898         * *.c:
899         * gtkwidget.h: Added GTK_BASIC widget flag which when set
900         specifies a widget as "basic". A "basic" widget is one which
901         doesn't take input events. For example, labels, pixmaps, boxes,
902         tables, alignments, etc.
903
904 Sat Apr 12 15:23:08 1997  Peter Mattis  <pmattis@localhost>
905
906         * gtkcolorsel.c: Add "#include <math.h>" to define M_PI.
907
908         * gtksignal.c: Fixed a bug in 'gtk_signal_emit' which showed up
909         because of the new cast checking macros. The 'object' was being
910         accessed after it had been destroyed.
911
912         * gtkoptionmenu.c: Fixed bug with using 'GTK_BIN' instead of
913         'GTK_BUTTON' which showed up because of the new cast checking
914         macros.
915
916         * *.h: 'GTK_CHECK_CAST', 'GTK_CHECK_CLASS_CAST' and
917         'GTK_CHECK_TYPE' used by standard widget macros everywhere.
918
919 Wed Apr  9 00:54:17 1997  Peter Mattis  <pmattis@localhost>
920
921         * docs/gtk.texi: Started further work on documentation. Major
922         changes and additions are being made.
923
924         * gtkarrow.c:
925         * gtkarrow.h: Removed function 'gtk_arrow_get'.
926
927         * gtkcontainer.c: 'gtk_container_check_resize' no performs
928         additional checking to account for the case where the containers
929         allocation is no longer sufficient because its parent (or its
930         parents parent, etc.) needs to resize its children.
931
932 Tue Apr  8 21:15:50 1997  Peter Mattis  <pmattis@localhost>
933
934         * gtkstyle.c: Fixed a bug in 'gtk_style_init' in which the font
935         was not ref'd (via 'gdk_font_ref'), but was free'd (via in
936         'gdk_font_free') in 'gtk_style_destroy'. (David
937         Mosberger-Tang). Also cleaned up 'gtk_style_destroy' while I was
938         at it.
939
940         * gtkmain.c: Fixed a bug in 'gtk_propogate_event' which caused
941         entry widgets (and probably other widgets) not to be destroyed in
942         some instances.
943
944 Mon Apr  7 01:20:38 1997  Peter Mattis  <pmattis@localhost>
945
946         * gtkentry.c:
947         * gtkentry.h: Changed the "insert_text", "delete_text" and
948         "changed_text" signals to "insert", "delete", and "changed"
949         respectively. They really should have been named this way
950         originally except the previous signal mechanism prevented
951         duplicate signal names. ("changed" is also used by adjustments).
952
953         * gtkradiomenuitem.c:
954         * gtkradiomenuitem.h: New widget.
955
956         * gtkcheckmenuitem.c:
957         * gtkcheckmenuitem.h: New widget.
958
959         * gtksignal.c: Modified 'gtk_signal_lookup' to require an object
960         type to be passed as a parameter. In addition, signals are now
961         only needed to be uniquely defined in their branch of the class
962         hierarchy. This allows the same signal name to be used in two
963         different branches of the class hierarchy. For instance, the
964         "changed" signal is used both by adjustments and entries...in
965         different ways!
966
967         * gtktypeutils.c: Added 'gtk_type_parent' which returns the parent
968         type for a given type.
969
970 Sun Apr  6 22:08:35 1997  Peter Mattis  <pmattis@localhost>
971
972         * gtkwidget.c: If a widget is set insensitive it loses the focus
973         if it had it.
974
975         * gtkcontainer.c: Insensitive widgets no longer participate in tab
976         traversal.
977
978         * gtkscrolledwindow.c: The "viewport" child is now destroyed and a
979         container class "foreach" function was written (which fixes the
980         sensitivity bug).
981
982 Sat Apr  5 14:25:38 1997  Peter Mattis  <pmattis@localhost>
983
984         * gtkhscrollbar.c:
985         * gtkvscrollbar.c: Fixed trough size allocation bug.
986
987         * gtkhscale.c:
988         * gtkvscale.c: Fixed trough size allocation and position bug that
989         showed up when scales were placed in notebooks.
990
991 Thu Mar 27 17:45:54 1997  David Mosberger-Tang  <davidm@azstarnet.com>
992
993         * gtk/gtkmain.c (gtk_handle_idle): Fix appending pending_idles to
994         idle_functions so it works even when idle_functions is empty.
995
996 Sat Mar 15 14:15:59 1997  Peter Mattis  <pmattis@localhost>
997
998         * *.[ch]: Moved '*_class_init' and '*_init' function declarations
999         for widgets into the source file as those functions no longer had
1000         to be public.
1001
1002         * gtkcheckbutton.c: Fixed redrawing of check button.
1003
1004         * gtkframe.c: Fixed redrawing of frame when the shadow type is
1005         changed.
1006
1007 Sat Mar  8 15:19:23 1997  Peter Mattis  <pmattis@localhost>
1008
1009         * gdkimage.c: Fixed a stupid bug with 'gdk_image_new' which
1010         potentially added a NULL image to "image_list" and caused problems
1011         when 'gdk_image_exit' was called.
1012
1013 Wed Mar  5 00:40:08 1997  Peter Mattis  <pmattis@localhost>
1014
1015         * gtkpreview.c: Massively changed the colormap handling used by
1016         the preview widget. Gray previews are now dithered. A single
1017         visual and colormap is shared by the color and gray previews. A
1018         GTK_PREVIEW_INFO property is installed on the root window in
1019         certain cases to allow multiple GTK programs to share the system
1020         colormap.
1021
1022 Sun Mar  2 05:43:06 1997  Peter Mattis  <pmattis@localhost>
1023
1024         * gtkcheckbutton.c: 'gtk_checkbutton_size_allocate' was allocating
1025         too much space to its children and not leaving the check button
1026         room for the focus border.
1027
1028         * gtknotebook.c: 'gtk_notebook_size_request' wasn't requesting
1029         enough space when the notebook tabs are visible.
1030
1031 Sat Mar  1 01:59:35 1997  Peter Mattis  <pmattis@localhost>
1032
1033         * gtkpreview.c: Fixed a problem with 'gtk_preview_put' when the
1034         image byte order is GDK_MSB_FIRST.
1035
1036         * gtksignal.c:
1037         * gtksignal.h: Added 'gtk_signal_connect_after' and
1038         'gtk_signal_connect_object_after' functions. These connect signal
1039         handlers which will run after the class function associated with
1040         the signal.
1041
1042         * gtkstyle.c: Fixed a stupid bug in 'gtk_style_new_from_key' that
1043         was causing twice as many styles to be created as necesary.
1044
1045         * gtkwidget.c: 'gtk_real_widget_size_allocate' erases the widgets
1046         old allocation if it has the GTK_NO_WINDOW flag set.
1047
1048         * gtkwidget.c: 'gtk_real_widget_unmap' now erases the widget if it
1049         has the GTK_NO_WINDOW flag set.
1050
1051         * gtklabel.c: Removed 'gtk_label_unmap' as similar functionality
1052         was added to gtk_real_widget_unmap.
1053
1054         * gtkbin.c: Modified 'gtk_bin_map' and 'gtk_bin_unmap' so that it
1055         erases and draws the widget if it has the GTK_NO_WINDOW flag set.
1056
1057         * gtkframe.c: Modified 'gtk_frame_size_allocate' so that it erases
1058         the old allocation.
1059
1060 Fri Feb 28 03:27:05 1997  Peter Mattis  <pmattis@localhost>
1061
1062         * gtkwindow.c: 'gtk_window_set_title' now changes the window title
1063         if the window is already realized.
1064
1065         * gtkentry.c: 'gtk_entry_set_text' was emitting both a
1066         "delete_text" and a "changed_text" signal. Modified so that it
1067         only emits a "changed_text" signal.
1068
1069         * gtkpreview.c: Modified to work correctly on systems with MSB
1070         byte order. The colormap for TRUE and DIRECT color displays is now
1071         created if the default visual is not equal to the visual we are
1072         using.
1073
1074         * gtkstyle.c: 'gtk_style_attach' and 'gtk_style_find' weren't
1075         working properly in the presence of multiple colormaps are
1076         different depth visuals.
1077
1078         * gtkcontainer.c: Massively improved focus traversal using tab and
1079         arrow keys. It now uses the layout of the widgets to determine
1080         where to move the focus to.
1081
1082 Mon Feb 24 03:24:02 1997  Peter Mattis  <pmattis@localhost>
1083
1084         * gtkmenufactory.c: Set the accelerator table field for menus when
1085         they are created.
1086
1087         * gtkmenu.c:
1088         * gtkmenu.h: Added a default accelerator table field to menus so
1089         that runtime modification of accelerator keys in menus can work
1090         better.
1091
1092         * gtkrange.c: 'gtk_range_default_{h,v}motion' had faulty logic for
1093         deciding what to do when the slider was at the edge of the
1094         trough. They previously didn't update the adjustment value event
1095         if the value wasn't what it should be when the slider was at the
1096         edge of the trough.
1097
1098         * gtkviewport.c: 'gtk_viewport_size_allocate' and
1099         'gtk_viewport_adjustment_value_changed' both had the potential for
1100         performing a divide by 0. Checks are now in place to prevent this.
1101
1102         * gtkmenu.c: 'gtk_menu_map' now makes sure the menu lies on screen
1103         if the position function is NULL.
1104
1105         * gtkentry.c: Modified selection handling. 'gtk_delete_selection'
1106         actually removes the X selection now. 'gtk_entry_destroy' removes
1107         the selection as well and relies on the change in "gdk.c" to make
1108         sure the selection event will not be sent to a non-existant
1109         window.
1110
1111         * gdk.c: Selection events are only passed on if the selection
1112         owner is not NULL.
1113
1114         * gtkstyle.c: 'gtk_style_detach' and 'gtk_style_destroy' were not
1115         destroying the black and white gc's.
1116
1117 Sun Feb 23 19:17:56 1997  Peter Mattis  <pmattis@localhost>
1118
1119         * gtkwindow.c: 'gtk_window_size_request' was setting the window
1120         hints. This was also being done in 'gtk_window_map', so the
1121         instance being done in 'gtk_window_size_request' was removed.
1122
1123 Fri Feb 21 01:04:01 1997  Peter Mattis  <pmattis@localhost>
1124
1125         * gtkwidget.c: 'gtk_widget_draw' has to use the widgets allocated
1126         position for the drawing rectangle when the widget has the
1127         GTK_NO_WINDOW flag set.
1128
1129         * gtkwidget.c: In 'gtk_widget_init' the visual and colormap were
1130         being directly compared against 'default_visual' and
1131         'default_colormap' instead of calling
1132         'gtk_widget_get_default_{visual,colormap}'.
1133
1134         * gdkrectangle.c: Amazing! There was a bug in the
1135         'gtk_rectangle_intersect' logic. Its been there for near eternity
1136         and I never noticed.
1137
1138         * gtkpreview.c:
1139         * gtkpreview.h: Created preview widget which allows drawing to an
1140         rgb or grayscale buffer which is automatically displayed on the
1141         screen. Performs dithering as necessary.
1142
1143 Thu Feb 20 20:33:21 1997  Peter Mattis  <pmattis@localhost>
1144
1145         * gdkwindow.c: Modified the logic in 'gdk_window_new' which
1146         determined when to add a window to the WM_COLORMAP_WINDOWS
1147         property.
1148
1149 Wed Feb 19 19:55:29 1997  Peter Mattis  <pmattis@localhost>
1150
1151         * gtkruler.c: 'gtk_ruler_make_pixmap' was always destroying the
1152         old backing store and creating a new one even when it would create
1153         a new one of exactly the same size as the old one.
1154
1155 Tue Feb 18 18:32:10 1997  Peter Mattis  <pmattis@localhost>
1156
1157         * gmem.c: 'g_mem_chunk_alloc' was incorrectly modifying the mem
1158         areas free mem field when reallocating a previously freed
1159         atom. This caused a fairly severe memory leak.
1160
1161         * gtkmenushell.c: 'gtk_menu_shell_button_release' had a bug in the
1162         logic for deciding whether to initiate an X pointer grab or not
1163         when the mouse button was released. It now only initiates a grab
1164         if the mouse is released within an active menu item.
1165
1166 Fri Feb 14 00:57:40 1997  Peter Mattis  <pmattis@localhost>
1167
1168         * gtknotebook.c: Changed the look of notebook tabs slightly.
1169
1170         * gtkentry.c:
1171         * gtkentry.h: Deleting an entry widget which is holding the X
1172         selection presents some difficulties. The X selection must be
1173         released, but the widget can't be destroyed until the
1174         SELECTION_CLEAR event is received that the X server will send in
1175         response to clearing the X selection. There are probably still
1176         bugs in the current method of entry widget deletion when the X
1177         selection is held.
1178
1179         * gtkmain.c: 'gtk_propagate_event' was not properly destroying the
1180         toplevel window when receiving a key press event.
1181
1182         * gtkwidget.c: Setting a widget insensitive did not cause it to
1183         redraw. It now does.
1184
1185 Thu Feb 13 16:59:07 1997  Peter Mattis  <pmattis@localhost>
1186
1187         * gtkviewport.c: 'gtk_viewport_size_allocate' was allocating its
1188         child widget an adjusted allocation. Since the actual scrolling
1189         has handled by a subwindow this caused the child to be double
1190         scrolled. Modified to always set the child allocations origin to
1191         (0, 0).
1192
1193 Wed Feb 12 01:06:48 1997  Peter Mattis  <pmattis@localhost>
1194
1195         * gtkentry.c: Text is now centered vertically. Previously it was
1196         pushed up against the top. This problem was only evident when the
1197         widget was allocated more vertical space than it requested.
1198
1199         * gtkfilesel.c: 'gtk_file_selection_key_press' was previously only
1200         a stub for tab completion. The actual tab completion call had been
1201         left out. (Oops!)
1202
1203 Tue Feb 11 01:43:08 1997  Peter Mattis  <pmattis@localhost>
1204
1205         * gtksignal.c: 'gtk_signal_disconnect_by_data' was going into a
1206         loop and crashing. Bad logic. Fixed.
1207
1208         * gtkmain.c: An idle function which returns FALSE will be removed
1209         from the list of idle functions. This makes the functioning of
1210         idle functions and timeouts more similar.
1211
1212         * gtkentry.c: 'gtk_entry_get_text' now returns an empty string
1213         when the actual text is NULL. This allows "stupid" programs to use
1214         the value returned by 'gtk_entry_get_text' blindly (without
1215         checking to see if its NULL).
1216
1217         * gtkradiobutton.c: Modified 'gtk_radio_button_clicked' so that
1218         'gtk_toggle_button_toggled' is called _after_ the widget state is
1219         changed.
1220
1221         * gtksignal.c:
1222         * gtksignal.h: Added 'gtk_signal_name' which returns the character
1223         string name for a given signal number.
1224
1225         * gtkwidget.c: 'gtk_widget_set_parent' checks to see if the widget
1226         is now "anchored" through the parent chain to a widget which is
1227         GTK_ANCHORED. If it is, then it changes the widgets style using
1228         'gtk_rc_get_style' and recursively performs the same operation on
1229         the widgets children. This is necessary is 'gtk_rc_get_style' only
1230         works properly on "anchored" widgets.
1231
1232         * gtkwindow.c: Modified GTK_WIN_POS logic so that it is only used
1233         immediately after the window has been shown.
1234
1235         * gtkmenu.c: 'gtk_menu_key_press'. Can now change menu item
1236         accelerator keys on the fly. Why? Why not. Cool/useless feature of
1237         the day.
1238
1239         * gtkmenuitem.c: Accelerator key drawing. Somehow that never got
1240         finished. (Oops!)
1241
1242         * gtkdrawingarea.c: 'gtk_drawing_area_size_allocate' was not
1243         actually installed during 'gtk_drawing_area_class_init'. (Oops!)
1244
1245         * gtkframe.c: 'gtk_frame_size_request' fixed size requisition
1246         problem caused by unsigned arithmetic.
1247
1248         * gtkwindow.c: Modified window widget so that it only uses the
1249         widget uposition auxiliary information immediately after it has
1250         been shown. This prevents the annoying bug which can cause a
1251         uposition'ed window to jump back to its original position after
1252         the user moves it.
1253
1254         * gtkwidget.c: Need to ref and unref style in
1255         'gtk_widget_{push,pop}_style' to make sure that a style on the
1256         style stack is not destroyed.
1257
1258         * gtktogglebutton.c: 'gtk_toggle_button_set_state' now calls
1259         gtk_button_clicked to actually change the state of the
1260         button. In this way, radio buttons can now perform the appropriate
1261         actions when the toggle button state is set.
1262
1263 Mon Feb 10 00:27:39 1997  Peter Mattis  <pmattis@localhost>
1264
1265         * gtklist.c: 'gtk_list_select_item' and 'gtk_list_unselect_item'
1266         were casting a GList* variable to a a GtkWidget* variable. Bad bad
1267         bad. (Tim Janik).
1268
1269         * gtksignal.c: Modified 'gtk_signal_connect' and
1270         'gtk_signal_connect_object' to warn when a signal type cannot be
1271         found.
1272
1273 Sun Feb  9 00:15:30 1997  Peter Mattis  <pmattis@localhost>
1274
1275         * gtkoptionmenu.c:
1276         * gtkoptionmenu.h: Changed option menus back to being derived from
1277         buttons. This fixes up some screwiness with their user
1278         interaction.
1279
1280         * gtkwindow.c: Modified key press handler to support focus
1281         traversal.
1282
1283         * gtkcontainer.c:
1284         * gtkcontainer.h: Added default focus traversal back in.
1285
1286 Sat Feb  8 10:44:38 1997  Peter Mattis  <pmattis@localhost>
1287
1288         * gtkviewport.h:
1289         * gtkviewport.c: Massively sped up viewport scrolling. Used to be
1290         reallocating child's size (offset) each time a scrollbar
1291         moved. Now a subwindow is moved. All the children are moved
1292         automatically by moving the subwindow. Much much much faster.
1293
1294 Tue Feb  4 00:20:44 1997  Peter Mattis  <pmattis@localhost>
1295
1296         * gtree.c: Changed 'g_tree_node_search' to use a loop instead of
1297         recursion.
1298
1299 Mon Feb  3 11:30:03 1997  Peter Mattis  <pmattis@localhost>
1300
1301         * gtkbutton.c: Removed 'parent_destroy' global and replaced it
1302         with 'parent_class' global to reflect style used in other
1303         widgets.
1304
1305         * gtknotebook.c: Tab labels were being allocated less than their
1306         requested size.
1307
1308         * gtkrange.c:
1309         * gtkrange.h: Moved the "digits" field of scales into the range
1310         type. The adjustment value for scales is truncated to the number
1311         of visible digits instead of being left untouched.
1312
1313         * gtree.c: Fixed a bug in the AVL tree implementation. Single
1314         rotations were always being performed during insertion. It is
1315         sometimes necessary to perform a double rotation.
1316
1317         * gtklabel.c: Modified 'gtk_label_expose' to only draw the label
1318         when the allocated space is greater than or equal to the requested
1319         space.
1320
1321         * gtklabel.c: Added call to 'gtk_widget_unmap' to
1322         'gtk_label_destroy' in order for the label to redraw correctly
1323         (erase itself) when destroyed.
1324
1325         * gtklabel.c: Added 'gtk_label_unmap' call which erases the labels
1326         allocation when it gets unmapped.
1327
1328         * *.h: Removed a few remaining instances of using "class" as a
1329         parameter name. (Causes problems for C++).
1330
1331 Fri Jan 31 12:26:50 1997  Peter Mattis  <pmattis@localhost>
1332
1333         * gtkcontainer.c: 'gtk_container_enable_resize' needs to call
1334         'gtk_container_check_resize' instead of
1335         'gtk_container_need_resize'.
1336
1337         * gtkwidget.c: 'gtk_real_widget_show' now maps the widget if its
1338         parent is mapped.
1339
1340         * gtkscrolledwindow.c: Fixed size allocation when the scrollbar
1341         policy's are GTK_POLICY_AUTOMATIC. Doing it correctly is harder
1342         than I originally thought.
1343
1344         * gtklist.c: Added 'gtk_list_child_position' to determine the
1345         integer position in a list of a child. Filled in the
1346         'gtk_list_item_select' and 'gtk_list_item_unselect' stubs.
1347
1348 Thu Jan 30 16:08:06 1997  Peter Mattis  <pmattis@localhost>
1349
1350         * gmem.c: Changed the implementation of G_ALLOC_AND_FREE mem
1351         chunks. They used to allocate SIZEOF_VOID_P extra bytes per atom
1352         in order to keep track of which mem area they were allocated
1353         from. Now the mem area is determined by searching through an AVL
1354         tree of the mem areas for a mem chunk and comparing memory
1355         locations. A little slower, but makes G_ALLOC_AND_FREE mem chunks
1356         much more attractive.
1357
1358         * gtree.c: Added an AVL tree implementation to glib.
1359
1360         * gtksignal.c:
1361         * gstring.c: va_arg (arg_list, {char, short}) is
1362         invalid. Arguments passed in a variable argument list are
1363         promoted. ({char, short}->int). Seemed to work ok before under
1364         Linux. Crashed under FreeBSD.
1365
1366 Tue Jan 28 02:27:51 1997  Peter Mattis  <pmattis@localhost>
1367
1368         * gdkwindow.c: Fixed a major slowdown apparent in the file
1369         selection dialog which was caused by calling
1370         'gtk_window_add_colormap_windows' way way way too often.
1371
1372         * *.c: Many widgets called 'gtk_container_need_resize' when
1373         something internal changed which would cause the widget to grow or
1374         shrink. The assumption was made that the widget would change size
1375         and an expose event would be generated. This happens "most" of the
1376         time. But its possible for certain widgets to change size without
1377         generating expose events, or for its internal geometry to change
1378         without a change of size which would mean no expose event was
1379         generated. So a wrapper function called
1380         'gtk_container_check_resize' was created and
1381         'gtk_container_need_resize' was modified so that it returns FALSE
1382         if a resize was actually generated and TRUE if nothing
1383         changed. This allows 'gtk_container_check_resize' to initiate a
1384         'gtk_widget_size_allocate' and 'gtk_widget_draw' to emulate the
1385         expose event.
1386
1387 Sat Jan 25 14:17:44 1997  Peter Mattis  <pmattis@localhost>
1388
1389         * gtkmain.c: Fixed a bug with propogating key press events. The
1390         events were sent 2 times to the toplevel windows which caused the
1391         focus widget to be activated twice when the space bar was pressed.
1392
1393         * */configure.in:
1394         * */Makefile.am: Added support for libtool and removed the old
1395         shared library configuration craziness.
1396
1397 Fri Jan 24 12:59:22 1997  Peter Mattis  <pmattis@localhost>
1398
1399         * gtktext.c:
1400         * gtktext.h: Josh's fixes and additions to the text widget.
1401
1402         * gtkfill.c:
1403         * gtkfill.h: Filler widget useful for filling space in a
1404         table. Can specify a minimum size. Used by the canvas widget.
1405
1406         * gtknotebook.c:
1407         * gtknotebook.h: Made outline of notebook widget.
1408
1409         * gtkcanvas.c:
1410         * gtkcanvas.h: Started canvas widget. A composite of 2 rulers (w/
1411         an origin), 2 scrolllbars. Guides, grids, snap to.
1412
1413 Sun Jan 19 18:26:45 1997  Peter Mattis  <pmattis@localhost>
1414
1415         * gtkdialog.c:
1416         * gtkdialog.h: Created dialog widget which creates a standard
1417         looking dialog with buttons along the button and a separator.
1418
1419         * gtkxid.c: Generalized the window table code for looking up a gdk
1420         window based on an XID to work for any XID and a piece of
1421         data. Can now look up gdk fonts based on their XID.
1422
1423         * gtkruler.c:
1424         * gtkruler.h:
1425         * gtkhruler.c:
1426         * gtkhruler.h:
1427         * gtkvruler.c:
1428         * gtkvruler.h: Started conversion of the ruler widget.
1429
1430         * gtktext.c:
1431         * gtktext.h: Started conversion of the text widget. Scrolling
1432         doesn't work.
1433
1434         * gtkmain.c: Fixed a fairly major bug. The event widget needs to
1435         be in a call for the entire duration of handling an event. Not
1436         just for when the event widget itself is handling the event.
1437
1438         * gtkfilesel.c: Fixed up some bugs with resizing.
1439
1440 Fri Jan 10 14:18:03 1997  Peter Mattis  <pmattis@localhost>
1441
1442         * gtkwidget.c:
1443         * gtkwidget.h:
1444         * gtkentry.c:
1445         * gtkentry.h: Support for selections.
1446
1447         * gdkselection.c:
1448         * gdk.c:
1449         * gdktypes.h:
1450         * gdk.h: Gdk support for X selections. Currently only text
1451         selections are supported.
1452
1453         * gtksignal.c: Fixed a major bug which occurred when destroying an
1454         object. Memory was being written to after it was freed.
1455
1456         * gtkfilesel.c:
1457         * gtkfilesel.h: Hooked up more functionality to the file selection
1458         dialog.
1459
1460 Wed Jan  8 18:13:53 1997  Peter Mattis  <pmattis@localhost>
1461
1462         * gtkfilesel.c:
1463         * gtkfilesel.h: Mostly converted old file selection dialog
1464         widget. The widget is derived from the GtkWindow class and is
1465         quite a bit simpler in the widget code.
1466
1467         * gtkwidget.c: Fixed 'gtk_widget_grab_focus' and
1468         'gtk_widget_grab_default' to check that the toplevel widget is a
1469         type of window (which includes classes derived from windows).
1470
1471 Tue Jan  7 01:12:32 1997  Peter Mattis  <pmattis@localhost>
1472
1473         * gtkwindow.c: Was calling 'gtk_window_resize' twice in a
1474         row...why?
1475
1476         * gtksignal.c:
1477         * gtksignal.h:
1478         * *.c: Changed 'gtk_signal_new' so that the class function that is
1479         called when the signal is emitted can be called either before,
1480         after or both before and after the calling of any signal
1481         handlers.
1482
1483         * gtkobject.c:
1484         * gtkobject.h: Added 'object_data' mechanism for storing data
1485         associated with a character string key in objects. Removed
1486         'user_data' field of objects and changed
1487         'gtk_object_{get,set}_user_data' to use the object data
1488         mechanism. Removed 'handlers' field of objects.
1489
1490         * gtkwidget.c:
1491         * gtkwidget.h:
1492         * gtkwindow.c: Modified aux info mechanism to use object data
1493         mechanism.
1494
1495         * gtksignal.c: Modified signal mechanism to use object data
1496         mechanism instead of 'handlers' field.
1497
1498
1499 Mon Jan  6 15:10:16 1997  Peter Mattis  <pmattis@localhost>
1500
1501         * gtkmenushell.c: Fixed up button press handling so as to conform
1502         more closely to that used by Motif.
1503
1504 Wed Jan  1 21:27:17 1997  Peter Mattis  <pmattis@localhost>
1505
1506         * gtkmenu.c:
1507         * gtkmenu.h:
1508         * gtkmenubar.c:
1509         * gtkmenubar.h:
1510         * gtkmenushell.c:
1511         * gtkmenushell.h: Reorganization of menu-ing code so that code
1512         duplication is reduced. The menu shell now contains most of the
1513         code for menu-ing interaction while menus and menubars simply layout
1514         their child menu items in the appropriate place.
1515
1516 Sun Dec 29 17:48:18 1996  Peter Mattis  <pmattis@localhost>
1517
1518         * gtkmenu.c:
1519         * gtkmenubar.c:
1520         * gtkmenuitem.h:
1521         * gtkmenuitem.c: Modifications so that menu item accelerators and
1522         the submenu indicator are drawn correctly and the correct amount
1523         of space is allocated.
1524
1525 Sat Dec 28 00:32:13 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
1526
1527         * gtkmenufactory.h:
1528         * gtkmenufactory.c: Started menu factories as an easy method to
1529         create and manipulate menus.
1530
1531 Fri Dec 27 13:17:34 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
1532
1533         * gtkmenu.c:
1534         * gtkmenu.h:
1535         * gtkmenubar.c:
1536         * gtkmenubar.h:
1537         * gtkmenuitem.c:
1538         * gtkmenuitem.h:
1539         * gtkmenushell.c:
1540         * gtkmenushell.h: Implemented basic menu functionality. Menubars
1541         and popup menus work. Submenus work. (Much left to be done).
1542
1543 Wed Dec 18 15:27:05 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
1544
1545         * gtktypeutils.h:
1546         * gtktypeutils.c: Added 'gtk_type_from_name' which returns a type
1547         identifier given a type name. Implemented using a second hash
1548         table keyed by type names.
1549
1550         * gtkbutton.c:
1551         * gtktogglebutton.c: Fixed very small messed-up drawing bug when a
1552         button loses its focus.
1553
1554         * gtkwidget.h:
1555         * gtkwidget.c:
1556         * gtkbutton.c:
1557         * gtkwindow.c: Added default button handling. Default buttons now
1558         draw correctly and pressing return or enter causes the default
1559         button (if one exists) to be activated.
1560
1561 Tue Dec 17 19:32:21 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
1562
1563         * gtkhscale.c:
1564         * gtkvscale.c: Overrode 'draw_slider' method of ranges in order to
1565         draw the slider of scales with a line in them so as to be closer
1566         to the Motif look-and-feel.
1567
1568         * gtkwindow.c: Modified 'gtk_window_focus_in_event' so that focus
1569         in events are only handled when the window is visible. Fixes a bug
1570         where spurious focus in events get sent when a window is being
1571         hidden.
1572
1573         * gtkwidget.h: Added 'activate_signal' field to the GtkWidgetClass
1574         structure. Added 'gtk_widget_activate' call to emit the activate
1575         signal for a widget if it is non-zero.
1576
1577 Tue Dec 10 15:59:45 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
1578
1579         * gtkwidget.c: 'gtk_widget_set_name' oops in strdup'ing the old
1580         "widget->name" instead of the new one we are setting.
1581
1582         * gtkrc.c: 'gtk_rc_widget_path' changed to use
1583         'gtk_widget_get_name' instead of accessing the "widget->name"
1584         field directly.
1585
1586         * gtkwidget.c: Added 'gtk_widget_get_name' function which returns
1587         the widgets name if it exists and the widgets type name if it does
1588         not.
1589
1590         * gtkcheckbutton.c: Added 'gtk_check_button_draw'
1591         function. Modified 'gtk_check_button_expose' to pass an expose
1592         event to child instead of callings its draw function.
1593
1594         * gtkentry.c: 'gtk_entry_draw_text' why was "+1" being added to
1595         the font->ascent to calculate the font position? This was wrong
1596         and caused some characters in fonts to be clipped. (Notably "g").
1597
1598         * gtkentry.c: 'gtk_entry_realize' specify GTK_BUTTON1_MOTION_MASK
1599         and GTK_POINTER_MOTION_HINT_MASK for _both_ windows.
1600
1601         * gtkmain.c: 'gtk_propagate_event' needs to set the GTK_IN_CALL
1602         flag for the object before calling 'gtk_widget_event' and needs to
1603         destroy the object if necessary after 'gtk_widget_event' returns.
1604
1605         * gtkradiobutton.c: 'gtk_radio_button_clicked' needs to call
1606         'gtk_toggle_button_toggled' when the currently active button is
1607         toggled.
1608
1609         * gtkwidget.c: 'gtk_real_widget_hide' needs to call
1610         'gtk_widget_unmap' if the widget is currently mapped.
1611
1612         * gtkwindow.c: Prevent automatic resizing after the user has
1613         specified a new window size. Add 'handling_resize' flag to
1614         windows.
1615
1616         * gtkscrolledwindow.c: Implement the GTK_POLICY_AUTOMATIC
1617         scrollbar policy. Need to connect to the adjustments 'changed'
1618         signal and notice when the scrollbars aren't in use.
1619
1620         * gtkcontainer.c: 'gtk_container_init' must set 'auto_resize' and
1621         'need_resize' fields to TRUE and FALSE respectively.
1622
1623         * gtkwidget.c: 'gtk_widget_set_parent' must all set a widgets state
1624         to its parents state.
1625
1626 Sun Dec  1 01:31:01 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
1627
1628         * Started ChangeLog