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