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