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