]> Pileus Git - ~andy/gtk/blob - ChangeLog
Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
[~andy/gtk] / ChangeLog
1 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
2         gtk-dairiki-971117-2.patch
3         gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): When
4         computing new dimensions of the subwidget, round to nearest
5         integer rather than truncating.
6
7 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
8         gtk-dairiki-971117-1.patch
9         * gtk/gtkvruler.c (gtk_vruler_draw_ticks):
10         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): Ensure that subticks
11         always are drawn when they should be (sometimes they were getting
12         drawn with zero length --- invisible).  Also clear rectangle
13         behind text labels to ensure they don't touch or overlap ticks. 
14
15 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
16         * gtk/gtkaspectframe.c (gtk_aspect_frame_set): 
17         gtk-dairiki-971117-0.patch
18         Clear window when aspect ratio or alignment is changed.
19
20 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
21         * gtk/gtkobject.h: fixed GTK_OBJECT_NSIGNALS macro
22
23 Mon Nov 24 1997 Jay Painter <jpaint@serv.net>
24         * gtk/gtklabel.h: modified gtklabel to clip its drawing to
25         its given area, now it will always draw in the area it's 
26         been given and clip accordingly.  Note: this may cause
27         the a label to disappear on widgets which don't give their
28         child labels proper area!
29
30 Mon Nov 17 1997 Jay Painter <jpaint@serv.net>
31         * gtkviewport.c: Raph's Mon, 10 Nov 1997 patch to gtk-list 
32         to fix some viewport bugs
33
34 Mon Nov 17 1997 Jay Painter <jpaint@serv.net>
35         * gtk/gtkwidget.c: gtk-ajaborsk-971016-2
36         A little patch again to prevent user to use gtk_widget_set_events()
37         when a widget is already realized.
38         In this case, the gtk_widget_set_events() doesn't work.
39
40 Mon Nov 17 1997 Jay Painter <jpaint@serv.net>
41         * gtk/gtkwindow.c: gtk-ajaborsk-971016-1
42         This small patch correct position for GTK_WIN_POS_CENTER and
43         GTK_WIN_POS_MOUSE GtkWindow positions.
44
45 Sat Nov 15 1997 Jay Painter <jpaint@serv.net>
46         * gdk/gdkgc.c: added function gdk_gc_set_clip_rectangle
47         * gdk/gdk.h: header for above
48
49 Sat Nov 15 1997 Jay Painter <jpaint@serv.net>
50         * gdk/gdkgc.c: added function gdk_gc_set_clip_rectangle
51         * gdk/gdk.h: header for above
52
53 Wed Nov 12 1997 Jay Painter <jpaint@serv.net>
54         * gdk/gdkpixmap.c: Patrice Fortier's patch for transparent pixmaps.
55         * gdk/gdk.h:
56           gdk/gdkdraw.c: Patrice Fortier's patch to add pixel draw function.
57
58 Sun Nov  9 1997 Jay Painter <jpaint@serv.net>
59         * Fixed problems with makefiles relating to the bug
60         which required glib to be installed.
61         * Fixed makefiles to incluce the xpm's in gtk+/gtk needed
62         for testgtk.
63         * Updated gtk+ and gtk+/glib to libtool-1.0f
64
65 Fri Nov  7 1997 Jay Painter <jpaint@serv.net>
66         * gtk/gtktext.c: return char_widths[ch & 0xff]; in line 2152
67
68 Thr Nov  5 1997 Jay Painter <jpaint@serv.net>
69         * gtk/testgtk.c: added drag and drop test, removed the test hack
70         from the button test
71
72 Tue Nov  4 08:28:57 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
73
74         * gtk/gtkmain.c (gtk_handle_idle): Patch from David Mosberger to
75         avoid crashes when handling idle function (this manifested itself
76         in the Umax and Microtek backends in SANE.
77
78 Sun Nov  2 07:34:56 1997  Tim Janik  <timj@psynet.net>
79
80         * gtk/gtkfilesel.c: Small fixes about a segmentation viaolation
81         cause by a double click in the directoy list (introduced by my
82         previous changes).
83         
84         * gtk/gtklist.c: Small fixes to gtk_list_add() and gtk_list_remove().
85         
86         * gtk/testgtk.c (list_add): Applied Stefan Wille's patch to make this
87         function do something ;).
88
89 Fri Oct 31 Jay Painter <jpaint@serv.net>
90         *gdk/gdk.c: reformatted DND code for GTK coding standards
91         *gdk/gdkwindow.c: changed memory allocation for DND to q_mem stuff
92
93 Thu Oct 30 Jay Painter <jpaint@serv.net>
94         * gdk/gdkwindow.c: 
95         * gdk/gdk/gdk.h:
96         * gtk/gtkwidget.h:
97         * gtk/gtkwidget.c: Applied Stephan Willie's shaped window patch
98
99         * gdk/gdkwindow: 
100         * gdk/gdk.h:
101         * gtk/gtkwidget.h:
102         * gtk/gtkwidget.c: reformatted the DND code to conform to GTK
103                 coding standards
104
105         * gtk/testgtk: massive fixes, SW's shaped window example
106
107 Thu Oct 30 07:33:27 1997  Tim Janik  <timj@psynet.net>
108
109         * gtk/gtklistitem.c (gtk_real_list_item_toggle): applied Johannes
110         Keukelaar's <johannes@nada.kth.se> patch for keyboard support in
111         GtkList widgets.
112
113         * gtk/gtkfilesel.c: adapted dir and file list selection
114         behaviour to deal with keyboard selections. this is a little
115         bit tricky: in the dir list it just changes the entrys value on a one
116         button press. but on a keyboard selection via gtk_widget_activate() it
117         does a new population (likewise on a double click) as this seems more
118         obvious.
119
120 1997-10-25  Marius Vollmer  <mvo@zagadka.ping.de>
121
122         * gdk/gdkcolor.c (gdk_colormap_get_system): Initialize
123         private->ref_count.
124
125 Wed Oct 22 09:47:43 1997  Tim Janik  <timj@psynet.net>
126
127         * gtk/gtkwindow.c (gtk_window_key_release_event): Fixed a stupid
128         bug that caused the key_release_event to be propagated twice.
129
130 Sun Oct 12 11:01:43 1997  Tim Janik  <timj@psynet.net>
131
132         * acconfig.h:
133         * configure.in:
134         * gdk/gdkimage.c: Added configure check for IPC_RMID_DEFERRED_RELEASE,
135         because shmat() fails after a shmctl(..., IPC_RMID,...) for OSF1 V3.2,
136         SunOS 4.1.1, 5.5, 5.5.1, 5.6, IRIX 5.2 and 6.2.
137
138 Mon Oct  6 11:59:07 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
139
140         * gdk/gdk.c (gdk_event_translate): In line 1693, fixed typo that
141         would cause motion notify events not to be delivered.
142
143 Sun Oct  5 18:15:06 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
144
145         * gtk/gtkrc.c (gtk_rc_parse_bg_pixmap): Changed strdup() for
146         g_strdup().
147
148 Wed Sep 24 17:16:34 1997  Peter Mattis  <pmattis@bjork.inktomi.com>
149
150         * configure.in: Fixed a stupid error in the test for libXext that
151         would cause it to fail if X_EXTRA_LIBS was not empty.
152
153         * gtk/gtkmain.h (gtk-timj-970919.patch):
154         * gtk/gtkmain.c (gtk-timj-970919.patch): new function
155         `gtk_idle_remove_by_data' to remove all idle callbacks that take a
156         specific piece of data as argument.  (gtk_get_current_event):
157         remove idles through gtk_idle_remove_by_data.
158         
159         * gtk/gtkwidget.c (gtk-timj-970919.patch):
160         (gtk_widget_destroy): remove pending idles for
161         widgets that have GTK_REDRAW_PENDING or GTK_RESIZE_PENDING and
162         GTK_ANCHORED set (only anchored widgets can have a resize queue
163         handler pending). widgets that have GTK_RESIZE_NEEDED will be removed
164         from their anchored toplevels `resize_widgets' list.
165         
166         (gtk_widget_queue_draw): let the widget remember the queue handler
167         tag (through `redraw_handler_key') for later call to `gtk_idle_remove'.
168         
169         (gtk_widget_queue_resize): let the widget remember the queue handler
170         tag (through `resize_handler_key') for later call to `gtk_idle_remove'.
171         corrected referencing the toplevel widget for which the handler is
172         pending. if a widget is added to the `resize_widgets' list of a
173         toplevel widget, GTK_RESIZE_NEEDED is set and it's referenced.
174         
175         (gtk_real_widget_queue_resize): on the deletion of the `resize_widgets'
176         list, unset GTK_RESIZE_NEEDED and unreference the removed widgets.
177         
178         * gtk/gtkwindow.c (gtk-timj-970919.patch):
179         (gtk_real_window_move_resize): move `resize_containers = NULL'
180         initialization out of if-statement.
181         while stepping through the `resize_widgets' list, unreference the
182         widgets and clear GTK_RESIZE_NEEDED. if a widget realy needs are
183         resize, they are flagged through GTK_RESIZE_NEEDED now (instead of
184         GTK_RESIZE_PENDING, as this is indicative for a pending handler).
185         added checks to provide segfaulting if a widgets parent pointer
186         is NULL (e.g. on toplevel widgets that have GTK_RESIZE_NEEDED set).
187
188 Tue Sep 23 13:23:27 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
189
190         * gdk/gdkimage.c: Applied Tim Janik's patch to mark shm segments
191         as IPC_RMID so that they are automatically removed always.
192
193         * gdk/gdkfont.c: Removed casts from lvalues.
194
195         * gtk/gtkmain.c: Removed GTK_RETLOC_*() (which do a cast) from lvalues.
196
197         * gtk/gtkaccelerator.c (gtk_accelerator_table_remove): Added
198         "const" to the accelerator_key param to be consistent with the
199         declaration in gtkaccelerator.h.  The const is not useful in this
200         case, anyway.
201
202 Tue Sep 16 13:11:06 1997  Peter Mattis  <pmattis@bjork.inktomi.com>
203
204         * gtkpreview.c: Andrew Logan Kieschnick's change to eliminate
205         round-off error when gamma is set to 1.0.
206
207         * gtkrange.c:
208         * gtkviewport.c: Jay Painter's changes to modify the way in which
209         viewports resize.
210
211         * gdkinput.c:
212         * gdkinputgxi.h:
213         * gdkinputxfree.h:
214         * gtk/Makefile.am:
215         * gtk.h:
216         * gtkeventbox.c:
217         * gtkeventbox.h: Owen Taylor's event box widget and fixes for X
218         input support (that I had broken).
219
220         * gdk.h:
221         * gdkwindow.c:
222         * gtksignal.h:
223         * gtksignal.c: Elliot Lee's changes to support Objective C. (id is
224         apparently a reserved word in Objective C).
225
226 Sun Sep 14 22:33:15 1997  Peter Mattis  <pmattis@localhost>
227
228         * gtkwidget.c (gtk_widget_queue_resize): If the toplevel container
229         is invisible we simply call "gtk_container_need_resize" on
230         it. This fixes a bug with option menus not redrawing correctly.
231
232         * gtkmenuitem.c (gtk_menu_item_enter): (gtk_menu_item_leave):
233         These functions now simply pass the event on to their parent. This
234         is necessary for menus to work properly due to the change in how
235         grabs are dealts with.
236
237         * gtkwindow.c (gtk_real_window_move_resize): Fixed a bug that
238         caused the GTK_RESIZE_PENDING flag to not be unset in some cases.
239
240 Fri Sep  5 20:49:37 1997  Marius Vollmer  <mvo@zagadka.ping.de>
241
242         Bug fixes:
243
244         * Makefile.am: Added PATCHES to EXTRA_DIST.
245         * gtk/gtkpixmap.c (gtk_pixmap_new): Move the "pixmap != NULL" test
246         after the allocation of the pixmap.
247
248         To shut up the compiler:
249
250         * gtk/gtkfilesel.c (get_pwdb): Initialize home_dir.
251         * gtk/gtkmain.c (gtk_init): Replace comments around calls to
252         g_set_*_handler with "if (0)".
253         * gtk/gtkrc.c (gtk_rc_get_token): Initialize hex_number and
254         float_number.
255         * gtk/gtkwindow.c (gtk_window_key_press_event): Initialize
256         direction.
257
258         Changes to the type system in gtk/:
259
260         * Makefile.am: Added gtktypebuiltins.h to gtkinclude_HEADERS.
261         Added gtk.defs, runelisp, gentypeinfo.el and gtktypebuiltins.c to
262         EXTRA_DIST.  Added rules to generate gtktypebuiltins.* from
263         gtk.defs.
264
265         * runelisp, gentypeinfo.el, gtk.defs: New files.
266
267         * gtkaccelerator.c, gtkaccelerator.h (gtk_accelerator_table_ref):
268         Return the table so that this function can be used as the `copy'
269         function for GTK_TYPE_BOXED values.
270         * gtkstyle.c, gtkstyle.h (gtk_style_ref): Likewise.
271
272         * gtkenums.h: Removed GtkArgType enum.
273
274         * gtkmain.c (gtk_init): Call gtk_type_init to initialize the type
275         system.
276
277         * gtkobject.c (gtk_object_init_type): New function to take over
278         for gtk_object_get_type. (gtk_object_get_type): Just return the
279         constant GTK_TYPE_OBJECT. (gtk_object_collect_args): Do the right
280         thing for the new GTK_TYPE_* types.
281         * gtksignal.c (gtk_params_get): Likewise.
282
283         * gtktypeutils.c: (gtk_type_init_builtin_types): New
284         function. (gtk_type_init): Call it.  Also made non-static.
285         (gtk_type_unique): The allocation scheme for numerical ids has
286         changed: The low 8 bits hold the appropriate GtkFundamentalType of
287         a type, the rest is a globally unique sequence number.
288         (gtk_type_hash): Use the sequence number of a key to hash it.
289         (gtk_type_register_builtin): New function.
290
291         * gtktypeutils.h: (GtkFundamentalType): New enumeration of the
292         fundamental types. (GTK_TYPE_MAKE, GTK_FUNDAMENTAL_TYPE,
293         GTK_TYPE_SEQNO): New macros to work with the new id scheme.
294         (GtkArg): Added fields for new types and renamed old ones.  GtkArg
295         should now be a mostly opaque structure, except name and type.
296         (GTK_VALUE_*): New macros to access the values of a GtkArg.
297         (GTK_RETLOC_*): New macros to access the location of a return
298         value that is contained in a GtkArg.  * gtktypebuiltins.h: New
299         file to access the typeids of the builtin types.
300
301         * gtkwidget.h (GTK_TYPE_WIDGET): New macro to access the type id
302         of the widget class.
303
304         Thru out: Changed GTK_ARG_* to the appropriate GTK_TYPE_*.
305         Changed access to GtkArg structure to the appropriate GTK_VALUE_*
306         or GTK_RETLOC_* macro.  Changed GtkArgType to GtkType.  Changed
307         some guints to GtkType.
308
309         General changes in gtk/ to support interpreters:
310
311         * gtkradiobutton.c (gtk_radio_button_new_from_widget,
312         gtk_radio_button_new_with_label_from_widget): New functions.
313
314         * gtksignal.c (gtk_signal_connect_no_marshal): New function.
315         (struct _GtkHandler): Added no_marshal and destroy_func fields.
316         (gtk_signal_handler_new): Initialize them.
317         (gtk_signal_connect_by_type): Added no_marshal and destroy_func
318         arguments.  Changed all callers.
319         (gtk_signal_destroy): Invoke destroy_func if there is one and the
320         global destroy func does not apply.  (gtk_handlers_run): If the
321         handler has no_marshal set, call its function directly without
322         going thru the signal's marshaller.
323
324 Wed Sep  3 09:56:22 1997  RHS Linux User  <pmattis@bjork.inktomi.com>
325
326         * gtkrange.c: Changed the way the range control focus was drawn so
327         that the range control is drawn correctly when it does not have
328         the focus.
329
330 Tue Sep  2 17:41:17 1997  RHS Linux User  <pmattis@bjork.inktomi.com>
331
332         * gtkwidget.c: 'gtk_real_widget_queue_resize' should only remove
333         the "resize_widgets" if another resize is not pending.
334
335 Mon Sep  1 18:28:08 1997  Peter Mattis  <pmattis@localhost>
336
337         * gtkmain.c: Changed the way GDK_DELETE events are handled. Only,
338         if 'gtk_widget_event' returns TRUE is the widget destroyed. By
339         default, 'gtk_widget_event' will return FALSE causing the window
340         to not be destroyed. This prevents segfaults in the GIMP and other
341         programs that do not correctly handle GDK_DELETE events.
342
343         * gtkmain.c: Added modal dialog support by allowing events
344         destined for a child of the grab widget to go to the child instead
345         of the grab widget. (Added 'gtk_widget_is_ancestor' to determine
346         the relationship between the grab widget and the event widget).
347
348         * *.[ch]: Incorprated a whole mess of patches. (Started keeping
349         the ChangeLog up to date again).
350
351 Thu Jun  5 17:22:21 1997  Peter Mattis  <pmattis@localhost>
352
353         * gtkmenufactory.c:
354         * gtkmenufactory.h: Added 'gtk_menu_factory_remove_*'
355         calls. Removing entries/paths causes the associated widgets to be
356         destroyed.
357
358         * gtkwidget.c:
359         * gtkwidget.h: Calling 'gtk_widget_set_style' is used as an
360         indication that the programmer specifically wants that style to be
361         used. RC-style substitution is disabled for the widget after such
362         a call.
363
364         * gtkpixmap.c:
365         * gtkpixmap.h:
366         * gtkimage.c:
367         * gtkimage.h: Changed to use clip mask and a single pixmap (or
368         image) to deal with transparent areas.
369
370         * gdkpixmap.c: Modified xpm loading routines to optionally return
371         a clip mask.
372
373         * gdkgc.c:
374         * gdkdraw.c:
375         * gdktypes.h: Modifications to allow clip masks to be used with
376         gc's. Clip masks are bitmaps that specify drawable regions.
377
378 Thu May  1 03:11:51 1997  Peter Mattis  <pmattis@localhost>
379
380         * gtkscrolledwindow.c: Scrolled windows need to have the
381         GTK_NO_WINDOW flag set. Not having it set caused an obscure
382         redrawing bug.
383
384 Wed Apr 30 12:38:03 1997  Peter Mattis  <pmattis@localhost>
385
386         * gtkhruler.c:
387         * gtkvruler.c: Fixed a small bug that caused the indicator to be
388         positioned slightly off.
389
390 Sun Apr 27 14:28:21 1997  Peter Mattis  <pmattis@localhost>
391
392         * gtkmenushell.c:
393         * gtkmenushell.h:
394         * gtkmenu.c:
395         * gtkmenu.h: Changes so that if a menu is popped up there is a
396         timeout period during which a menu item will not be activated and
397         if the mouse button is released in that period the menu will stay
398         popped up.
399
400         * gtkcurve.c:
401         * gtkcurve.h: Included curve widget courtesy of David
402         Mosberger-Tang (davidm@azstarnet.com).
403
404         * gtkentry.c:
405         * gtkentry.h: Changed "insert" and "delete" signals to
406         "insert_text" and "delete_text" respectively. (The symbol "delete"
407         cannot be used since it is a C++ reserved word).
408
409 Sat Apr 19 01:43:49 1997  Peter Mattis  <pmattis@localhost>
410
411         * gtkmenufactory.c: A path which ends in "<nothing>" will cause an
412         invisible (hidden) menu entry to be created. This is useful for
413         setting an accelerator key for which a corresponding menu entry is
414         not desired.
415
416         * gtktooltips.c: Fixed some problems with destruction of the
417         active tip widget not properly updating the tooltips data
418         structures.
419
420 Fri Apr 18 15:09:45 1997  Peter Mattis  <pmattis@localhost>
421
422         * gtkcontainer.c:
423         * gtklist.c:
424         * gtkwidget.c:
425         * gtkwidget.h: Patch from Owen Taylor (owt1@cornell.edu) which
426         fixes problems with destruction of objects and with destruction of
427         objects which hold the focus.
428
429 Thu Apr 17 11:29:15 1997  Peter Mattis  <pmattis@localhost>
430
431         * gtkmenushell.c: Incorrect logic in
432         'gtk_menu_shell_button_release' for deciding when a menu should
433         stay popped up when the mouse button is released.
434
435         * *.c: Miscellaneous fixes from folks on the net.
436
437 Tue Apr 15 02:43:17 1997  Peter Mattis  <pmattis@localhost>
438
439         * *.c:
440         * gtkwidget.h: Added GTK_BASIC widget flag which when set
441         specifies a widget as "basic". A "basic" widget is one which
442         doesn't take input events. For example, labels, pixmaps, boxes,
443         tables, alignments, etc.
444
445 Sat Apr 12 15:23:08 1997  Peter Mattis  <pmattis@localhost>
446
447         * gtkcolorsel.c: Add "#include <math.h>" to define M_PI.
448
449         * gtksignal.c: Fixed a bug in 'gtk_signal_emit' which showed up
450         because of the new cast checking macros. The 'object' was being
451         accessed after it had been destroyed.
452
453         * gtkoptionmenu.c: Fixed bug with using 'GTK_BIN' instead of
454         'GTK_BUTTON' which showed up because of the new cast checking
455         macros.
456
457         * *.h: 'GTK_CHECK_CAST', 'GTK_CHECK_CLASS_CAST' and
458         'GTK_CHECK_TYPE' used by standard widget macros everywhere.
459
460 Wed Apr  9 00:54:17 1997  Peter Mattis  <pmattis@localhost>
461
462         * docs/gtk.texi: Started further work on documentation. Major
463         changes and additions are being made.
464
465         * gtkarrow.c:
466         * gtkarrow.h: Removed function 'gtk_arrow_get'.
467
468         * gtkcontainer.c: 'gtk_container_check_resize' no performs
469         additional checking to account for the case where the containers
470         allocation is no longer sufficient because its parent (or its
471         parents parent, etc.) needs to resize its children.
472
473 Tue Apr  8 21:15:50 1997  Peter Mattis  <pmattis@localhost>
474
475         * gtkstyle.c: Fixed a bug in 'gtk_style_init' in which the font
476         was not ref'd (via 'gdk_font_ref'), but was free'd (via in
477         'gdk_font_free') in 'gtk_style_destroy'. (David
478         Mosberger-Tang). Also cleaned up 'gtk_style_destroy' while I was
479         at it.
480
481         * gtkmain.c: Fixed a bug in 'gtk_propogate_event' which caused
482         entry widgets (and probably other widgets) not to be destroyed in
483         some instances.
484
485 Mon Apr  7 01:20:38 1997  Peter Mattis  <pmattis@localhost>
486
487         * gtkentry.c:
488         * gtkentry.h: Changed the "insert_text", "delete_text" and
489         "changed_text" signals to "insert", "delete", and "changed"
490         respectively. They really should have been named this way
491         originally except the previous signal mechanism prevented
492         duplicate signal names. ("changed" is also used by adjustments).
493
494         * gtkradiomenuitem.c:
495         * gtkradiomenuitem.h: New widget.
496
497         * gtkcheckmenuitem.c:
498         * gtkcheckmenuitem.h: New widget.
499
500         * gtksignal.c: Modified 'gtk_signal_lookup' to require an object
501         type to be passed as a parameter. In addition, signals are now
502         only needed to be uniquely defined in their branch of the class
503         hierarchy. This allows the same signal name to be used in two
504         different branches of the class hierarchy. For instance, the
505         "changed" signal is used both by adjustments and entries...in
506         different ways!
507
508         * gtktypeutils.c: Added 'gtk_type_parent' which returns the parent
509         type for a given type.
510
511 Sun Apr  6 22:08:35 1997  Peter Mattis  <pmattis@localhost>
512
513         * gtkwidget.c: If a widget is set insensitive it loses the focus
514         if it had it.
515
516         * gtkcontainer.c: Insensitive widgets no longer participate in tab
517         traversal.
518
519         * gtkscrolledwindow.c: The "viewport" child is now destroyed and a
520         container class "foreach" function was written (which fixes the
521         sensitivity bug).
522
523 Sat Apr  5 14:25:38 1997  Peter Mattis  <pmattis@localhost>
524
525         * gtkhscrollbar.c:
526         * gtkvscrollbar.c: Fixed trough size allocation bug.
527
528         * gtkhscale.c:
529         * gtkvscale.c: Fixed trough size allocation and position bug that
530         showed up when scales were placed in notebooks.
531
532 Thu Mar 27 17:45:54 1997  David Mosberger-Tang  <davidm@azstarnet.com>
533
534         * gtk/gtkmain.c (gtk_handle_idle): Fix appending pending_idles to
535         idle_functions so it works even when idle_functions is empty.
536
537 Sat Mar 15 14:15:59 1997  Peter Mattis  <pmattis@localhost>
538
539         * *.[ch]: Moved '*_class_init' and '*_init' function declarations
540         for widgets into the source file as those functions no longer had
541         to be public.
542
543         * gtkcheckbutton.c: Fixed redrawing of check button.
544
545         * gtkframe.c: Fixed redrawing of frame when the shadow type is
546         changed.
547
548 Sat Mar  8 15:19:23 1997  Peter Mattis  <pmattis@localhost>
549
550         * gdkimage.c: Fixed a stupid bug with 'gdk_image_new' which
551         potentially added a NULL image to "image_list" and caused problems
552         when 'gdk_image_exit' was called.
553
554 Wed Mar  5 00:40:08 1997  Peter Mattis  <pmattis@localhost>
555
556         * gtkpreview.c: Massively changed the colormap handling used by
557         the preview widget. Gray previews are now dithered. A single
558         visual and colormap is shared by the color and gray previews. A
559         GTK_PREVIEW_INFO property is installed on the root window in
560         certain cases to allow multiple GTK programs to share the system
561         colormap.
562
563 Sun Mar  2 05:43:06 1997  Peter Mattis  <pmattis@localhost>
564
565         * gtkcheckbutton.c: 'gtk_checkbutton_size_allocate' was allocating
566         too much space to its children and not leaving the check button
567         room for the focus border.
568
569         * gtknotebook.c: 'gtk_notebook_size_request' wasn't requesting
570         enough space when the notebook tabs are visible.
571
572 Sat Mar  1 01:59:35 1997  Peter Mattis  <pmattis@localhost>
573
574         * gtkpreview.c: Fixed a problem with 'gtk_preview_put' when the
575         image byte order is GDK_MSB_FIRST.
576
577         * gtksignal.c:
578         * gtksignal.h: Added 'gtk_signal_connect_after' and
579         'gtk_signal_connect_object_after' functions. These connect signal
580         handlers which will run after the class function associated with
581         the signal.
582
583         * gtkstyle.c: Fixed a stupid bug in 'gtk_style_new_from_key' that
584         was causing twice as many styles to be created as necesary.
585
586         * gtkwidget.c: 'gtk_real_widget_size_allocate' erases the widgets
587         old allocation if it has the GTK_NO_WINDOW flag set.
588
589         * gtkwidget.c: 'gtk_real_widget_unmap' now erases the widget if it
590         has the GTK_NO_WINDOW flag set.
591
592         * gtklabel.c: Removed 'gtk_label_unmap' as similar functionality
593         was added to gtk_real_widget_unmap.
594
595         * gtkbin.c: Modified 'gtk_bin_map' and 'gtk_bin_unmap' so that it
596         erases and draws the widget if it has the GTK_NO_WINDOW flag set.
597
598         * gtkframe.c: Modified 'gtk_frame_size_allocate' so that it erases
599         the old allocation.
600
601 Fri Feb 28 03:27:05 1997  Peter Mattis  <pmattis@localhost>
602
603         * gtkwindow.c: 'gtk_window_set_title' now changes the window title
604         if the window is already realized.
605
606         * gtkentry.c: 'gtk_entry_set_text' was emitting both a
607         "delete_text" and a "changed_text" signal. Modified so that it
608         only emits a "changed_text" signal.
609
610         * gtkpreview.c: Modified to work correctly on systems with MSB
611         byte order. The colormap for TRUE and DIRECT color displays is now
612         created if the default visual is not equal to the visual we are
613         using.
614
615         * gtkstyle.c: 'gtk_style_attach' and 'gtk_style_find' weren't
616         working properly in the presence of multiple colormaps are
617         different depth visuals.
618
619         * gtkcontainer.c: Massively improved focus traversal using tab and
620         arrow keys. It now uses the layout of the widgets to determine
621         where to move the focus to.
622
623 Mon Feb 24 03:24:02 1997  Peter Mattis  <pmattis@localhost>
624
625         * gtkmenufactory.c: Set the accelerator table field for menus when
626         they are created.
627
628         * gtkmenu.c:
629         * gtkmenu.h: Added a default accelerator table field to menus so
630         that runtime modification of accelerator keys in menus can work
631         better.
632
633         * gtkrange.c: 'gtk_range_default_{h,v}motion' had faulty logic for
634         deciding what to do when the slider was at the edge of the
635         trough. They previously didn't update the adjustment value event
636         if the value wasn't what it should be when the slider was at the
637         edge of the trough.
638
639         * gtkviewport.c: 'gtk_viewport_size_allocate' and
640         'gtk_viewport_adjustment_value_changed' both had the potential for
641         performing a divide by 0. Checks are now in place to prevent this.
642
643         * gtkmenu.c: 'gtk_menu_map' now makes sure the menu lies on screen
644         if the position function is NULL.
645
646         * gtkentry.c: Modified selection handling. 'gtk_delete_selection'
647         actually removes the X selection now. 'gtk_entry_destroy' removes
648         the selection as well and relies on the change in "gdk.c" to make
649         sure the selection event will not be sent to a non-existant
650         window.
651
652         * gdk.c: Selection events are only passed on if the selection
653         owner is not NULL.
654
655         * gtkstyle.c: 'gtk_style_detach' and 'gtk_style_destroy' were not
656         destroying the black and white gc's.
657
658 Sun Feb 23 19:17:56 1997  Peter Mattis  <pmattis@localhost>
659
660         * gtkwindow.c: 'gtk_window_size_request' was setting the window
661         hints. This was also being done in 'gtk_window_map', so the
662         instance being done in 'gtk_window_size_request' was removed.
663
664 Fri Feb 21 01:04:01 1997  Peter Mattis  <pmattis@localhost>
665
666         * gtkwidget.c: 'gtk_widget_draw' has to use the widgets allocated
667         position for the drawing rectangle when the widget has the
668         GTK_NO_WINDOW flag set.
669
670         * gtkwidget.c: In 'gtk_widget_init' the visual and colormap were
671         being directly compared against 'default_visual' and
672         'default_colormap' instead of calling
673         'gtk_widget_get_default_{visual,colormap}'.
674
675         * gdkrectangle.c: Amazing! There was a bug in the
676         'gtk_rectangle_intersect' logic. Its been there for near eternity
677         and I never noticed.
678
679         * gtkpreview.c:
680         * gtkpreview.h: Created preview widget which allows drawing to an
681         rgb or grayscale buffer which is automatically displayed on the
682         screen. Performs dithering as necessary.
683
684 Thu Feb 20 20:33:21 1997  Peter Mattis  <pmattis@localhost>
685
686         * gdkwindow.c: Modified the logic in 'gdk_window_new' which
687         determined when to add a window to the WM_COLORMAP_WINDOWS
688         property.
689
690 Wed Feb 19 19:55:29 1997  Peter Mattis  <pmattis@localhost>
691
692         * gtkruler.c: 'gtk_ruler_make_pixmap' was always destroying the
693         old backing store and creating a new one even when it would create
694         a new one of exactly the same size as the old one.
695
696 Tue Feb 18 18:32:10 1997  Peter Mattis  <pmattis@localhost>
697
698         * gmem.c: 'g_mem_chunk_alloc' was incorrectly modifying the mem
699         areas free mem field when reallocating a previously freed
700         atom. This caused a fairly severe memory leak.
701
702         * gtkmenushell.c: 'gtk_menu_shell_button_release' had a bug in the
703         logic for deciding whether to initiate an X pointer grab or not
704         when the mouse button was released. It now only initiates a grab
705         if the mouse is released within an active menu item.
706
707 Fri Feb 14 00:57:40 1997  Peter Mattis  <pmattis@localhost>
708
709         * gtknotebook.c: Changed the look of notebook tabs slightly.
710
711         * gtkentry.c:
712         * gtkentry.h: Deleting an entry widget which is holding the X
713         selection presents some difficulties. The X selection must be
714         released, but the widget can't be destroyed until the
715         SELECTION_CLEAR event is received that the X server will send in
716         response to clearing the X selection. There are probably still
717         bugs in the current method of entry widget deletion when the X
718         selection is held.
719
720         * gtkmain.c: 'gtk_propagate_event' was not properly destroying the
721         toplevel window when receiving a key press event.
722
723         * gtkwidget.c: Setting a widget insensitive did not cause it to
724         redraw. It now does.
725
726 Thu Feb 13 16:59:07 1997  Peter Mattis  <pmattis@localhost>
727
728         * gtkviewport.c: 'gtk_viewport_size_allocate' was allocating its
729         child widget an adjusted allocation. Since the actual scrolling
730         has handled by a subwindow this caused the child to be double
731         scrolled. Modified to always set the child allocations origin to
732         (0, 0).
733
734 Wed Feb 12 01:06:48 1997  Peter Mattis  <pmattis@localhost>
735
736         * gtkentry.c: Text is now centered vertically. Previously it was
737         pushed up against the top. This problem was only evident when the
738         widget was allocated more vertical space than it requested.
739
740         * gtkfilesel.c: 'gtk_file_selection_key_press' was previously only
741         a stub for tab completion. The actual tab completion call had been
742         left out. (Oops!)
743
744 Tue Feb 11 01:43:08 1997  Peter Mattis  <pmattis@localhost>
745
746         * gtksignal.c: 'gtk_signal_disconnect_by_data' was going into a
747         loop and crashing. Bad logic. Fixed.
748
749         * gtkmain.c: An idle function which returns FALSE will be removed
750         from the list of idle functions. This makes the functioning of
751         idle functions and timeouts more similar.
752
753         * gtkentry.c: 'gtk_entry_get_text' now returns an empty string
754         when the actual text is NULL. This allows "stupid" programs to use
755         the value returned by 'gtk_entry_get_text' blindly (without
756         checking to see if its NULL).
757
758         * gtkradiobutton.c: Modified 'gtk_radio_button_clicked' so that
759         'gtk_toggle_button_toggled' is called _after_ the widget state is
760         changed.
761
762         * gtksignal.c:
763         * gtksignal.h: Added 'gtk_signal_name' which returns the character
764         string name for a given signal number.
765
766         * gtkwidget.c: 'gtk_widget_set_parent' checks to see if the widget
767         is now "anchored" through the parent chain to a widget which is
768         GTK_ANCHORED. If it is, then it changes the widgets style using
769         'gtk_rc_get_style' and recursively performs the same operation on
770         the widgets children. This is necessary is 'gtk_rc_get_style' only
771         works properly on "anchored" widgets.
772
773         * gtkwindow.c: Modified GTK_WIN_POS logic so that it is only used
774         immediately after the window has been shown.
775
776         * gtkmenu.c: 'gtk_menu_key_press'. Can now change menu item
777         accelerator keys on the fly. Why? Why not. Cool/useless feature of
778         the day.
779
780         * gtkmenuitem.c: Accelerator key drawing. Somehow that never got
781         finished. (Oops!)
782
783         * gtkdrawingarea.c: 'gtk_drawing_area_size_allocate' was not
784         actually installed during 'gtk_drawing_area_class_init'. (Oops!)
785
786         * gtkframe.c: 'gtk_frame_size_request' fixed size requisition
787         problem caused by unsigned arithmetic.
788
789         * gtkwindow.c: Modified window widget so that it only uses the
790         widget uposition auxiliary information immediately after it has
791         been shown. This prevents the annoying bug which can cause a
792         uposition'ed window to jump back to its original position after
793         the user moves it.
794
795         * gtkwidget.c: Need to ref and unref style in
796         'gtk_widget_{push,pop}_style' to make sure that a style on the
797         style stack is not destroyed.
798
799         * gtktogglebutton.c: 'gtk_toggle_button_set_state' now calls
800         gtk_button_clicked to actually change the state of the
801         button. In this way, radio buttons can now perform the appropriate
802         actions when the toggle button state is set.
803
804 Mon Feb 10 00:27:39 1997  Peter Mattis  <pmattis@localhost>
805
806         * gtklist.c: 'gtk_list_select_item' and 'gtk_list_unselect_item'
807         were casting a GList* variable to a a GtkWidget* variable. Bad bad
808         bad. (Tim Janik).
809
810         * gtksignal.c: Modified 'gtk_signal_connect' and
811         'gtk_signal_connect_object' to warn when a signal type cannot be
812         found.
813
814 Sun Feb  9 00:15:30 1997  Peter Mattis  <pmattis@localhost>
815
816         * gtkoptionmenu.c:
817         * gtkoptionmenu.h: Changed option menus back to being derived from
818         buttons. This fixes up some screwiness with their user
819         interaction.
820
821         * gtkwindow.c: Modified key press handler to support focus
822         traversal.
823
824         * gtkcontainer.c:
825         * gtkcontainer.h: Added default focus traversal back in.
826
827 Sat Feb  8 10:44:38 1997  Peter Mattis  <pmattis@localhost>
828
829         * gtkviewport.h:
830         * gtkviewport.c: Massively sped up viewport scrolling. Used to be
831         reallocating child's size (offset) each time a scrollbar
832         moved. Now a subwindow is moved. All the children are moved
833         automatically by moving the subwindow. Much much much faster.
834
835 Tue Feb  4 00:20:44 1997  Peter Mattis  <pmattis@localhost>
836
837         * gtree.c: Changed 'g_tree_node_search' to use a loop instead of
838         recursion.
839
840 Mon Feb  3 11:30:03 1997  Peter Mattis  <pmattis@localhost>
841
842         * gtkbutton.c: Removed 'parent_destroy' global and replaced it
843         with 'parent_class' global to reflect style used in other
844         widgets.
845
846         * gtknotebook.c: Tab labels were being allocated less than their
847         requested size.
848
849         * gtkrange.c:
850         * gtkrange.h: Moved the "digits" field of scales into the range
851         type. The adjustment value for scales is truncated to the number
852         of visible digits instead of being left untouched.
853
854         * gtree.c: Fixed a bug in the AVL tree implementation. Single
855         rotations were always being performed during insertion. It is
856         sometimes necessary to perform a double rotation.
857
858         * gtklabel.c: Modified 'gtk_label_expose' to only draw the label
859         when the allocated space is greater than or equal to the requested
860         space.
861
862         * gtklabel.c: Added call to 'gtk_widget_unmap' to
863         'gtk_label_destroy' in order for the label to redraw correctly
864         (erase itself) when destroyed.
865
866         * gtklabel.c: Added 'gtk_label_unmap' call which erases the labels
867         allocation when it gets unmapped.
868
869         * *.h: Removed a few remaining instances of using "class" as a
870         parameter name. (Causes problems for C++).
871
872 Fri Jan 31 12:26:50 1997  Peter Mattis  <pmattis@localhost>
873
874         * gtkcontainer.c: 'gtk_container_enable_resize' needs to call
875         'gtk_container_check_resize' instead of
876         'gtk_container_need_resize'.
877
878         * gtkwidget.c: 'gtk_real_widget_show' now maps the widget if its
879         parent is mapped.
880
881         * gtkscrolledwindow.c: Fixed size allocation when the scrollbar
882         policy's are GTK_POLICY_AUTOMATIC. Doing it correctly is harder
883         than I originally thought.
884
885         * gtklist.c: Added 'gtk_list_child_position' to determine the
886         integer position in a list of a child. Filled in the
887         'gtk_list_item_select' and 'gtk_list_item_unselect' stubs.
888
889 Thu Jan 30 16:08:06 1997  Peter Mattis  <pmattis@localhost>
890
891         * gmem.c: Changed the implementation of G_ALLOC_AND_FREE mem
892         chunks. They used to allocate SIZEOF_VOID_P extra bytes per atom
893         in order to keep track of which mem area they were allocated
894         from. Now the mem area is determined by searching through an AVL
895         tree of the mem areas for a mem chunk and comparing memory
896         locations. A little slower, but makes G_ALLOC_AND_FREE mem chunks
897         much more attractive.
898
899         * gtree.c: Added an AVL tree implementation to glib.
900
901         * gtksignal.c:
902         * gstring.c: va_arg (arg_list, {char, short}) is
903         invalid. Arguments passed in a variable argument list are
904         promoted. ({char, short}->int). Seemed to work ok before under
905         Linux. Crashed under FreeBSD.
906
907 Tue Jan 28 02:27:51 1997  Peter Mattis  <pmattis@localhost>
908
909         * gdkwindow.c: Fixed a major slowdown apparent in the file
910         selection dialog which was caused by calling
911         'gtk_window_add_colormap_windows' way way way too often.
912
913         * *.c: Many widgets called 'gtk_container_need_resize' when
914         something internal changed which would cause the widget to grow or
915         shrink. The assumption was made that the widget would change size
916         and an expose event would be generated. This happens "most" of the
917         time. But its possible for certain widgets to change size without
918         generating expose events, or for its internal geometry to change
919         without a change of size which would mean no expose event was
920         generated. So a wrapper function called
921         'gtk_container_check_resize' was created and
922         'gtk_container_need_resize' was modified so that it returns FALSE
923         if a resize was actually generated and TRUE if nothing
924         changed. This allows 'gtk_container_check_resize' to initiate a
925         'gtk_widget_size_allocate' and 'gtk_widget_draw' to emulate the
926         expose event.
927
928 Sat Jan 25 14:17:44 1997  Peter Mattis  <pmattis@localhost>
929
930         * gtkmain.c: Fixed a bug with propogating key press events. The
931         events were sent 2 times to the toplevel windows which caused the
932         focus widget to be activated twice when the space bar was pressed.
933
934         * */configure.in:
935         * */Makefile.am: Added support for libtool and removed the old
936         shared library configuration craziness.
937
938 Fri Jan 24 12:59:22 1997  Peter Mattis  <pmattis@localhost>
939
940         * gtktext.c:
941         * gtktext.h: Josh's fixes and additions to the text widget.
942
943         * gtkfill.c:
944         * gtkfill.h: Filler widget useful for filling space in a
945         table. Can specify a minimum size. Used by the canvas widget.
946
947         * gtknotebook.c:
948         * gtknotebook.h: Made outline of notebook widget.
949
950         * gtkcanvas.c:
951         * gtkcanvas.h: Started canvas widget. A composite of 2 rulers (w/
952         an origin), 2 scrolllbars. Guides, grids, snap to.
953
954 Sun Jan 19 18:26:45 1997  Peter Mattis  <pmattis@localhost>
955
956         * gtkdialog.c:
957         * gtkdialog.h: Created dialog widget which creates a standard
958         looking dialog with buttons along the button and a separator.
959
960         * gtkxid.c: Generalized the window table code for looking up a gdk
961         window based on an XID to work for any XID and a piece of
962         data. Can now look up gdk fonts based on their XID.
963
964         * gtkruler.c:
965         * gtkruler.h:
966         * gtkhruler.c:
967         * gtkhruler.h:
968         * gtkvruler.c:
969         * gtkvruler.h: Started conversion of the ruler widget.
970
971         * gtktext.c:
972         * gtktext.h: Started conversion of the text widget. Scrolling
973         doesn't work.
974
975         * gtkmain.c: Fixed a fairly major bug. The event widget needs to
976         be in a call for the entire duration of handling an event. Not
977         just for when the event widget itself is handling the event.
978
979         * gtkfilesel.c: Fixed up some bugs with resizing.
980
981 Fri Jan 10 14:18:03 1997  Peter Mattis  <pmattis@localhost>
982
983         * gtkwidget.c:
984         * gtkwidget.h:
985         * gtkentry.c:
986         * gtkentry.h: Support for selections.
987
988         * gdkselection.c:
989         * gdk.c:
990         * gdktypes.h:
991         * gdk.h: Gdk support for X selections. Currently only text
992         selections are supported.
993
994         * gtksignal.c: Fixed a major bug which occurred when destroying an
995         object. Memory was being written to after it was freed.
996
997         * gtkfilesel.c:
998         * gtkfilesel.h: Hooked up more functionality to the file selection
999         dialog.
1000
1001 Wed Jan  8 18:13:53 1997  Peter Mattis  <pmattis@localhost>
1002
1003         * gtkfilesel.c:
1004         * gtkfilesel.h: Mostly converted old file selection dialog
1005         widget. The widget is derived from the GtkWindow class and is
1006         quite a bit simpler in the widget code.
1007
1008         * gtkwidget.c: Fixed 'gtk_widget_grab_focus' and
1009         'gtk_widget_grab_default' to check that the toplevel widget is a
1010         type of window (which includes classes derived from windows).
1011
1012 Tue Jan  7 01:12:32 1997  Peter Mattis  <pmattis@localhost>
1013
1014         * gtkwindow.c: Was calling 'gtk_window_resize' twice in a
1015         row...why?
1016
1017         * gtksignal.c:
1018         * gtksignal.h:
1019         * *.c: Changed 'gtk_signal_new' so that the class function that is
1020         called when the signal is emitted can be called either before,
1021         after or both before and after the calling of any signal
1022         handlers.
1023
1024         * gtkobject.c:
1025         * gtkobject.h: Added 'object_data' mechanism for storing data
1026         associated with a character string key in objects. Removed
1027         'user_data' field of objects and changed
1028         'gtk_object_{get,set}_user_data' to use the object data
1029         mechanism. Removed 'handlers' field of objects.
1030
1031         * gtkwidget.c:
1032         * gtkwidget.h:
1033         * gtkwindow.c: Modified aux info mechanism to use object data
1034         mechanism.
1035
1036         * gtksignal.c: Modified signal mechanism to use object data
1037         mechanism instead of 'handlers' field.
1038
1039
1040 Mon Jan  6 15:10:16 1997  Peter Mattis  <pmattis@localhost>
1041
1042         * gtkmenushell.c: Fixed up button press handling so as to conform
1043         more closely to that used by Motif.
1044
1045 Wed Jan  1 21:27:17 1997  Peter Mattis  <pmattis@localhost>
1046
1047         * gtkmenu.c:
1048         * gtkmenu.h:
1049         * gtkmenubar.c:
1050         * gtkmenubar.h:
1051         * gtkmenushell.c:
1052         * gtkmenushell.h: Reorganization of menu-ing code so that code
1053         duplication is reduced. The menu shell now contains most of the
1054         code for menu-ing interaction while menus and menubars simply layout
1055         their child menu items in the appropriate place.
1056
1057 Sun Dec 29 17:48:18 1996  Peter Mattis  <pmattis@localhost>
1058
1059         * gtkmenu.c:
1060         * gtkmenubar.c:
1061         * gtkmenuitem.h:
1062         * gtkmenuitem.c: Modifications so that menu item accelerators and
1063         the submenu indicator are drawn correctly and the correct amount
1064         of space is allocated.
1065
1066 Sat Dec 28 00:32:13 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
1067
1068         * gtkmenufactory.h:
1069         * gtkmenufactory.c: Started menu factories as an easy method to
1070         create and manipulate menus.
1071
1072 Fri Dec 27 13:17:34 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
1073
1074         * gtkmenu.c:
1075         * gtkmenu.h:
1076         * gtkmenubar.c:
1077         * gtkmenubar.h:
1078         * gtkmenuitem.c:
1079         * gtkmenuitem.h:
1080         * gtkmenushell.c:
1081         * gtkmenushell.h: Implemented basic menu functionality. Menubars
1082         and popup menus work. Submenus work. (Much left to be done).
1083
1084 Wed Dec 18 15:27:05 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
1085
1086         * gtktypeutils.h:
1087         * gtktypeutils.c: Added 'gtk_type_from_name' which returns a type
1088         identifier given a type name. Implemented using a second hash
1089         table keyed by type names.
1090
1091         * gtkbutton.c:
1092         * gtktogglebutton.c: Fixed very small messed-up drawing bug when a
1093         button loses its focus.
1094
1095         * gtkwidget.h:
1096         * gtkwidget.c:
1097         * gtkbutton.c:
1098         * gtkwindow.c: Added default button handling. Default buttons now
1099         draw correctly and pressing return or enter causes the default
1100         button (if one exists) to be activated.
1101
1102 Tue Dec 17 19:32:21 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
1103
1104         * gtkhscale.c:
1105         * gtkvscale.c: Overrode 'draw_slider' method of ranges in order to
1106         draw the slider of scales with a line in them so as to be closer
1107         to the Motif look-and-feel.
1108
1109         * gtkwindow.c: Modified 'gtk_window_focus_in_event' so that focus
1110         in events are only handled when the window is visible. Fixes a bug
1111         where spurious focus in events get sent when a window is being
1112         hidden.
1113
1114         * gtkwidget.h: Added 'activate_signal' field to the GtkWidgetClass
1115         structure. Added 'gtk_widget_activate' call to emit the activate
1116         signal for a widget if it is non-zero.
1117
1118 Tue Dec 10 15:59:45 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
1119
1120         * gtkwidget.c: 'gtk_widget_set_name' oops in strdup'ing the old
1121         "widget->name" instead of the new one we are setting.
1122
1123         * gtkrc.c: 'gtk_rc_widget_path' changed to use
1124         'gtk_widget_get_name' instead of accessing the "widget->name"
1125         field directly.
1126
1127         * gtkwidget.c: Added 'gtk_widget_get_name' function which returns
1128         the widgets name if it exists and the widgets type name if it does
1129         not.
1130
1131         * gtkcheckbutton.c: Added 'gtk_check_button_draw'
1132         function. Modified 'gtk_check_button_expose' to pass an expose
1133         event to child instead of callings its draw function.
1134
1135         * gtkentry.c: 'gtk_entry_draw_text' why was "+1" being added to
1136         the font->ascent to calculate the font position? This was wrong
1137         and caused some characters in fonts to be clipped. (Notably "g").
1138
1139         * gtkentry.c: 'gtk_entry_realize' specify GTK_BUTTON1_MOTION_MASK
1140         and GTK_POINTER_MOTION_HINT_MASK for _both_ windows.
1141
1142         * gtkmain.c: 'gtk_propagate_event' needs to set the GTK_IN_CALL
1143         flag for the object before calling 'gtk_widget_event' and needs to
1144         destroy the object if necessary after 'gtk_widget_event' returns.
1145
1146         * gtkradiobutton.c: 'gtk_radio_button_clicked' needs to call
1147         'gtk_toggle_button_toggled' when the currently active button is
1148         toggled.
1149
1150         * gtkwidget.c: 'gtk_real_widget_hide' needs to call
1151         'gtk_widget_unmap' if the widget is currently mapped.
1152
1153         * gtkwindow.c: Prevent automatic resizing after the user has
1154         specified a new window size. Add 'handling_resize' flag to
1155         windows.
1156
1157         * gtkscrolledwindow.c: Implement the GTK_POLICY_AUTOMATIC
1158         scrollbar policy. Need to connect to the adjustments 'changed'
1159         signal and notice when the scrollbars aren't in use.
1160
1161         * gtkcontainer.c: 'gtk_container_init' must set 'auto_resize' and
1162         'need_resize' fields to TRUE and FALSE respectively.
1163
1164         * gtkwidget.c: 'gtk_widget_set_parent' must all set a widgets state
1165         to its parents state.
1166
1167 Sun Dec  1 01:31:01 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
1168
1169         * Started ChangeLog