]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
Check for features.h.
[~andy/gtk] / ChangeLog.pre-2-4
1 1999-01-01  Jeff Garzik  <jgarzik@pobox.com>
2
3         * configure.in, config.h.in:
4         Check for features.h.
5
6         * gdk/gdkevents.c (gdk_event_put, gdk_events_queue):
7         Fixed bug in linked list append logic by replacing hand-coded
8         logic with a call to g_list_append.  Bug found by tml.
9
10         * gdk/gdkimage.c:
11         'gcc -ansi -pedantic' on GNU/Linux spews warnings and errors
12         in sys/ipc.h, including one specific admonishment to use
13         _SVID_SOURCE or _XOPEN_SOURCE.  Manually defined the latter, and
14         included features.h if present to obtain the necessary
15         side-effects.
16
17         * gtk/gtkclist.c, gtk/gtkeditable.c:
18         Eliminates comma-after-final-element warnings.
19
20         * gtk/gtkfontsel.c (gtk_font_selection_init):
21         Fixed bug where an intl string was declared as _("x") in
22         local var initializer.
23
24 1998-12-31  Jeff Garzik  <jgarzik@pobox.com>
25
26         * gtk/gtklabel.c (gtk_label_split_text_wrapped):
27         word->space is now initialized correctly.
28         Reported by Chi-Deok Hwang <cdhwang@sr.hei.co.kr>.
29
30 1998-12-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
31
32         * gtk/gtkmain.c (gtk_main_do_event): Fix memory leak.
33         gdk_event_put would make a copy of next_event, and next_event was
34         not being freed.
35
36 Wed Dec 30 18:39:21 CST 1998 Shawn T. Amundson <amundson@gtk.org>
37
38         * Released GTK+ 1.1.11
39
40         * INSTALL:
41           NEWS:
42           README:
43           configure.in:
44           gtk+.spec:
45           docs/gtk-config.1:
46           gtk/gtkfeatures.h.in: version=1.1.11
47         
48 1998-12-29  Owen Taylor  <otaylor@srv-19-29.roc.ny.frontiernet.net>
49
50         * gdk/gdkim.c (gdk_wcstombs): Fixed off-by-one
51         error when computing length.
52
53 Thu Dec 24 14:35:48 1998  Jeff Garzik  <jgarzik@pobox.com>
54
55         * gdk/gdkevents.c, gdk/gdkim.c, gdk/gdkrgb.c, gdk/gdkwindow.c,
56           gtk/gtkprogressbar.c:
57         Pull in string.h for various mem*() and str*() functions,
58         in an autoconf-friendly way.
59
60 Thu Dec 24 12:40:45 1998  Jeff Garzik  <jgarzik@pobox.com>
61
62         * gdk/gdkfont.c: removed unused var
63         * gdk/gdkim.c: 64-bit cast
64         * gtk/gtkaccelgroup.c: point to const data
65         * gtk/gtkdnd.[ch]: (gtk_drag_dest_set, gtk_drag_source_set):
66           Made const-correct.
67         * gtk/gtkfontsel.c: kill uninitialized var warning
68         * gtk/gtkselection.[ch]: (gtk_target_list_new,
69           gtk_target_list_add_table, gtk_selection_add_targets):
70           Made const-correct.
71         * gtk/testgtk.c: 64-bit cast
72
73 Thu Dec 24 03:16:52 CST 1998 Shawn T. Amundson <amundson@gtk.org>
74
75         * INSTALL:
76           NEWS:
77           README:
78           configure.in:
79           gtk+.spec:
80           docs/gtk-config.1:
81           gtk/gtkfeatures.h.in: version=1.1.10
82
83 Wed Dec 23 20:31:40 1998  Owen Taylor  <otaylor@redhat.com>
84
85         * gtk/gtklabel.c: Fix problem where empty labels were 
86         getting a requisition height of zero, and trailing 
87         newlines were being ignored.
88
89 Wed Dec 23 13:58:14 1998  Owen Taylor  <otaylor@redhat.com>
90
91         * gtk/gtklabel.c (gtk_label_parse_uline):
92         label->label should be the mb text _after_ removing
93         the underlines, not before.
94
95         * gtk/gtkmenu.c: Reverted Elliot's tearoff-menu-item
96         title hack. If it deserves being done, it deserves
97         being done right.
98         
99 1998-12-23  Elliot Lee  <sopwith@redhat.com>
100
101         * gtk/gtkmenu.c: Allow programmer to gtk_object_set_data(obj,
102         "GtkTearoffMenuItem_window_title", ..) on a GtkMenuItem and have
103         it be recognized. If we're getting the title out of the GtkLabel,
104         then remove all underscores.
105
106 Tue Dec 22 17:01:43 1998  Owen Taylor  <otaylor@redhat.com>
107
108         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): 
109         Request XmTRANFER_FAILURE on Motif drops not within
110         a drop zone. I don't know why this is necessary,
111         but it is.
112
113         * gdk/gdkdnd.c (gdk_drop_reply): Fixed error where
114         Motif flag field in response was getting wrong
115         values.
116
117 Tue Dec 22 15:55:39 1998  Owen Taylor  <otaylor@redhat.com>
118
119         * gtk/gtkoptionmenu.c (gtk_option_menu_button_press): 
120         Return TRUE for button press events we handle.
121         (Allows option menus in radio buttons to work...)
122
123 Tue Dec 22 14:50:25 1998  Owen Taylor  <otaylor@redhat.com>
124
125         * gtk/gtkdnd.c (gtk_drag_find_widget): Optimization -
126         when we've already found a widget, skip all checks
127         for subsequent children.
128
129         * gtk/gtkdnd.c (gtk_drag_find_widget): Checked for
130         !MAPPED, not !VISIBLE, since a widget (like a notebook
131         page), can be VISIBLE, but !REALIZED or !MAPPED.
132
133         * gtk/gtkdnd.c (gtk_drag_find_widget): Use forall(),
134         not foreach().
135
136 Mon Dec 21 22:01:49 1998  Lars Hamann  <lars@gtk.org>
137
138         * gtk/gtkclist.c (gtk_clist_motion): fixed column resize bug
139
140 Sun Dec 20 04:48:59 1998  Tim Janik  <timj@gtk.org>
141
142         * gdk/gdk.h (GDK_PRIORITY_EVENTS): export the priority at which
143         events are processed.
144
145         * gtk/gtk[main|signal|container].[ch]: removed deprecated _interp
146         variants: gtk_container_foreach_interp, gtk_idle_add_interp,
147         gtk_timeout_add_interp, gtk_signal_connect_interp.
148
149 Sat Dec 19 18:45:30 PST 1998 Shawn T. Amundson <amundson@gtk.org>
150
151         * configure.in: added sv to ALL_LIGNUAS
152
153 Sat Dec 19 22:49:40 1998  Tim Janik  <timj@gtk.org>
154
155         * gtk/gtktypeutils.c (gtk_type_query): eek, fixed an embarrasing bug
156         that caused this function to always return NULL (noticed by marius
157         vollmer).
158
159 Sat Dec 19 17:28:30 1998  Owen Taylor  <otaylor@redhat.com>
160
161         * configure.in: Don't add the gthread libs to 
162         GLIB_LIBS either, or -lgthread -lpthread will get 
163         pulled into all applications because of shlib deps.
164
165         * gtk/gtkmain.h gtk/gtkwidget.c gtk/gtk gdk/gdk: 
166         Use GLIB's priority #define. Revise scale of 
167         priorities.
168
169 Sat Dec 19 03:44:29 PST 1998 Manish Singh <yosh@gimp.org>
170
171         * gtk/gtkmain.c: always run a g_main_iteration, even if
172         there are no active main loops. This fixes the gimp splash
173         screen.
174
175 Sat Dec 19 05:37:51 1998  Tim Janik  <timj@gtk.org>
176
177         * gtk/gtklabel.c (gtk_label_expose): removed return_if_fail
178         (label->words != NULL) since that's a valid case when the label
179         is empty, or just default constructed.
180         fixed indentation prototype arguments and braces in some places.
181         also, pointer comparisions and initializations are done with NULL
182         not 0, there's a reason GLib defines NULL.
183
184         * gdk/gdkevents.c (gdk_events_pending): return (queued_events ||
185         putback_events) so this again returns whether events are pending,
186         not whether other sources like idles are pending.
187
188         * gtk/gtkmain.c (gtk_main_iteration_do): 
189         (gtk_main_iteration): return whether the loop is done, not whether
190         something got dispatch to restore the original behaviour (yosh: this
191         fixes code like in GleSelector).
192
193 Fri Dec 18 19:20:45 PST 1998 Manish Singh <yosh@gimp.org>
194
195         * gtkbutton.[ch]
196         * gtktogglebutton.c: s/(enter|leave)_button/$1/g, since pthreads.h
197         no longer conflicts
198         
199 Sat Dec 19 01:56:13 1998  Lars Hamann  <lars@gtk.org>
200
201         * gtk/gtkclist.c (gtk_clist_button_press): fixed GDK_2BUTTON_PRESS
202         bug.
203
204 Fri Dec 18 15:30:43 PST 1998 Manish Singh <yosh@gimp.org>
205
206         * configure.in: add ja to ALL_LINGUAS
207
208 Fri Dec 18 15:19:54 1998  Owen Taylor  <otaylor@redhat.com>
209
210         * gtk/gtksocket.c (gtk_socket_filter_func): Marked
211         plug window as destroyed before destroying the 
212         window.
213
214 Fri Dec 18 14:17:14 1998  Owen Taylor  <otaylor@redhat.com>
215
216         * gtk/gtkmenu.c (gtk_menu_popup): Set the usize on the
217         tearoff window so when we reparent the window out,
218         the window doesn't shrink down.
219
220 1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
221
222         * configure.in: do not export the glib flags for thread support to
223         gtk-config.
224
225 Fri Dec 18 01:32:59 1998  Tim Janik  <timj@gtk.org>
226
227         * gtk/gtkmain.c (gtk_main): added gdk_flush() after g_main_run(), so we
228         get the original behaviour back, i.e. the event queue needs to be flushed
229         after a main loop has been quitted.
230         (gtk_main): add/remove the current main loop to/from the main loop
231         before/after init/quit functions have been exected to preserve the
232         original gtk_main_quit() behaviour.
233
234 Thu Dec 17 23:48:29 1998  Tim Janik  <timj@gtk.org>
235
236         * gdk/gdkevents.c (gdk_events_init): changed argument order in call
237         to g_main_add_poll() to match recent glib changes.
238
239 Thu Dec 17 20:33:28 1998  Owen Taylor  <otaylor@redhat.com>
240
241         * gtk-config.in: Add @INTLLIBS@. 
242         gtk-scier-981116-0.patch  Sean Cier <scier@PostHorizon.com>) ]
243
244         * gtk/gtkcolorsel.c gtk/gtkfilesel.c gtk/gtkfontsel.c
245           gtk/gtkgamma.c gtk/gtkinputdialog.c 
246           gtk/gtknotebook.c gtk/gtkrc.c gtk/gtkthemes.c
247           gtk/gtktipsquery.c: 
248         
249         Applied parts of gtk-egger-981215-1 [ Daniel Egger
250         <Daniel.Egger@t-online.de> ] marking additional strings for
251         internationalization.
252         
253         * po/nl.po: Added Dutch translation from 
254         Paul Siegmann <pauls@euronet.nl>.
255         
256 Thu Dec 17 18:25:52 1998  Owen Taylor  <otaylor@redhat.com>
257
258         * gtk/gtkdnd.c (gtk_drag_drop_finished): Remove the
259         info tag from the context so if the source unexpectedly
260         responds in the future, we do nothing properly.
261
262 Thu Dec 17 18:24:41 1998  Owen Taylor  <otaylor@redhat.com>
263
264         * gtk/gtk[hv]paned.c (gtk_[hv]paned_size_allocate): Handle
265         the case where one side of the the pane is empty.
266
267         * gtk/gtkfilesel.c (gtk_file_selection_init): Set
268         dir_title before using it. (Pointed out by
269         Lavoie Philippe <lavoie@zeus.genie.uottawa.ca>)
270         
271 Thu Dec 17 10:53:20 1998  Owen Taylor  <otaylor@redhat.com>
272
273         * gtk/gtklabel.c (gtk_label_set_text): Free 
274         previous label->label_wc.
275
276         * gtk/testgtkrc: Leave font, not fontset commented
277         in by default.
278
279 1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
280
281         * gdk/gdkim.c: Define gdk_use_mb outside USE_XIM guard. Removed
282         unnecessary USE_XIM guard inside another. Made gdk_use_mb
283         static. Compile gdk_set_locale also if not USE_XIM.     
284
285 Thu Dec 17 00:26:01 1998 Shawn T. Amundson <amundson@gtk.org>
286
287         * Released GTK+ 1.1.9
288
289         * INSTALL:
290           NEWS:
291           README:
292           configure.in:
293           gtk+.spec:
294           gtk/gtkfeatures.h.in:
295           docs/gtk-config.1: version=1.1.9
296
297 Wed Dec 16 21:20:00 PST 1998 Manish Singh <yosh@gimp.org>
298
299         * autogen.sh: rm -rf intl breaks --disable-nls, put it back
300
301         * gtkbutton.[ch]
302         * gtktogglebutton.c: s/(enter|leave)/$1_button/g.
303         Digital: 1 GTK+: 0 (for now)
304
305 Wed Dec 16 22:38:22 CST 1998 Shawn T. Amundson <amundson@gtk.org>
306
307         * gdk/gdkevents.c: updated call to g_main_add_poll
308           instead of g_main_poll_add
309
310 Wed Dec 16 23:32:05 1998  Owen Taylor  <otaylor@redhat.com>
311
312         * gtk/gtklabel.c (gtk_label_expose): Remove 
313         unnecessary cast.
314
315 Wed Dec 16 22:50:52 1998  Owen Taylor  <otaylor@redhat.com>
316
317         * gdk/gdk.c gdk/gdkim.c: Check for broken glibc 2.0 
318         mb functions, and avoid them.
319
320 Wed Dec 16 16:57:55 1998  Owen Taylor  <otaylor@redhat.com>
321
322         * gdk/gdkevents.c (gdk_events_queue): Don't
323         call XPending() if we have putback events.
324
325 Wed Dec 16 16:04:41 1998  Owen Taylor  <otaylor@redhat.com>
326
327         * gtk/gtklabel.c (gtk_label_expose): Do nothing
328         on empty string, quietly.
329
330 Wed Dec 16 15:36:19 1998  Owen Taylor  <otaylor@redhat.com>
331
332         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable):
333         Redraw the character under the cursor when removing
334         the cursor.
335
336 Wed Dec 16 13:06:17 1998  Owen Taylor  <otaylor@redhat.com>
337
338         * gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main
339         thread lock back to GDK - we need it there for locking
340         when translating events. Rename things appropriately.
341
342 Wed Dec 16 11:44:21 1998  Owen Taylor  <otaylor@redhat.com>
343
344         * gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo.
345
346 Wed Dec 16 10:20:27 CST 1998 Shawn T. Amundson <amundson@gtk.org>
347
348         * Released GTK+ 1.1.8
349
350         * ChangeLog:
351           INSTALL:
352           README:
353           gtk+.spec:
354           docs/gtk-config.1: version=1.1.8
355
356 1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
357
358         * gdk/gdkglobals.c: Define gdk_xim_ic only, if USE_XIM is defined.
359
360 Wed Dec 16 07:03:32 1998  Tim Janik  <timj@gtk.org>
361
362         * gtk/gtkwidget.h: 
363         * gtk/gtkwidget.c: s/USER_DRAW/APP_PAINTABLE/. provided
364         gtk_widget_set_app_paintable() which users can use to make
365         a widget paintable for the application. changed other files accordingly.
366
367 Wed Dec 16 05:26:32 1998  Tim Janik  <timj@gtk.org>
368
369         * configure.in: version bump to 1.1.8, binary age 0, interface age 0,
370         depend on GLib 1.1.8.
371
372         * gdk/gdkprivate.h:
373         * gdk/gdkglobals.c: removed last Gdk threads specific bits.
374
375         * gtk/gtkmain.c (gtk_init): s/g_thread_supported/g_thread_supported()/.
376
377         * gtk/gtkprivate.h: changed GTK_THREADS_ENTER and GTK_THREADS_LEAVE
378         to function macros GTK_THREADS_ENTER() and GTK_THREADS_LEAVE().
379         honour G_THREADS_ENABLED in the definition of GTK_THREADS_ENTER()
380         and GTK_THREADS_LEAVE(). changed callers accordingly.
381
382 Tue Dec 15 21:26:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>
383
384         * autogen.sh: warn if glib.m4 or gettext.m4 are not found 
385           in aclocal's directory.
386
387 Tue Dec 15 21:36:14 1998  Owen Taylor  <otaylor@redhat.com>
388
389         * gtk/testgtk.c (create_layout): Create buttons,
390         not combos again.
391
392 1998-12-15  Joel Becker  <jlbec@ocala.cs.miami.edu>
393
394         * autogen.sh: reordered gettextize and aclocal, because
395         gettextize was messing up aclocal.m4.
396
397 Tue Dec 15 22:30:44 1998  Lars Hamann  <lars@gtk.org>
398
399         * gtk/gtkclist.h : 
400         removed clist flag : GTK_CLIST_DRAG_SELECTION
401         added flags : GTK_CLIST_REORDERABLE, GTK_CLIST_USE_DRAG_ICONS,
402         GTK_CLIST_DRAW_DRAG_LINE, GTK_CLIST_DRAW_DRAG_RECT
403         (GtkCListDragPos) : new enum for DND
404         (GtkButtonAction) : new enum of possible mouse button actions
405         (struct _GtkCList): added button_actions array.
406         Added drag_button and click_cell struct, to store cell and
407         mouse button of last button_press_event
408         
409         (struct _GtkCListClass): new class method draw_drag_highlight.
410         (gtk_clist_set_reorderable) (gtk_clist_set_use_drag_icons) :
411         new functions. Moved from gtkctree.h. Now clist is reorderable
412         as well.
413         (gtk_clist_set_button_actions) new function to customize mouse
414         button actions.
415
416         * gtk/gtkclist.c:
417         (gtk_clist_drag_begin)
418         (gtk_clist_drag_motion)
419         (gtk_clist_drag_leave)
420         (gtk_clist_drag_end)
421         (gtk_clist_drag_drop)
422         (gtk_clist_drag_data_get)
423         (gtk_clist_drag_data_received) : new dnd widget methods to
424         implement clists reorderability via DND
425
426         (remove_grab) : new function. remove mouse grab if necessary.
427         (draw_drag_highlight) : new method. Draw dnd highlight depending
428         on clist flags GTK_CLIST_DRAW_DRAG_LINE and GTK_CLIST_DRAW_DRAG_RECT
429
430         (gtk_clist_class_init): added object args "reorderable" and
431         "use_drag_icons"
432
433         (gtk_clist_button_press) (gtk_clist_button_release) :
434         use button_actions array to decide which action to perform.
435         (gtk_clist_motion) : start reorder operation if necessary.
436
437         * gtk/gtkctree.h :
438         (struct _GtkCTree): removed drag_icon, icon_widht, icon_height,
439         drag_row, drag_source, drag_target, reorderable, use_icons,
440         in_drag, drag_rect
441         (gtk_ctree_set_reorderable) :  deprecated function.
442         use gtk_clist_set_reorderable instead.
443         (gtk_ctree_set_use_drag_icons) : deprecated function.
444         use gtk_clist_set_use_drag_icons instead.
445
446         * gtk/gtkctree.c :
447         (gtk_ctree_class_init): removed object args "reorderable" and
448         and "use_drag_icons"
449
450         (draw_xor_line) (draw_xor_rect) (create_drag_icon) (check_cursor)
451         (tree_toggle_selection) (set_mouse_cursor) : removed
452         
453         (draw_drag_highlight) : new clist method. replacement for
454         draw_xor_line and draw_xor_rect functions
455         (check_drag) renamed check_cursor function
456
457         (gtk_ctree_drag_begin)
458         (gtk_ctree_drag_motion)
459         (gtk_ctree_drag_data_received) : new dnd methods to implement ctrees
460         reorderability via DND
461
462         (gtk_ctree_button_release)
463         (gtk_ctree_button_motion) : removed.
464
465         * gtk/testgtk.c:
466         (create_clist) : added new reorderable toggle button
467         
468 Tue Dec 15 19:50:41 1998  Owen Taylor  <otaylor@redhat.com>
469
470         * gtk/gtkctree.c gtk/gtkclist.c gtk/testgtk.c: Use 
471         base[NORMAL] instead of bg[PRELIGHT] so CLists now can be
472         used in detergent commercials.
473
474 Tue Dec 15 16:54:09 1998  Owen Taylor  <otaylor@redhat.com>
475
476         * gtk/gtklabel.h: Moved gtk_label_set() compatiblity
477         define from <gtkcompat.h> to <gtklabel.h> for
478         compatibility.
479
480 1998-12-15  Jeff Garzik  <jgarzik@pobox.com>
481
482         * configure.in, gdk/Makefile.am, gtk/Makefile.am:
483         Removed last remaining thread-related configure bits 
484         that have been moved into GLib.
485
486 1998-12-15  Elliot Lee  <sopwith@bogus.cuc.ml.org>
487
488         * gdk/gdkevents.c: Use G_IO_ERR|G_IO_HUP|G_IO_NVAL
489         as the mask for checking for GDK_INPUT_EXCEPTION events.
490
491 1998-12-15  Martin Baulig  <martin@home-of-linux.org>
492
493         * acinclude.m4: Make the gettext check for for libc5 systems.
494
495         * autogen.sh: Not running gettextize fails on a fresh CVS checkout
496         and we'll get a lot of bug reports tomorrow, so I add it back.
497
498         * acinclude.m4: Rename AM_GNU_GETTEXT_GTK to AM_GTK_GNU_GETTEXT and
499         AM_WITH_NLS_GTK to AM_GTK_WITH_NLS to avoid this ugly automake
500         warnings.
501
502 Tue Dec 15 16:06:15 1998  Owen Taylor  <otaylor@redhat.com>
503
504         * acinclude.m4: Provide a hacked version of the
505           gettext macros that never use the included gettext.
506          
507         * Makefile.am configure.in: Remove references
508           to intl/
509         
510         * autogen.sh: Don't run gettextize.
511
512 Tue Dec 15 14:30:35 1998  Owen Taylor  <otaylor@redhat.com>
513
514         * gdk/gdk.h gdk/gdkfonts.c: Added gdk_text_extents_wc()
515
516         * Patch from Jonathan Blanford <jrb@redhat.com> to add line wrapping
517           to label. (Based on patch from Jeff Dairiki
518           <dairiki@mac-ceope.apl.washington.edu> gtk-dairiki-971208-0)
519
520         - Adds new function gtk_label_set_line_wrap()
521         - implement GTK_JUSTIFY_FILL.
522         - rename gtk_label_set to gtk_label_set_text() add
523            gtk_label_set() to gtkcompat.h.
524
525         * Use an internal wc representation in the label, so
526           that we handle underlining and line breaks correctly
527           for multi-byte strings.
528
529 Tue Dec 15 13:32:28 1998  Owen Taylor  <otaylor@redhat.com>
530
531         * gtk/gtkwidget.h: Added GTK_USER_DRAW flag.
532
533         * gtk/gtkwindow.c: Honor GTK_USER_DRAW flag.
534
535         * gtk/gtkdrawwindow.c gtk/Makefile.am: Removed 
536         GtkDrawWindow, which GTK_USER_DRAW obsoletes.
537
538 Tue Dec 15 11:37:05 1998  Owen Taylor  <otaylor@redhat.com>
539
540         * gtk/gtkmain.c: Fixed up some warnings.
541
542 Tue Dec 15 10:32:01 1998  Owen Taylor  <otaylor@redhat.com>
543
544         * gtk/gtk{h,v,}paned.{c,h}: Add new functions 
545         gtk_paned_set_position(),
546         gtk_paned_pack1/2(). The latter take a
547         shrink and resize parameters, that allows setting
548         minimum sizes and getting 'relative' resizing.
549
550 Tue Dec 15 10:26:23 1998  Owen Taylor  <otaylor@redhat.com>
551
552         * gdk/gdkevents.c: Keep separate putback_events and 
553         queued_events queues so that we get both FIFO and 
554         preemptive behavior for gdk_event_put().
555
556 Tue Dec 15 09:22:44 1998  Owen Taylor  <otaylor@gtk.org>
557
558         * gtk/gtkrc.c (gtk_rc_init): Removed unused 
559         variable, fixed minor memory leak.
560
561         * gdk/gdk.c: Fixed another merge problem.
562
563 Tue Dec 15 08:53:38 1998  Owen Taylor  <otaylor@redhat.com>
564
565         * gdk/gdk.c (gdk_get_display): Remove gdk_signal,
566         which crept back in in last commit.
567
568 Tue Dec 15 01:38:53 1998  Owen Taylor  <otaylor@redhat.com>
569
570         * gtk/Makefile.am: Commented out testthreads from
571         the build process, since we won't have any idea
572         how to create a thread.
573
574         * configure.in (LIBS): use glib-config ... gthread
575         so we always build a thread-compatible library.
576
577         * gtk/gtkaccellabel.c gtk/gtkclist.c gtk/gtkcolorsel.c
578           gtk/gtkcombo.c gtk/gtkcontainer.c gtk/gtkentry.c
579           gtk/gtklist.c gtk/gtkmenuitem.c gtk/gtknotebook.c
580           gtk/gtkrange.c gtk/gtkselection.c gtk/gtkspinbutton.c
581           gtk/gtktext.c gtk/gtktooltips.c gtk/gtkwidget.c:
582         
583         Add GTK_THREADS_ENTER/LEAVE pairs around timeouts
584         and idles to account for the fact that they are no
585         longer called within the GTK+ lock.
586
587         * gtk/gtkprivate.h: Added definitions for locking
588         the main GTK+ mutex.
589         
590         * gtk/gtkmain.c: Re-implement the main loop 
591         in terms of the GLib main loop.
592
593         * gdk/gdk.h gdk/gdkthreads.c gdk/Makefile.am: Removed threading 
594         functionality, as it seems better to subsume GDK within the 
595         GTK+ lock than vice-versa.
596
597         * gdk/gdkevents.c: New file, containing event handling bits 
598         from gdk.c.
599
600         * gdk/gdkevents.c: Implement event source for GDK
601         events.
602         
603         * configure.in gdk/gdkevents.c: Removed attempts to 
604         subtract base_id, which were already non-functional.
605
606 Mon Dec 14 23:05:20 PST 1998 Manish Singh <yosh@gimp.org>
607
608         * acconfig.h
609         * configure.in: removed IPC_RMID_DEFERRED_RELEASE check
610
611         * gdk/gdk.c: remove signal handlers, since we do an IPC_RMID
612         after XShmAttach, and nobody complained
613
614 Tue Dec 15 02:27:42 MET 1998 Sven Neumann <sven@gimp.org>
615
616         * po/de.po: Replaced the crappy german po-file with a valid one.
617
618 Mon Dec 14 16:10:05 1998  Owen Taylor  <otaylor@redhat.com>
619
620         * gtk/gtkrc.c (gtk_rc_init): Append locale-specific
621         suffixes to default rc file names, and look these
622         up in addition to the base filename, to facilitate
623         having the correct fontset per-locale.
624
625         move $(sysconfdir)/gtkrc to $(sysconfdir)/gtk/gtkrc
626
627         * gtk/gtkitemfactory.[ch] (gtk_item_factory_set_translate_func):
628         New function to set a function to translate menu paths.
629
630         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Free
631         results of g_strsplit().
632
633 1998-12-14  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>
634
635         * configure.in (ALL_LINGUAS): Added 'pt'.
636
637         * po/pt.po: Added Portuguese translation.
638
639 Mon Dec 14 20:04:31 1998  Stefan Jeske  <stefan@gtk.org>
640
641         * gtk/gtkspinbutton.c: Only call gtk_spin_button_update if
642         the spinbutton is editable.
643
644 Mon Dec 14 12:24:13 1998  Owen Taylor  <otaylor@redhat.com>
645
646         * HACKING: Added gettext-10.35
647
648         * autogen.sh: Run gettextize.
649
650 Wed Dec  9 16:29:06 1998  Owen Taylor  <otaylor@redhat.com>
651
652         Applied gtk-egger-981010-[12] 
653         [ Daniel.Egger@t-online.de (Daniel Egger) ]
654
655         * gtk/gtkintl.h: New file - defines for localization.
656
657         * gtk/gtkfilesel.c gtk/gtkinputdialog.c: Mark strings
658         for internationalization.
659
660         * gtk/gtkmain.c: call bindtextdomain
661
662         * po/ - directory for translations. Initially includes
663         German translation.
664
665 Mon Dec 14 02:42:11 1998  Tim Janik  <timj@gtk.org>
666
667         * gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
668         RUN_ACTION signal. moved stuff from gtk_widget_grab_focus() into
669         gtk_widget_real_grab_focus() so a signal is always emitted
670         if the focus is grabbed on a widget.
671
672 Mon Dec 14 02:13:01 1998  Tim Janik  <timj@gtk.org>
673
674         * gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or
675         not to delay the submenu popup from a menu item deselection time stamp.
676         the code looks even more hackish than before, but in practice "feels"
677         very well.
678
679 1998-12-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
680
681         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added a "grab_focus"
682         signal for widgets.  When the signal is emitted, the widget will
683         grab the focus.  This is needed to let the user press an
684         accelerator key in a dialog box and have the corresponding widget
685         be focused.
686
687         * gtk/gtkwidget.c (gtk_widget_class_init): Create the "grab_focus"
688         signal.  The default handler is simply gtk_widget_grab_focus().
689
690 Sun Dec 13 22:15:48 GMT 1998  Tony Gale  <gale@gtk.org>
691
692         * docs/gtk_tut.sgml: Update the following sections to the
693           current API:
694             - Container Widgets
695             - CList Widget
696             - List Widget
697             - Tree Widget
698
699 Sat Dec 12 19:11:35 1998  Tim Janik  <timj@gtk.org>
700
701         * gtk/gtkmenuitem.c: made GtkMenuItem::activate a GTK_RUN_ACTION signal.
702
703         * gtk/gtkbutton.c: made GtkButton::clicked a GTK_RUN_ACTION signal.
704
705         * gtk/gtkfeatures.h.in: define GTK_HAVE_FEATURES_1_1_8.
706
707 Sat Dec 12 17:46:55 1998  Owen Taylor  <otaylor@gtk.org>
708
709         * gtk/gtklayout.c (gtk_layout_unrealize): Mark
710         child->window as destroyed so we don't destroy
711         it again.
712
713 Sat Dec 12 17:18:32 1998  Owen Taylor  <otaylor@redhat.com>
714
715         * gdk/gdkfont.c (gdk_text_extents): Corrections
716         to computation of extents of text from a font set.
717         (from Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
718          and Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>)
719         
720 Fri Dec 11 08:59:12 1998  Owen Taylor  <otaylor@redhat.com>
721
722         * gtk/gtklistitem.c (gtk_list_item_style_set):
723         * gtk/gtklist.c     (gtk_list_style_set):
724         Added "style_set" handlers.
725
726 Fri Dec 11 05:49:30 1998  Owen Taylor  <otaylor@redhat.com>
727
728         * gtk/gtkclist.c (gtk_clist_style_set): Add in a "style_set"
729         handler so that the background of the clist changes
730         with the theme.
731
732 Thu Dec 10 22:02:49 CST 1998 Shawn T. Amundson <amundson@gtk.org>
733
734         * Released GTK+ 1.1.7
735
736         * INSTALL:
737           NEWS:
738           README:
739           configure.in:
740           gtk+.spec:
741           gtk/gtkfeatures.h.in: 
742           docs/gtk-config.1: Version to 1.1.7
743
744 Thu Dec 10 20:48:19 PST 1998 Manish Singh <yosh@gimp.org>
745
746         * gtk/gtkclist.c: avoid void pointer math
747
748         * gtk/gtkhscale.c
749         * gtk/gtkhscrollbar.c
750         * gtk/gtkvscale.c
751         * gtk/gtkvscrollbar.c: removed trailing , from enums
752
753         * gtk/gtksignal.c: can't use enums as a bitfield type, use guint
754
755         * gtk/testgtk.c: removed C++ comment added by owenpoo
756
757 Thu Dec 10 21:48:34 1998  Owen Taylor  <otaylor@redhat.com>
758
759         * gtk/gtkdnd.[ch]: Added gtk_drag_source_unset()
760
761 Thu Dec 10 20:42:22 1998  Owen Taylor  <otaylor@redhat.com>
762
763         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Use 
764         gdk_window_get_origin() instead of gdk_window_get_position,
765         because get_position is unreliable for plugs. 
766
767         This is a bad hack, maybe we need GDK_WINDOW_PLUG?
768
769 Thu Dec 10 17:58:49 GMT 1998  Tony Gale  <gale@gtk.org>
770
771         * docs/gtk_tut.sgml:
772           - re-write the GtkProgressBar section to the 1.1 API.
773           - add an Appendix listing all the signals
774             (apologies to TimJ for taking so long in using his hard work
775              in automating the extraction - thanx Tim). 
776         * examples/*: bring them all upto the tutorial versions
777
778 Thu Dec 10 02:21:16 1998  Jeff Garzik  <jgarzik@pobox.com>
779
780         * gtk/testdnd.c: use g_snprintf, eliminate need for string.h
781         * gtk/testrgb.c: include string.h, for strlen
782
783 Wed Dec  9 17:39:26 1998  Owen Taylor  <otaylor@redhat.com>
784
785         * configure.in: Add a case for success in 
786         test for XUnregisterIMInstantiate, to prevent
787         screwing up $LIBS.
788
789 Wed Dec  9 13:06:31 1998  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
790  
791         * gdk/gdkim.c (gdk_ic_new,gdk_ic_{set,get}_attr): Fixed argument
792         list and return type for non-XIM fallback.
793  
794         * configure.in: Only build XIM-support if available.
795  
796 Wed Dec  9 12:23:30 1998  Owen Taylor  <otaylor@redhat.com>
797         
798         * gtk/testselection.c (main): Add in missing 'flags'
799         field to target list.
800
801         * gdk/gdkproperty.c (gdk_atom_intern): Actually
802         add the atoms to the local cache.
803
804 Wed Dec  9 04:57:31 PST 1998 Manish Singh <yosh@gimp.org>
805
806         * gdk/gdkprivate.h: put text after #endif in comment
807
808         * gdk/gdktypes.h: change whitespace in enum to shut up makeenums.pl
809
810         * gtk/testdnd.c: #include <string.h>
811
812 Mon Dec  7 10:27:09 1998  Owen Taylor  <otaylor@redhat.com>
813
814         * gtk/gtkwidget.c: Destroy widgets _after_ propagating unrealize
815         signals through the widget heirarchy. This is unpleasant, as it
816         causes more X traffic, but is necessary, because we have to clean
817         up our Input Contexts before destroying the X windows.
818         (from matsu-981109-0.patch)
819         
820 Mon Dec  7 10:18:18 1998  Owen Taylor  <otaylor@redhat.com>
821
822         Applied gtk-a-higuti-981202-0 : 
823         [ a-higuti@math.sci.hokudai.ac.jp (Akira Higuchi) ]
824         
825         * gdk/gdk.h gdk/gdk.c
826                 (gdk_mbstowcs): New function. Nearly equals to mbstowcs, but
827                         implemented by a combination of Xlib functions, so
828                         it works even with X_LOCALE.
829                 (gdk_wcstombs): New function.
830                 (g_mbtowc): Removed. No longer needed.
831
832         * gdk/gdk.h gdk/gdkfont.c gdk/gdkdraw.c: 
833                 Added _wc() variants to gdk_text_width(), 
834                 gdk_char_width(), gdk_draw_text(),
835                 
836         * gdk/gdki18n.h
837                 (mblen, mbtowc, wctomb, mbstowcs, wcstombs,
838                  wcslen, wcscpy, wcsncpy):
839                         Removed. No longer needed.
840                 (iswalnum): Removed.
841                 (gdk_iswalnum): New macro.
842                 (gdk_iswspace): New macro.
843         * gdk/gdktype.h
844                 (GdkWChar): New typedef.
845         
846         * gtk/gtkentry.h, gtk/gtkentry.c
847                 There are many changes according to the change of the
848                 internal representation of text, from multibyte string
849                 to wide characters. 
850         * gtk/gtkprivate.h, gtk/gtkmain.c
851                 Removed the variable gtk_use_mb and related codes.
852         * gtk/gtkspinbutton.c
853                 Some changes according to the change of type of entry->text.
854         * gtk/gtktext.h, gtk/gtktext.c
855                 Changed the internal representation of text. We use GdkWchar
856                 if a fontset is supplied. If not, we use guchar to save
857                 memory.
858         
859 Tue Dec  1 15:20:39 1998  Owen Taylor  <otaylor@redhat.com>
860
861         * gdk/gdkwindow.c (gdk_window_new): When creating
862         a window with a specified non-system visual, use
863         a matching colormap.
864
865 Mon Nov 30 11:50:13 1998  Owen Taylor  <otaylor@redhat.com>
866
867         * gdk/gdk.c gdk/gdkim.c gdk/gdkprivate.h gdk/gdk.h
868           gdk/gdktypes.h gtk/gtkeditable.c gtk/gtkmain.c
869           gtk/gtkentry.c gtk/gtktext.c:
870
871          Applied matsu-981109-0
872          [ matsu@arch.comp.kyutech.ac.jp (Takashi Matsuda) ]
873         
874          - Change system of setting input method values 
875            from varargs to a structure, similar to GC's
876            or window attributes.
877
878          - Various fixes to event handling.
879
880          Also:
881
882          * gdk/gdkim.c: Split of input method stuff into
883            a separate source file.
884
885          * Remove GdkIM typedef, change everything from
886            GdkIC to GdkIC * to be consistent with the
887            rest of GTK.
888         
889 Wed Dec  9 00:41:41 1998  Owen Taylor  <otaylor@redhat.com>
890
891         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Allocate
892         correct amount of memory for strings.
893
894 Tue Dec  8 18:29:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
895
896         * Released GTK+ 1.1.6
897
898         * NEWS: updated
899
900         * gtk/Makefile.am:
901           gtk/testgtk.c:
902           gtk/gtkrc.h:
903           gtk/gtkrc.c: Read in default files.
904
905 Wed Dec  9 00:49:12 1998  Tim Janik  <timj@gtk.org>
906
907         * gtk/gtktypeutils.h:
908         * gtk/gtktypeutils.c: added gtk_type_query() which returns a newly
909         allocated structure holding certain type specific informations.
910         fixed the big bunch of `discards const' warnings with the
911         initialization of enum/flags values.
912
913 Tue Dec  8 15:10:17 1998  Owen Taylor  <otaylor@redhat.com>
914
915         * gtk/gtkwindow.c (gtk_window_transient_parent_realized):
916         Fixed order of arguments to gdk_window_transient_for().
917
918 Tue Dec  8 18:02:57 GMT 1998  Tony Gale  <gale@gtk.org>
919
920         * examples/Makefile: simple top level Makefile that invokes all
921           the sub-directory Makefiles.
922
923 1998-12-08  Andrew T. Veliath  <andrewtv@usa.net>
924
925         * gtk/testgtk.c: Functions to test the toolbar space style.
926
927         * gtk/gtktoolbar.c: Add a private GtkToolbarChildSpace subclass of
928         GtkToolbarChild to hold allocation. Set default space style to
929         GTK_TOOLBAR_SPACE_EMPTY, define SPACE_LINE_* for separator
930         fraction defaults.
931         (gtk_toolbar_paint_space_line): New function; paints the separator
932         line, using "toolbar" as the detail.
933         (gtk_toolbar_expose): (gtk_toolbar_draw): Handle CHILD_SPACE when
934         style is set to SPACE_LINE.
935         (gtk_toolbar_size_allocate): Store space allocations.
936         (gtk_toolbar_insert_element): If we are a space, allocate and
937         initialize a GtkToolbarChildSpace instead of a GtkToolbarChild.
938         (gtk_toolbar_set_space_style): New function.
939
940         * gtk/gtktoolbar.h: Add GtkToolbarSpaceStyle, with styles of EMPTY
941         and LINE. Add prototype for gtk_toolbar_set_space_style.
942
943 Mon Dec  7 16:03:55 1998  Owen Taylor  <otaylor@redhat.com>
944
945         * gtk/gtkthemes.h: Remove random unnecessary includes
946         of standard headers.
947
948 1998-12-07  Damon Chaplin  <DAChaplin@msn.com>
949
950         * gtk/gtkfontsel.c (gtk_font_selection_select_best_style): made sure
951         we only try to match styles which are currently shown.
952
953         (gtk_font_selection_init): set the notebook tabs homogeneous and set
954         the border, so we don't need to set the size explicitly (bad for i18n).
955         Used the clist auto-resize feature for the font and style lists on the
956         main page and all the filters. Used padding for the 'Reset Filter'
957         button instead of spaces around it (bad for i18n).
958
959         (gtk_font_selection_find_font): when searching for
960         a font, if we can't match both the family and foundry, we return any
961         font where just the family matches. (The foundry can even be '*'.)
962
963         (gtk_font_selection_show_available_styles): 
964         (gtk_font_selection_realize_list): don't set the style clist row
965         colours (for the charset rows) until the clist is realized, since we
966         use the clist style's insensitive colours.
967
968 Mon Dec  7 13:38:06 1998  Owen Taylor  <otaylor@redhat.com>
969
970         * gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
971         _after_ doing XShmAttach. This should work everywhere,
972         and avoid the need for signal handlers or configure
973         checks.
974
975 Thu Dec  3 19:58:45 1998  Owen Taylor  <otaylor@redhat.com>
976
977         * gtk/gtkinputdialog.c: Use _add_with_viewport() for
978         scrolled window contents.
979
980 1998-12-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
981
982         * gtk/gtkpaned.h (struct _GtkPaned): Removed the unused cursor
983         field in the structure.
984
985 Mon Dec  7 15:15:06 GMT 1998  Tony Gale <gale@gtk.org>
986
987         * docs/gtk_tut.sgml: Start mass update for GTK 1.1
988         * examples/extract.sh: Look for the best version of awk
989         * examples/extract.awk: Fix FD leak
990         * example/base: minimal example from Tutorial
991
992 Mon Dec  7 01:29:27 1998  Owen Taylor  <otaylor@gtk.org>
993
994         * gtk/gtkwindow.c: New functions
995         gtk_window_set_transient_for() - set up a "transient for" relationship.
996         gtk_window_set_default_size() - set the initial size of a window
997            distinct from its minimum size.
998         gtk_window_set_geometry_hints() - Allow the user to set
999            minimum, maximum sizes, aspect rations, and gridded geometry, 
1000            possibly all with respect to a subwidget of the window.
1001         These interfaces are still a wee bit experimental.
1002
1003         * gdk/gdk.c: Added gdk_window_set_transient_for(),
1004         gdk_window_set_geometry_hints(), and gdk_window_set_role().
1005
1006         * gdk/gdktypes.h: Added new types for find-grained specification
1007         of WM hints.
1008
1009         * gtk/testgtk.c: Various changes to tests to test the
1010         above new functions.
1011
1012         * gtk/gtkfontsel.c: Squash a few 'const' warnings.
1013         
1014         * gtk/gtktogglebutton.c (gtk_toggle_button_realize): Restored
1015         call to gtk_style_set_background() to prevent egregious
1016         flashing to black.
1017
1018 Mon Dec  7 03:52:01 1998  Tim Janik  <timj@gtk.org>
1019
1020         * gtk/gtksignal.c (gtk_handlers_run): when marshalling connect_object
1021         signals, don't pass the data pointer twice, but swap it with the
1022         object pointer (proposed on Nov 30 1998 on gtk-devel-list).
1023
1024 Mon Dec  7 03:08:39 1998  Tim Janik  <timj@gtk.org>
1025
1026         * gtk/gtktypeutils.h: 
1027         * gtk/gtktypeutils.c: reverted Marius's change to expose the type systems
1028         internal type info data to the user. if such functionality is required
1029         we should provide wrapping accessors, ala gtk_signal_query(). also the
1030         GtkTypeInfo structures are dynamically allocated memory portions, so
1031         only the type system is really allowed to access that stuff.
1032
1033         * gtk/gtksignal.c (gtk_signal_connect_by_type): reverted marius change,
1034         since it destroys the possibility to implement automatic marshaller
1035         lookups some day, and it also disables third party code's ability to
1036         connect to any signal.
1037
1038 Mon Dec  7 01:32:18 1998  Tim Janik  <timj@gtk.org>
1039
1040         * gtk/gtkfilesel.c (gtk_file_selection_key_press): always intercept the
1041         Tab key on the entry. the focus shouldn't get lost even if completion
1042         is attempted from an empty entry, since an empty entry string does
1043         indeed have a valid completion meaning (complete all).
1044         (gtk_file_selection_init): cast the gchar array parameter in calls to
1045         gtk_clist_new_with_titles() to quit compiler warnings.
1046         (check_dir): the no_stat_dirs struct must not be const, since we do
1047         indeed modify its contents.
1048
1049         * gtk/testgtk.c (event_watcher): adapted prototype to fit new emission
1050         hook semantics.
1051
1052         * gtk/gtksignal.h:
1053         * gtk/gtksignal.c:
1054         changed emission allocation, so we don't use a doubly linked list
1055         but link ourselfs (singly linked).
1056         changed emission hooks, they get the emision parameters passed as
1057         well now and are emitted during the actuall signal emission (after
1058         the RUN_FIRST class method, but prior to RUN_FIRST handlers).
1059         the existing restrictions do still apply to signal emission hooks,
1060         i.e. an emission may not be stopped or restarted from an emission hook.
1061         due to possibly huge perfomance impacts, frequent use of emision hooks
1062         is also not recommended.
1063         (gtk_signal_next_and_invalidate): added an
1064         assertments which explicits what the code assumes anyways: a
1065         maximum amount of 65535 signals.
1066
1067         * gtk/gtkcontainer.h: deprecated gtk_container_foreach_interp(),
1068         gtk_container_foreach_full() should be used instead.
1069
1070         * gtk/gtkmain.h:
1071         deprecated gtk_timeout_add_interp and gtk_idle_add_interp, since
1072         we provide _full variants.
1073
1074         * gtk/gtksignal.h: deprecated gtk_signal_connect_interp(), we provide
1075         gtk_signal_connect_full() for long enough now.
1076
1077 1998-12-06  Marius Vollmer  <mvo@zagadka.ping.de>
1078
1079         * gtk/gtksignal.c (gtk_signal_newv): Allow a NULL marshaller.
1080         (gtk_signal_connect_by_type): Allow only no_marshal handlers to
1081         connect to signals with a NULL marshaller.
1082
1083         * gtk/gtktypeutils.c (gtk_type_get_info): New.
1084         gtk/gtktypeutils.h (gtk_type_get_info): New prototype.
1085
1086 Sun Dec  6 14:27:35 1998  Stefan Jeske  <stefan@gtk.org>
1087
1088         * gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out
1089         arrows if wrap == FALSE and interval borders are reached.
1090
1091 Sat Dec  5 21:07:09 1998  Owen Taylor  <otaylor@gtk.org>
1092
1093         * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
1094         long-standing typo in aspect ratio computation code.
1095         (pointed out by Sebastian Rittau <srittau@jroger.in-berlin.de>)
1096
1097 Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>
1098
1099         * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
1100         valid row numbers only
1101         (toggle_row): check if clist_row != NULL
1102
1103 Fri Dec  4 00:50:12 1998  Lars Hamann  <lars@gtk.org>
1104
1105         * gtk/gtkctree.c (gtk_ctree_export_to_gnode): fixed for-loop.
1106
1107         * gtk/gtkclist.c 
1108         (gtk_clist_set_column_visibility)
1109         (gtk_clist_column_titles_active)
1110         (gtk_clist_column_titles_active)
1111         (gtk_clist_column_title_passive)
1112         (gtk_clist_column_title_active): few additional tests whether
1113         column->button != NULL
1114
1115 Thu Dec  3 16:49:18 1998  Owen Taylor  <otaylor@redhat.com>
1116
1117         * gtk/gtkdnd.c (DROP_ABORT_TIME): Changed to 5 min
1118         from 10 seconds, so it doesn't abort while users
1119         have an ACTION_ASK menu up.
1120
1121         * gtk/gtkdnd.c: Hide the icon window between sending a a 
1122         drop event to the destination and displaying the
1123         snapback animation, so that it doesn't hang around
1124         during ACTION_ASK.
1125
1126 Thu Dec  3 16:37:42 1998  Owen Taylor  <otaylor@redhat.com>
1127
1128         * gtk/gtkclist.c (get_cell_style): Use GTK_STATE_INSENSITIVE
1129         for the foreground of cells for CLists in the insensitive
1130         state, instead of GTK_STATE_PRELIGHT.
1131
1132 Thu Dec  3 06:20:59 1998  Tim Janik  <timj@gtk.org>
1133
1134         * gtk/gtkwindow.c: moved checks upon focus setting from
1135         gtk_window_real_set_focus to gtk_window_set_focus, so we don't
1136         emit the signal if unneccessary.
1137
1138         * gtk/gtkwidget.c (gtk_widget_grab_focus): clear up the old focus
1139         containers when grabbing focus on a new widget. this is based on
1140         a patch from Alexis Mikhailov, submitted to gtk-list on 4 Nov 1998.
1141
1142         * gtk/gtkclist.c (gtk_clist_focus_out): set CLIST_CHILD_HAS_FOCUS
1143         flag, so we take the buttons into consideration upon the next focus
1144         request.
1145
1146         * gtk/gtkcontainer.c (gtk_container_set_focus_child): fixed an
1147         assertment.
1148
1149 Wed Dec  2 17:45:21 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1150
1151         * gtk/gtkpixmap.c: Fixes for low-color displays and a slight
1152           enhancement for true-color displays.
1153
1154         * INSTALL:
1155           README:
1156           configure.in:
1157           gtk+.spec:
1158           docs/gtk-config.1: up to version 1.1.6
1159
1160 Wed Dec  2 01:36:49 PST 1998 Manish Singh <yosh@gimp.org>
1161
1162         * gtk/gtkfeatures.h.in: lets #define GTK_HAVE_FEATURES_1_1_6 before
1163         we release it this time
1164
1165 Wed Dec  2 01:39:02 1998  Tim Janik  <timj@gtk.org>
1166
1167         * gtk/gtknotebook.h: 
1168         * gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
1169
1170         * incremented version number to 1.1.6 and made Gtk
1171         dependant on GLib 1.1.6.
1172
1173         * gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
1174         from guint16 to gint16, since sizes bigger than 32767 are not supported
1175         anyways, and aritmethics with intermediate negative values are possible
1176         now.
1177
1178 Tue Dec  1 00:00:04 1998  Tim Janik  <timj@gtk.org>
1179
1180         * gtk/gtkscrolledwindow.c:
1181         implementation of GTK_POLICY_NEVER functionality, added rationales
1182         on the policy and size requisition handling at the top.
1183         (gtk_scrolled_window_size_request):
1184         we assume a default minimum for our child's width and height
1185         if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
1186         specified the dimension explicitely.
1187         (gtk_scrolled_window_size_allocate): 
1188         do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
1189
1190         * gtk/gtkviewport.c (gtk_viewport_size_request): report the real
1191         size we require (including the child).
1192
1193         * gtk/gtkclist.c:
1194         (gtk_clist_size_request): report the real size required.
1195
1196         * gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
1197
1198         * gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
1199         need to be a static variable.
1200
1201 Mon Nov 30 22:41:25 1998  Tim Janik  <timj@gtk.org>
1202
1203         * gtk/gtkclist.h: 
1204         * gtk/gtkclist.c: 
1205         * gtk/gtkviewport.h:
1206         * gtk/gtkviewport.c:
1207         * gtk/gtktext.h:
1208         * gtk/gtktext.c:
1209         * gtk/gtklayout.h:
1210         * gtk/gtklayout.c:
1211         * gtk/gtkwidget.h:
1212         * gtk/gtkwidget.c:
1213         * gtk/gtkscrolledwindow.h:
1214         * gtk/gtkscrolledwindow.c:
1215         s/scroll_adjustements/scroll_adjustments/
1216         s/scroll_adjustments/set_scroll_adjustments/g
1217
1218 Tue Dec  1 22:45:58 1998  Lars Hamann  <lars@gtk.org>
1219
1220         * gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
1221         row_move.
1222         * gtk/gtkclist.c (gtk_clist_row_move): new public function.
1223         emit a row_move signal
1224         (real_row_move): move source_row to dest_row
1225         (gtk_clist_swap_rows): use gtk_clist_row_move calls.
1226         (gtk_clist_columns_autosize): resize all columns to their optimal
1227         width
1228         * gtk/gtkctree.c (real_row_move): use gtk_ctree_move to move
1229         entire sub-tree.
1230         * gtk/gtknotebook.c (gtk_notebook_nth_page): get nth page widget.
1231
1232 Tue Dec  1 02:40:22 PST 1998 Manish Singh <yosh@gimp.org>
1233
1234         * configure.in
1235         * gdk/Makefile.am
1236         * gtk/Makefile.am: Put -DFOO stuff into Makefile.am INCLUDES.
1237         Separate vars for each, for granularity.
1238
1239 Tue Dec  1 02:19:54 1998  Tim Janik  <timj@gtk.org>
1240
1241         * gtk/gtkenums.h: fixed a stupid error of mine about the run type
1242         values.
1243
1244 1998-11-30  Elliot Lee  <sopwith@cuc.ml.org>
1245
1246         * {gdk,gtk}/*.c: Make read-only data structures "static const" to
1247         allow them to be shared, mainly including (but not limited to) the
1248         GtkTypeInfo structures for each class.
1249
1250         * gtk/gtkfilesel.c: Add /net to the "leave me alone" directory listing.
1251
1252 Mon Nov 30 12:17:10 1998  Jeff Garzik  <jgarzik@pobox.com>
1253
1254         * gtk/gtksignal.c:
1255         Surround debug variable with #ifdef to silence gcc.
1256
1257         * gtk/gtknotebook.c (gtk_notebook_reorder_child):
1258         Added initializer to quiet gcc warning.
1259         Added assertion to check for null pointer deref.
1260
1261 Mon Nov 30 10:11:29 1998  Tim Janik  <timj@gtk.org>
1262
1263         * gtk/testgtkrc: merged testgtkrc with the pre-themes one, removed
1264         system specific includes.
1265
1266         * gtk/gtksignal.c: asured that stop and restart emissions are also
1267         checked and processed for not connected objects. fixed up restart
1268         emission administration. invoke emission hooks after emission, hooks
1269         are not supposed to muck around with the current emission, and
1270         may also not cause emission restarts. fixed up stop emission
1271         administration.
1272
1273 Mon Nov 30 06:20:36 1998  Tim Janik  <timj@gtk.org>
1274
1275         * gtk/testgtk.c: added an event watcher for enter/leave based on
1276         signal emission hooks.
1277
1278         * gtk/gtkobject.c (gtk_object_class_init): made GtkObject::destroy a
1279         GTK_RUN_NO_HOOKS signal.
1280
1281         * gtk/gtksignal.h: 
1282         * gtk/gtksignal.c: implemented emission hooks, new hooks can be added
1283         to a signal with gtk_signal_add_emission_hook or
1284         gtk_signal_add_emission_hook_full, and can be removed again with
1285         gtk_signal_remove_emission_hook.
1286
1287         * gtk/gtkenums.h: remove GTK_RUN_MASK, since it doesn't represent
1288         an appropriate mask for signal runtypes for a long time now.
1289         added GTK_RUN_NO_HOOKS value, which is used to flag signals
1290         that do not allow the running of signal hooks.
1291
1292 1998-11-26  Michael Krause  <m.krause@tu-harburg.de>
1293
1294         * gtk/gtknotebook.c (gtk_notebook_switch_page): made 'page_num'
1295         argument a gint: switch_page signal delivers valid page numbers
1296         again.
1297
1298 Sun Nov 29 06:12:01 1998  Tim Janik  <timj@gtk.org>
1299
1300         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_[hv]adjustment): 
1301         set composite names.
1302
1303         * gtk/gtktypeutils.c (gtk_type_unique): removed default initialization
1304         check, people must use gtk_type_init().
1305         fixed up type allocation for foreign fundamentals.
1306
1307         * gtk/gtkwidget.h: 
1308         * gtk/gtkwidget.c: added gtk_widget_set_composite_name() which is meant
1309         for internal use by containers, that want to assign specific composite
1310         names to their composite children.
1311         added gtk_widget_get_composite_name() which will return a newly
1312         allocated string, containing the composite name of a widget. valid
1313         composite names can only be retrived from widgets that have a parent
1314         assigned and are flagged as GTK_COMPOSITE_CHILD.
1315
1316         * gtk/gtkcontainer.h:
1317         * gtk/gtkcontainer.c: added a new function
1318         gtk_container_child_default_composite_name() which will return a
1319         newly allocated string, holding the composite name of a containers
1320         child. a default implementation is provided which will compose the
1321         composite name out of the widgets type and its sequential children
1322         id. this implementation can be overidden through a new class function
1323         *(composite_name)().
1324
1325 Sat Nov 28 10:57:59 1998  Owen Taylor  <otaylor@redhat.com>
1326
1327         * gtk/gtkwindow.c (gtk_window_expose_event): Removed bogus
1328         expose_event handler - we had two expose_event
1329         handlers!
1330
1331 Sat Nov 28 03:13:42 1998  Tim Janik  <timj@gtk.org>
1332
1333         * gtk/gtkscrolledwindow.h: 
1334         * gtk/gtkscrolledwindow.c: changed scrolled window inheritance,
1335         it inherits from GtkBin now.
1336
1337         * gtk/gtkbin.c (gtk_bin_unmap): removed superfluous check for
1338         visibility of child.
1339         (gtk_bin_draw): removed superfluous check for GTK_WIDGET_DRAWABLE().
1340         added check so a child gets only drawn if it's visible.
1341
1342         * gtk/gtkwidget.h: 
1343         * gtk/gtkwidget.c: removed gtk_widget_draw_children().
1344
1345         * gtk/gtkstyle.h: 
1346         * gtk/gtkstyle.c: rmoved gtk_reset_widget_shapes.
1347
1348         * gtk/gtkwidget.h: 
1349         * gtk/gtkwidget.c: removed crufty relict: gtk_widget_is_child().
1350         added internal function gtk_widget_reset_shapes() from gtkstyle.c.
1351
1352         * gtk/gtkrc.h:
1353         * gtk/gtkrc.c: (gtk_rc_find_pixmap_in_path): removed bogus gscanner
1354         argument, changed callers.
1355
1356         * gtk/gtkmenufactory.c: GtkMenuFactory is deprecated for a long time,
1357         it will issue a warning now.
1358
1359         * gtk/gtkcompat.h: new file to #define aliases for historic
1360         function names.
1361
1362         * changed 8 function names for consistency and provided aliases to keep
1363         source compatibility in gtkcompat.h:
1364         (gtk_accel_label_get_accel_width): renamed from gtk_accel_label_accelerator_width
1365         (gtk_container_set_border_width): renamed from gtk_container_border_width
1366         (gtk_notebook_get_current_page): renamed from gtk_notebook_current_page
1367         (gtk_packer_configure): renamed from gtk_packer_set_child_packing
1368         (gtk_paned_set_gutter_size): renamed from gtk_paned_gutter_size
1369         (gtk_paned_set_handle_size): renamed from gtk_paned_handle_size
1370         (gtk_scale_get_value_width): renamed from gtk_scale_value_width
1371         (gtk_window_set_position): renamed from gtk_window_position
1372
1373         * renamed a few recently added funtions for consistency:
1374         (gtk_notebook_get_tab_label): renamed from gtk_notebook_query_tab_label.
1375         (gtk_notebook_get_menu_label): renamed from gtk_notebook_query_menu_label.
1376         (gtk_progress_configure): renamed from gtk_progress_reconfigure.
1377
1378 Fri Nov 27 18:57:20 PST 1998 Manish Singh <yosh@gimp.org>
1379
1380         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
1381         check for existing viewport first, and don't add one if there
1382         already is one
1383
1384 Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
1385
1386         * gtk/gtkwidget.h: 
1387         * gtk/gtkwidget.c: deprecated gtk_widget_freeze_accelerators and
1388         gtk_widget_thaw_accelerators, we provide gtk_widget_lock_accelerators
1389         and gtk_widget_unlock_accelerators.
1390
1391         * gtk/gtklayout.h:
1392         * gtk/gtklayout.c: implemented incremental freezing facility.
1393
1394         * gtk/gtktext.h: 
1395         * gtk/gtktext.c: implemented incremental freezing facility.
1396
1397         * gtk/gtkenums.h:
1398         * gtk/gtkaccelgroup.h: moved enum GtkAccelFlags into this place.
1399
1400         * gtk/gtkentry.h:
1401         * gtk/gtkentry.c:
1402         deprecated gtk_entry_adjust_scroll().
1403         
1404         * random GtkType, macro and indentation fixes.
1405
1406 Fri Nov 27 22:50:15 1998  Tim Janik  <timj@gtk.org>
1407
1408         * gtk/gtkclist.h: 
1409         * gtk/gtkclist.c: implemented incremental freezing facility, added
1410         a new class member (*refresh)() which takes over the thaw
1411         functionality. the clist FROZEN flag got removed on the way.
1412         * gtk/gtkctree.c: adaptions to feature the clist refresh functionality
1413         and incremental freezing.
1414
1415         * gtk/gtkcalendar.c: implemented incremental freezing facility.
1416
1417 Fri Nov 27 11:41:27 1998  Raph Levien  <raph@gimp.org>
1418
1419         * gdk/gdkinputcommon.h (gdk_input_common_init): Fixed it so that
1420         it still includes the core pointer in gdk_input_devices even
1421         if the XInput extension is not present in the X server.
1422
1423 Fri Nov 27 12:17:15 1998  Owen Taylor  <otaylor@redhat.com>
1424
1425         * gtk/gtkdnd.[ch] (gtk_drag_get_source_widget): New function to
1426         get the source widget of a drag.
1427
1428         * gtk/gtkdnd.[ch]: Target flags GTK_TARGET_SAME_[WIDGET/APP]
1429         to restrict certain targets to the same widget or to
1430         the same application.
1431
1432         * gtk/testdnd.c: Test gtk_drag_get_source_widget().
1433         
1434 Thu Nov 26 19:11:46 1998  Lars Hamann  <lars@gtk.org>
1435
1436         * gtk/gtk-boxed.defs (GtkCTreeNode): define GtkCTreeNode as boxed type
1437         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_CTREE_NODE_TYPE
1438         instead of GTK_TYPE_POINTER in signal definitions.
1439         (patch from James Henstridge <james@daa.com.au>)
1440
1441 Thu Nov 26 18:48:44 1998  Lars Hamann  <lars@gtk.org>
1442
1443         * gtk/gtkclist.c (set_cell_contents)
1444         * gtk/gtkctree.c (set_cell_contents): call column_auto_resize only
1445         if auto.resize == TRUE
1446
1447         * gtk/gtknotebook.c (gtk_notebook_set_shape) (gtk_notebook_expose):
1448         don't draw tab, if show_tabs == FALSE
1449         (bug reports from Alexis Mikhailov / Dave Cole)
1450         (gtk_notebook_focus_changed) (gtk_notebook_draw_focus): draw only
1451         the focus rectangle, not the hole tab.
1452
1453 Thu Nov 26 03:18:08 1998  Tim Janik  <timj@gtk.org>
1454
1455         * gtk/gtkclist.h: 
1456         * gtk/gtkctree.h: 
1457         * gtk/gtkclist.c:
1458         * gtk/gtkctree.c: reverted bogus and undocumented!!! changes from
1459         Jay Cox (98/11/23 13:53:26) which `const' qualified char* arrays.
1460
1461         * gtk/maketypes.awk: changed underline substitution, so we get
1462         GTK_TYPE_CTREE_POS instead of the broken GTK_TYPE_C_TREE_POS.
1463         * gtk/makeenums.pl: likewise.
1464         * gtk/gtkctree.c: adapted type names accordingly.
1465
1466 Tue Nov 24 11:31:06 1998  Owen Taylor  <otaylor@redhat.com>
1467
1468         * docs/Changes-1.2.txt: Edited section on the ScrolledWindow.
1469
1470         * gtk/gtklayout.c (gtk_layout_set_[hv]adjustment): Remove
1471         some code duplication.
1472
1473         * gtk/gtklayout.[ch] Fixed mapping and unmapping of child windows
1474         and child widgets when scrolling greater than 32k pixels.
1475
1476         * testgtk.c: Modified layout test to test scrolling over 
1477         long distances.
1478
1479         * gtk/gtkplug.c: Added a few blank lines.
1480
1481 Tue Nov 24 11:11:05 1998  Owen Taylor  <otaylor@redhat.com>
1482
1483         * gtk/gtklayout.[ch]: Fixed up copyright message.
1484
1485         * gdk/gdkrgb.c (DM): Make the dither matrix constant
1486         so it can be shared.
1487
1488         * gtk/gtkdnd.c: Make cursor bitmaps const.
1489
1490         * gdk/gdk.h gdk/gdkpixmap.c: Added const to 
1491         gdk_pixmap/bitmap_create_from_data.
1492
1493 Tue Nov 24 07:46:09 1998  Tim Janik  <timj@gtk.org>
1494
1495         * docs/Changes-1.2.txt: added a section on scrolled windows and
1496         scrollable widgets.
1497
1498 1998-11-24  Andrew T. Veliath  <andrewtv@usa.net>
1499
1500         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Include radio
1501         buttons when setting relief for button items.
1502         (gtk_toolbar_set_button_relief): Same.
1503
1504 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
1505
1506         * gdk/Makefile.am, gtk/Makefile.am:
1507         Removed DEFS "+=" mess that breaks recent automakes.
1508         INCLUDES is the correct way to add to CFLAGS from Makefile.am.
1509
1510         * gdk/gdk.c, gdk/gdkglobals.c, gdk/gdkimage.c, gdk/gdkinput.c,
1511         gdk/gdkpixmap.c, gdk/gdkthreads.c, gdk/gdkwindow.c,
1512         gdk/gxid_lib.c, gtk/fnmatch.c, gtk/gtkclist.c, gtk/gtkmain.c,
1513         gtk/testthreads.c:
1514         Include "config.h" instead of "../config.h".
1515         Now that DEFS works again, automake will automatically pass us
1516         the location of config.h in -I.
1517
1518 Mon Nov 23 22:10:09 1998  Owen Taylor  <otaylor@redhat.com>
1519
1520         * gtk/Makefile.am gtk/gtk.h gtk/gtklayout.[ch]
1521         gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/gtk.h:
1522
1523         Added layout widget for scrolling arbitrarily big areas.
1524         Added plug/socket widgets for interprocess embedding.
1525
1526         These widgets still, at some point, need to be
1527         made more pure in their use of GDK, as opposed
1528         to raw X.
1529
1530         * gtk/testgtk.c: Added test for layout widget.
1531         
1532 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
1533
1534         * gtk/gtkclist.c: (gtk_clist_swap_rows):  Bugfix from
1535         Brandon Long <blong@fiction.net> - do the right thing with first
1536         and last, which are the absolute values of row arguments row1
1537         and row2.
1538
1539 Mon Nov 23 04:24:55 PST 1998 Manish Singh <yosh@gimp.org>
1540
1541         * gtk/gtkprogress.c: (gtk_progress_set_adjustment): make a saner
1542         default adjustment (from 0 to 100) instead. I'm not sure if this
1543         is the correct level for the fix, but gtk_progress_bar_new()'s
1544         original default behavior is restored.
1545
1546 1998-11-23  Martin Baulig  <martin@home-of-linux.org>
1547
1548         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_5): Define this so
1549         we can check for latest GTK features.
1550
1551 1998-11-23  Havoc Pennington  <hp@pobox.com>
1552
1553         * gtk/gtktoolbar.c: (gtk_toolbar_set_relief):
1554         (gtk_toolbar_insert_element): When setting relief, also affect
1555         toggle buttons.
1556
1557 Sun Nov 22 20:37:06 PST 1998 Manish Singh <yosh@gimp.org>
1558
1559         * gtk/gtkobject.h: remove extraneous comma
1560
1561 Mon Nov 23 05:21:50 1998  Tim Janik  <timj@gtk.org>
1562
1563         * gtk/gtkcontainer.c:
1564         (gtk_container_add_with_args): 
1565         (gtk_container_addv): 
1566         (gtk_container_add): removed assertements for constructed containers
1567         again, since this essentially breaks the "child" arg.
1568
1569         * gtk/gtktooltips.c (gtk_tooltips_force_window): fixup the draw_window
1570         reference count, we don't need to reference toplevels that already have
1571         destroy notifiers.
1572
1573         * gtk/gtkscrolledwindow.c: check for the composites existance in
1574         _forall since we might not be already constructed.
1575
1576 Sun Nov 22 14:34:58 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1577
1578         * Released GTK+ 1.1.5
1579
1580         * configure.in: require GLib 1.1.5
1581
1582 Mon Nov 23 03:21:17 1998  Tim Janik  <timj@gtk.org>
1583
1584         * gtk/gtktext.c (gtk_text_destroy): disconnect hadj & vadj, not
1585         2 * hadj.
1586         (gtk_text_finalize): only unref the current_font if we have
1587         been realized.
1588
1589 Sat Nov 21 18:41:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1590
1591         * configure.in:
1592           INSTALL:
1593           NEWS:
1594           README:
1595           gtk+.spec:
1596           docs/gtk-config.1: Version incremented to 1.1.5
1597
1598 Sun Nov 22 16:21:28 1998  Tim Janik  <timj@gtk.org>
1599
1600         * gtk/gtkprogress.c: added args ::show_text, ::text_xalign,
1601         ::text_yalign, ::activity_mode.
1602
1603         * gtk/gtkprogressbar.c: added construct arg ::adjustment. added args
1604         ::bar_style, ::orientation, ::discrete_blocks, ::activity_step,
1605         ::activity_blocks.
1606         (gtk_progress_bar_new):
1607         (gtk_progress_bar_new_with_adjustment): use gtk_widget_new().
1608         (gtk_progress_bar_construct): deprecated.
1609
1610         * gtk/gtkvscrollbar.c:
1611         (gtk_vscrollbar_draw_step_back): 
1612         (gtk_vscrollbar_draw_step_forw): use "vscrollbar" as detail for
1613         gtk_paint_arrow, to be consistent with hscrollbar.
1614
1615         * gtk/gtktext.c
1616         added construct args ::hadjustment, ::vadjustment.
1617         added args ::line_wrap, ::word_wrap.
1618         (gtk_text_class_init): added scroll_adjustments signal.
1619         (gtk_text_new): use gtk_widget_new.
1620         (gtk_text_disconnect): remove adjustement with gtk_text_set_adjustments,
1621         so we don't screw the reference counts and don't leave signals connected.
1622         (gtk_text_destroy): disconnect adjustments signals.
1623         (gtk_text_finalize): unref adjustments.
1624
1625         * gtk/gtkctree.c: added construct args ::n_columns and ::tree_column.
1626         added args ::indent, ::spacing, ::show_stub, ::reorderable,
1627         ::use_drag_icons, ::line_style and ::expander_style.
1628         (gtk_ctree_set_show_stub): renamed from gtk_ctree_show_stub, which is
1629         deprecated now.
1630
1631         * gtk/gtkclist.h: remove GTK_CLIST_CONSTRUCT flag.
1632         * gtk/gtkclist.c:
1633         removed ::vadjustment and ::hadjustment args, introduced
1634         ::scroll_adjustments signal.
1635         added ::shadow_type, ::selection_mode and ::row_height args.
1636         added n_columns construct arg.
1637         (gtk_clist_construct): call gtk_object_constructed().
1638         (gtk_clist_set_row_height): if height is passed as 0,
1639         revert to automatic height calculation.
1640         (gtk_clist_destroy): before unrefing the adjustments, disconnect our
1641         signal handlers.
1642
1643 Fri Nov 21 22:34:58 1998  Tim Janik  <timj@gtk.org>
1644
1645         * gtk/gtkwidget.c (gtk_widget_new): call gtk_object_default_construct
1646         like gtk_object_new.
1647         (gtk_widget_destroy): assert that we only destroy constructed widgets.
1648
1649         * gtk/gtkobject.h (enum GtkArgFlags): new flag GTK_ARG_CONSTRUCT_ONLY
1650         to identify args that may only be used for construction.
1651         GTK_ARG_CONSTRUCT maybe used as normal arguments besides construction
1652         time.
1653         * gtk/gtkobject.c (gtk_object_new): invoke gtk_object_default_construct
1654         at the end if the object is not fully constructed.
1655         (gtk_object_newv): likewise.
1656         (gtk_object_destroy): assert that we only destroy constructed objects.
1657         (gtk_object_init): setup GTK_CONSTRUCTED from the
1658         objects real klass.
1659         (gtk_object_default_construct): new function to complete default
1660         construction of an object by applying missing construtor args with
1661         default values of 0, 0.0 or NULL.
1662         (gtk_object_constructed): new function to mark an object as being
1663         constructed (used from within constructors).
1664
1665         * gtk/gtkarg.c (gtk_arg_type_new_static): return the args info pointer
1666         so it is immediatedly available for the caller.
1667
1668         * gtk/gtktypeutils.c (gtk_type_new): pass an object's real class to
1669         the object initilizer (GtkObjectInitFunc takes a second arg now, the
1670         real klass), and asure that object initializers may temporarily alter
1671         the class pointer.
1672
1673 Fri Nov 20 08:00:30 1998  Tim Janik  <timj@gtk.org>
1674
1675         * gtk/testgtk.c: change all occourances of gtk_container_add (
1676         scrolled_window, widget) to gtk_scrolled_window_add_with_viewport (...)
1677         for widget!=(clist, ctree, text, viewport).
1678
1679         * gtk/gtkcombo.c:
1680         (gtk_combo_init): use gtk_scrolled_window_add_with_viewport()
1681         to add children to the scrolled window.
1682
1683         * gtk/gtkscrolledwindow.h:
1684         * gtk/gtkscrolledwindow.c:
1685         changed scrolled_window->viewport to scrolled_window->child, and use
1686         gtk_widget_scroll_adjustements() to set the scroll adjustments for the
1687         widget, we do not create an additional viewport anymore.
1688         added ::hadjustment and ::vadjustment constructor args.
1689         (gtk_scrolled_window_new): use gtk_widget_new() to create the widget.
1690         (gtk_scrolled_window_set_hadjustment):
1691         (gtk_scrolled_window_set_vadjustment): new functions that superceed
1692         gtk_scrolled_window_construct.
1693         (gtk_scrolled_window_construct): deprecated this function.
1694         
1695         * gtk/gtkhscrollbar.c:
1696         * gtk/gtkvscrollbar.c:
1697         * gtk/gtkhscale.c:
1698         * gtk/gtkvscale.c:
1699         support a constructor arg "::adjustment", and use gtk_widget_new() for
1700         the widget creation.
1701
1702         * gtk/gtkrange.c: added ::update_policy arg.
1703         (gtk_range_set_adjustment): if adjustment is passed in as NULL, create
1704         a default adjustment so this function can be used for derived widgets
1705         that depend on the adjustment's existance.
1706         (gtk_range_destroy): disconnect the adjustment signal, so we don't
1707         get called after we got destroyed, we don't destroy the adjustment
1708         in here, because it might have been provided from another widget.
1709
1710         * gtk/gtkviewport.c: introduced ::scroll_adjustments signal.
1711         (gtk_viewport_destroy): same as gtk_range_destroy.
1712
1713         * gtk/gtkprogress.c (gtk_progress_destroy): same as gtk_range_destroy.
1714
1715         * gtk/gtkwidget.h: 
1716         * gtk/gtkwidget.c: changed gtk_widget_activate() to return a
1717         gboolean, indicating whether this widget supports activation.
1718         added gtk_widget_scroll_adjustements() to set the scrolling
1719         adjustments of a widget.
1720
1721 Wed Nov 19 01:22:42 1998  Tim Janik  <timj@gtk.org>
1722
1723         * gtk/gtkoptionmenu.c:
1724         (gtk_option_menu_remove_contents):
1725         (gtk_option_menu_update_contents): removed
1726         gtk_container_[un]block_resize() pairs.
1727
1728         * gtk/gtknotebook.h: 
1729         * gtk/gtknotebook.c: removed the tab_border field, since it shouldn't
1730         be used outside of gtknotebook.c anyways. made ARG_TAB_BORDER a
1731         wrtie-only argument.
1732
1733         * *.c: made deprecated functions issue a message:
1734         gtk_clist_set_border, gtk_container_block_resize,
1735         gtk_container_unblock_resize, gtk_container_need_resize,
1736         gtk_object_class_add_user_signal, gtk_spin_button_construct,
1737         gtk_scrolled_window_construct.
1738         removed non-functional functions:
1739         gtk_container_disable_resize, gtk_container_enable_resize,
1740         gtk_clist_set_policy.
1741
1742 Wed Nov 18 22:54:36 1998  Tim Janik  <timj@gtk.org>
1743
1744         * gtk/gtkbox.c (gtk_box_init): 
1745         * gtk/gtkdrawingarea.c (gtk_drawing_area_init): 
1746         * gtk/gtkeventbox.c (gtk_event_box_init): 
1747         * gtk/gtkfixed.c (gtk_fixed_init): 
1748         * gtk/gtkframe.c (gtk_frame_init): 
1749         * gtk/gtkhandlebox.c (gtk_handle_box_init): 
1750         * gtk/gtkpacker.c (gtk_packer_init): 
1751         * gtk/gtkmisc.c (gtk_misc_init): 
1752         * gtk/gtkpreview.c (gtk_preview_init): 
1753         * gtk/gtkprogress.c (gtk_progress_init): 
1754         * gtk/gtkprogressbar.c (gtk_progress_bar_init): 
1755         * gtk/gtkseparator.c (gtk_separator_init): 
1756         * gtk/gtktable.c (gtk_table_init): 
1757         * gtk/gtkviewport.c (gtk_viewport_init): 
1758         * gtk/gtkalignment.c (gtk_alignment_init): 
1759         removed setting of the GTK_BASIC flag.
1760
1761         * gtk/gtkwidget.h:
1762         * gtk/gtkwidget.c:
1763         removed GTK_BASIC, GTK_WIDGET_BASIC and gtk_widget_basic.
1764
1765         * miscellaneous GtkType and macro fixups.
1766
1767 Sat Nov 21 18:53:13 1998  Owen Taylor  <otaylor@redhat.com>
1768
1769         * gdk/gdkwindow.c (gdk_window_get_deskrelative_origin): 
1770         Fixed so it at least works with window managers other
1771         than Enlightenment, though it probably needs to be
1772         removed altogether.
1773
1774 1998-11-21  Andrew T. Veliath  <andrewtv@usa.net>
1775
1776         * gtk/gtkhandlebox.[ch]: Add shadow_type and
1777         gtk_handle_box_set_shadow_type function (plus a
1778         GtkHandleBox::shadow arg) to allow configuration of shadow in the
1779         bin window.
1780
1781 Thu Nov 19 23:47:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1782
1783         * gtk/gtkcalendar.c: Fix for marking days from 
1784           Dan Reish <dreish@izzy.net>.
1785
1786 Thu Nov 19 00:15:27 1998  Lars Hamann  <lars@gtk.org>
1787
1788         * gtk/gtkctree.c (gtk_ctree_node_nth): return the nth GtkCTreeNode
1789         in row_list. (from Samuel Solon <ssolon@usa.net>)
1790         
1791         * gtk/gtkclist.c (gtk_clist_get_column_title): return column title
1792         (gtk_clist_get_column_widget): return column widget
1793
1794 Wed Nov 18 11:54:57 1998  Owen Taylor  <otaylor@redhat.com>
1795
1796         * gtk/gtkdnd.c (gtk_drag_find_widget): Accept drops
1797         that are sent to a toplevel but are not within the
1798         toplevels bounds.
1799
1800         * gdk/gdkdnd.c gdk/gdk.h: Added support for a
1801         XdndProxy atom which proxies the drag to another window.
1802
1803 1998-11-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1804
1805         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, now
1806         that it is not needed.
1807
1808 Tue Nov 17 1998 The Rasterman <raster@redhat.com>
1809         * gdk/gdk.h, gdk/gdkwindow.c: Added gdk_window_get_deskrelative_origin
1810           function to correctly determine gdk window position relative to
1811           its "root window" - contains check for an Enlightenment
1812           virtual root window.
1813         * gtk/gtkhandlebox.c: changed gdk_window_get_origin ->
1814           gdk_window_get_deskrelative_origin to get the origin of dragged
1815           handleboxes correctly. Now it works correctly with E.
1816           
1817 Tue Nov 17 1998  Tuomas Lukka <lukka@iki.fi>
1818
1819         * gtk/gtktypeutils.c: Fix vital bug where LOOKUP was used when
1820           getting types even though we were not using real type names,
1821           just the index.  This caused random crashes when more than 
1822           256 types were defined.
1823
1824 1998-11-17  Martin Baulig  <martin@home-of-linux.org>
1825
1826         * gtk/genmarshal.pl: Put output files in the current directory
1827         and not in the $(srcdir) since the VPATH is ignored for built
1828         sources.
1829
1830 Tue Nov 17 01:37:53 PST 1998 Manish Singh <yosh@gimp.org>
1831
1832         * gtk/genmarshal.pl
1833         * gtk/Makefile.am: check for unchanged autogenerated files, so
1834         we don't rebuild everything just for adding a new function
1835
1836 Mon Nov 16 19:19:00 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1837
1838         * gtk/gtkpixmap.h
1839           gtk/gtkpixmap.c: Pixmaps now grey out when insensitive,
1840           code thanks to GNOME stock by Eckehard Berns.  New function
1841           gtk_pixmap_set_build_insensitive to provide ability to turn 
1842           this off.
1843
1844 Tue Nov 17 00:06:29 1998  Lars Hamann  <lars@gtk.org>
1845
1846         * gtk/gtknotebook.h (struct _GtkNotebook): new flags : homogeneous;
1847         new guints : tab_hborder, tab_vborder; marked tab_border deprecated
1848         (struct _GtkNotebookPage): new flags : expand, fill, pack
1849
1850         * gtk/gtknotebook.h/c
1851         (gtk_notebook_set_homogeneous_tabs): new function. set homogeneneous
1852         tabs
1853         (gtk_notebook_set_tab_border): set tab_h/vborder to tab_border
1854         (gtk_notebook_set_tab_hborder): new function. set tab_hborder
1855         (gtk_notebook_set_tab_vborder): new function. set tab_vborder
1856         (gtk_notebook_query_tab_label): new function. get tab_label widget.
1857         (gtk_notebook_set_tab_label): new function. set tab_label widget.
1858         (gtk_notebook_set_tab_label_text): new function. set tab_label text.
1859         (gtk_notebook_query_menu_label): new function. get tab_label widget.
1860         (gtk_notebook_set_menu_label): new function. set tab_label widget.
1861         (gtk_notebook_set_menu_label_text): new function. set tab_label text.
1862         (gtk_notebook_set_tab_label_packing): new function. set tab_label
1863         fill, expand, fill_type
1864         (gtk_notebook_query_tab_label_packing): new function. get tab_label
1865         fill, expand, fill_type
1866
1867         (gtk_notebook_real_page_position): return logic page number
1868         (gtk_notebook_search_page) search next/prev logic page
1869         (gtk_notebook_update_labels): set logic page number.
1870         (gtk_notebook_page_compare): renamed gtk_notebook_find_page
1871         (gtk_notebook_set/get_child_arg): new args CHILD_ARG_TAB_EXPAND,
1872         CHILD_ARG_TAB_FILL, CHILD_ARG_TAB_PACK
1873         (gtk_notebook_button_press) (gtk_notebook_key_press)
1874         (gtk_notebook_focus) (gtk_notebook_pages_allocate)
1875         (gtk_notebook_calc_tabs) (gtk_notebook_switch_focus_tab)
1876         use gtk_notebook_search_page
1877         (gtk_notebook_page_allocate): fixed allocation bug
1878         (gtk_notebook_set/get_arg): new args TAB_HBORDER, TAB_VBORDER.
1879         (gtk_notebook_init): unset GTK_NO_WINDOW flag
1880         (gtk_notebook_size_request): check whether page->child is visible.
1881         changes due to tab h/vborder, homogeneous tabs
1882         (gtk_notebook_paint): don't draw invisible tabs
1883         (gtk_notebook_switch_page): calculate page_num if it's less than 0
1884         (gtk_notebook_append_*) (gtk_notebook_prepend_*)
1885         (gtk_notebook_insert_page): removed sanity checks
1886
1887         * gtk/testgtk.c (create_notebook): extended Notebook sample a bit.
1888
1889 Mon Nov 16 15:10:33 1998  Owen Taylor  <otaylor@redhat.com>
1890
1891         * gtk/gtktext.c: Optimizations for [advance/decrement]_mark_n.
1892         (gtk-mailund-980718-0, Thomas Mailund Jensen <mailund@daimi.aau.dk>)
1893
1894         * gtk/gtkfixed.c: Removed gtk_fixed_umap, which was 
1895         broken. (GtkWidget's default unmap handler should work fine).
1896         Pointed out by Patrice Fortier <Patrice.Fortier@aquarel.fr>
1897
1898 Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org>
1899
1900         * gtk/gtkmenubar.[ch]: added shadow_type setting and
1901         gtk_menu_bar_set_shadow_type function to allow shadow
1902         configurability for menubars
1903
1904         * gtk/gtkviewport.h: use GtkShadowType enum instead of generic
1905         guint
1906
1907 Mon Nov 16 00:17:53 1998  Tim Janik  <timj@gtk.org>
1908
1909         * gtk/gtktypeutils.c (gtk_type_new): relookup type node after
1910         class creation and parent class' object initializer.
1911
1912 1998-11-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1913
1914         * gtk/gtkpaned.c (gtk_paned_realize): Destroy the cursor after we
1915         have assigned it to the window -- there is no point in keeping it around.
1916         (gtk_paned_unrealize): No need to destroy the cursor here.
1917
1918         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, as
1919         it is not needed.
1920
1921 Fri Nov 13 11:22:38 1998  Owen Taylor  <otaylor@redhat.com>
1922
1923         * gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new().
1924         (gtk-blizzard-981005-0. 
1925          Christopher Blizzard <blizzard@applied-theory.com)
1926
1927         * gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and
1928         gdk_pixmap_foreign_new to gdkx.h.
1929
1930 Fri Nov 13 16:06:48 1998  Owen Taylor  <otaylor@redhat.com>
1931
1932         * gtk/Makefile.am: Added rules to generate an empty
1933         GTK+ theme called "Default" upon installation.
1934         
1935         * gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance
1936         of fonts and fontsets. 
1937         (gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp)
1938
1939         * gtk/gtkmain.c: Change test to detect glibc's
1940         utf8 based mb* functions to be more specific.
1941
1942         * gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation 
1943         cleanups.
1944
1945 Fri Nov 13 16:43:36 1998  Lars Hamann  <lars@gtk.org>
1946
1947         * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
1948         show event_window
1949         (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
1950         event_window if draw_indicator is set
1951         (gtk_toggle_button_set_mode):
1952
1953 Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
1954
1955         * gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
1956         ensure proper type (SunPro cc complains)
1957
1958         * gtk/gtklist.c: removed bogus '*' from "*GTK_CONTAINER_CLASS"
1959
1960         * gtk/gtktogglebutton.c: use our own draw method so we get proper
1961         redraws on active state
1962
1963 Thu Nov 12 00:26:13 1998  Lars Hamann  <lars@gtk.org>
1964
1965         * gtk/gtkstyle.c (gtk_default_draw_box_gap): use GtkPositionType
1966         defines.
1967
1968         * gtk/gtknotebook.c (gtk_notebook_draw_tab): fixed gap_side for
1969         GTP_POS_RIGHT
1970
1971 Wed Nov 11 19:54:58 1998  Lars Hamann  <lars@gtk.org>
1972
1973         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init)
1974         (gtk_scrolled_window_set_arg) (gtk_scrolled_window_get_arg):
1975         added ARG_WINDOW_PLACEMENT
1976
1977         * gtk/gtkclist.c (size_allocate_columns): resize column if column
1978         button > column width and auto_resize is set
1979         (real_clear) (column_auto_resize) (gtk_clist_optimal_column_width):
1980         consider column button width of auto resized columns
1981         (gtk_clist_parent_set): removed 
1982
1983         * gtk/gtkctree.c (gtk_ctree_insert_node): call column_auto_resize.
1984         (auto_resize_columns): auto_resize all columns
1985         (real_tree_collapse) (gtk_ctree_remove_node): call auto_resize_columns
1986         (column_auto_resize): respect column button width of auto resized
1987         columns
1988
1989 1998-11-10  Martin Baulig  <baulig@merkur.uni-trier.de>
1990
1991         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_4): Define this so
1992         we can check for latest GTK features.
1993
1994 Mon Nov  9 00:39:20 1998  Lars Hamann  <lars@gtk.org>
1995
1996         * gtk/gtkenums.h : new enum GtkCornerType 
1997         * gtk/gtkscrolledwindow.h (struct _GtkScrolledWindow): added
1998         window_placement.
1999         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_placement): 
2000         new method to set window_placement.
2001         (gtk_scrolled_window_viewport_allocate)
2002         (gtk_scrolled_window_size_allocate): few changes due to
2003         window_placement.
2004         * gtk/testgtk.c (remove_selection): fixed while loop.
2005
2006 Sat Nov  7 21:55:00 PST 1998 Manish Singh <yosh@gimp.org>
2007
2008         * gtk/gtkclist.c: check if column[i].button is valid before calling
2009         gtk_widget_intersect on it in gtk_clist_draw
2010
2011         * gtk/gtkdnd.c: removed unused variable empty_bits
2012
2013         * gtk/gtkrc.c: we should use gslist_* functions with GSLists...
2014
2015         * gtk/gtktypeutils.[ch]: makes more send for gtk_type_is_a to return
2016         a boolean (thanks to Elrond for noticing this)
2017
2018 1998-11-07  Jay Cox  <jaycox@earthlink.net>
2019
2020         * gtk/gtkwindow.c: forward declaration for gtk_window_paint
2021         * gdk/gdkxid.c: declare xid_ht static
2022         * examples/*/Makefile: get the link ordering right.
2023
2024 Sat Nov  7 16:31:56 1998  Stefan Jeske  <stefan@gtk.org>
2025
2026         * gtk/gtkclist.c (gtk_clist_realize): Set background of
2027         title button window to GTK_STATE_NORMAL instead of
2028         GTK_STATE_SELECTED to avoid ugly flicker.
2029
2030 Fri Nov  6 23:29:40 1998  Lars Hamann  <lars@gtk.org>
2031
2032         * gtk/gtkclist.c (real_clear) (adjust_adjustments): resize clist
2033         if adjustments are NULL and list size has changed
2034         (gtk_clist_size_request): return real list requsition,
2035         if adjustments are NULL.
2036         (size_allocate_columns): use button->requisition.with, if column
2037         width is not set.
2038         (list_requisition_width): new function. return full list width.
2039         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): do not
2040         auto create adjustments.
2041         (gtk_clist_motion) (move_vertical) (move_horizontal):
2042         check adjustment != NULL.
2043
2044 Thu Nov  5 12:06:16 1998  Owen Taylor  <otaylor@redhat.com>
2045
2046         * gtk/gtkcheckbutton.c (gtk_check_button_draw_focus): Queue
2047         a clear/redraw, not just a redraw, so the focus
2048         gets undrawn properly.
2049
2050         * gtk/gtktogglebutton.c (gtk_toggle_button_unrealize): 
2051         Chain to gtk_widget_unrealize() instead of duplicating
2052         code.
2053
2054 Wed Nov  4 14:34:51 1998  Owen Taylor  <otaylor@redhat.com>
2055
2056         * gdk/gdk.c gdk/gdkprivate.h gdk/gdkwindow.c: Removed
2057         last vestiges of old DND.
2058
2059 Tue Nov  3 12:27:52 1998  Owen Taylor  <otaylor@redhat.com>
2060
2061         * gtk/gtkentry.c: Restored inner border to entries,
2062         erase cursors to background image.
2063
2064 Fri Oct 30 12:09:21 1998  Owen Taylor  <otaylor@redhat.com>
2065
2066         * gtk/gtkentry.c gtk/gtkstyle.[ch]: removed paint_entry() -
2067         it was identical to paint_flat_box().
2068
2069         * gtk/gtkstyle.c: Coding style fixups.
2070
2071         * gtk/gtkwindow.c (gtk_window_move_resize): removed useless
2072         test.
2073
2074         * gtk/gtkframe.c gtkstyle.[ch] gtknotebook.c: 
2075         Change 'side' for paint_[box/shadow]_gap and paint_extension
2076         to be GtkPositionType instead of a random int.
2077
2078         * gtk/gtkaspectframe.c (gtk_aspect_frame_paint): Use 
2079         "frame" as detail - an aspectframe should draw identical
2080         to a frame.
2081
2082 Tue Oct 27 09:58:11 1998  Owen Taylor  <otaylor@redhat.com>
2083
2084         * gdk/gdkwindow.c (gdk_window_merge_child_shapes): renamed
2085         from combine_child_shapes().
2086
2087         * gdk/gdkwindow.c: Merge propagate_shapes() and
2088         propagate_combine_shapes() to remove code duplication.
2089
2090 Thu Nov  5 14:31:57 PST 1998 Manish Singh <yosh@gimp.org>
2091
2092         * gdk/gdk.c: sometimes we get a KeyRelease before a KeyPress in
2093         gdk_event_translate, and the USE_XIM buffer isn't allocated yet.
2094         So allocate some mem if it's not already done.
2095
2096         * clist scrollbar merges from HEAD
2097
2098 Tue Nov  3 13:16:36 PST 1998 Manish Singh <yosh@gimp.org>
2099
2100         * gtk/Makefile.am: remove explict -ldl, gmodule takes care of that
2101
2102         * gtk/gtkdnd.c: start TARGET_MOTIF_SUCCESS from 0x40000000 instead
2103         of 0x80000000, so we stay within the bounds of a postive signed
2104         int (it broke some compilers)
2105
2106         * gtk/gtkmenushell.c
2107         * gtk/gtkoptionmenu.c: merges from HEAD to make option menus work
2108         when some of the menuitems are hidden
2109
2110         * gtk/gtkthemes.h: don't include dlfcn.h explictly, gmodule takes
2111         care of that
2112
2113         * gtk/gtkwidget.c: add a dummy continue after the line label
2114         next_rect, since some compilers don't like label: }
2115
2116 Sun Nov  1 20:05:55 PST 1998 Manish Singh <yosh@gimp.org>
2117
2118         * Okay, so we need the X11R6 keysyms so programs don't have to
2119         worry about them. They don't conflict anyway. Reverted the #ifdef
2120         changes to gtk/*.c
2121
2122         * gdk/Makefile.am: remove the BUILT_SOURCES rule, and make a
2123         special rule for them (X-derived-headers)
2124
2125 Sun Nov  1 05:30:32 PST 1998 Manish Singh <yosh@gimp.org>
2126
2127         * gdk/Makefile.am: changed the awk scripts to generate gdkcursors.h
2128         and gdkkeysyms.h into sed scripts, since the awk scripts weren't
2129         portable, and we really shouldn't be using awk anyway.
2130
2131         * makecursors.awk
2132         * makekeysyms.awk: bye bye
2133
2134         * gtk/gtkaccelgroup.c
2135         * gtk/gtkclist.c
2136         * gtk/gtknotebook.c
2137         * gtk/gtkwindow.c: don't use X11R6 keysyms if they aren't there
2138
2139 Sat Oct 31 15:22:14 PST 1998 Manish Singh <yosh@gimp.org>
2140
2141         * gdk/Makefile.am: do the same built sources trick for gdkcursors.h
2142         and gdkkeysyms.h. Remove those files from CVS.
2143
2144 Sat Oct 31 14:44:01 PST 1998 Manish Singh <yosh@gimp.org>
2145
2146         * gdk/gdk.c: move prototype of gdk_wm_protocols_filter outside
2147         of the USE_XIM #ifdef
2148
2149         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
2150         even with --include-deps. Slightly different from timj's fix, to avoid
2151         circular dependency with gtkmarshal.c
2152
2153         * autogen.sh
2154         * gtk/gtkclist.[ch]
2155         * gtk/gtkctree.c
2156         * gtk/gtkfontsel.[ch]
2157         * gtk/gtklist.c
2158         * gtk/gtklistitem.c
2159         * gtk/gtkobject.[ch]
2160         * gtk/testgtk.c: merges from HEAD
2161
2162         * gtk/gtkmenubar.c
2163         * gtk/gtkradiomenuitem.c
2164         * gtk/gtktreeitem.c: cleanups
2165
2166 Wed Oct 28 23:32:19 PST 1998 Manish Singh <yosh@gimp.org>
2167
2168         * gdk/gdkrgb.c: Oops. s/BIGENDIAN/BIG_ENDIAN/
2169
2170 Wed Oct 28 19:04:49 PST 1998 Manish Singh <yosh@gimp.org>
2171
2172         * configure.in: AIX has libpthreads, to make sure you can have
2173         more than one thread. Also add -D_THREAD_SAFE, and reorder
2174         configure.in so CFLAGS doesn't get clobbered when we actually
2175         want to modify it
2176
2177         * gdk/gdkimage.c: initialize the bpp and byte_order fields properly
2178         in gdk_image_get
2179
2180         * gtk/testdnd.c: removed unused variable "buf"
2181
2182 Mon Oct 26 16:46:15 1998  Owen Taylor  <otaylor@redhat.com>
2183
2184         * gtk/gtkcontainer.c (gtk_container_unregister_toplevel): 
2185         remove_link(), not remove()
2186
2187 Thu Oct 22 02:27:30 PDT 1998 Manish Singh <yosh@gimp.org>
2188
2189         * gdk/gdkrgb.c: use glib endian stuff
2190
2191         * configure.in: don't need to check for endianness anymore
2192
2193         * gtk/gtkstyle.h: removed #pragma }, causing a silly warning
2194
2195 Wed Oct 21 17:44:27 1998  Owen Taylor  <otaylor@redhat.com>
2196
2197         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Reset
2198         all toplevel widgets, not toplevel windows. (I.e.,
2199         plugs should be reset)
2200
2201         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Yes, we
2202         _do_ need to notify the other toplevels - by the time
2203         the get the client messages, the RC file dates will
2204         have been updated.
2205
2206         * gtk/gtkcontainer.h: Added a function call to list
2207         every toplevel widget.
2208
2209         * gdk/gdk.c (gdk_event_send_client_message_to_all_recurse): 
2210         Don't send client messages to _every_ window on display!
2211         
2212 Tue Oct 20 16:21:04 1998  Owen Taylor  <otaylor@redhat.com>
2213
2214         * gtk/gtkdnd.c (gtk_drag_source_event_cb): Don't start drags 
2215         when dragging across widgets, only in drags
2216         starting in widget.
2217
2218 Tue Oct 20 15:59:49 1998  Owen Taylor  <otaylor@redhat.com>
2219
2220         * gtk/gtkdnd.c (gtk_drag_source_info_destroy): 
2221         Emit "drag_end" signal at end of drag.
2222
2223 Tue Oct 20 13:07:54 1998  Owen Taylor  <otaylor@redhat.com>
2224
2225         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Look
2226         for "gtk-embedded" data currently set by 
2227         GtkSocket, and use that to forward client message
2228         on to embedded windows. Only reset our own toplevel -
2229         the others will handle themselves. (Now that
2230         GtkMenus live in GtkWindows)
2231
2232 Mon Oct 19 16:40:40 1998  Owen Taylor  <otaylor@redhat.com>
2233
2234         * gdk/gdkdnd.c (get_client_window_at_coords_recurse): Modify
2235         client window finding code so that it works with
2236         WM's other than fvwm.
2237  
2238 Sun Oct 18 22:48:27 1998  Owen Taylor  <otaylor@redhat.com>
2239
2240         * gtk/gtkdrawwindow.c (gtk_draw_window_get_type): Added
2241         the "GtkDrawWindow" class, which is a descendent
2242         of the Window class which leaves its background alone.
2243         Essentially, a toplevel drawing area, though it does
2244         allow adding a child.
2245
2246 Sat Oct 17 00:40:51 1998  Owen Taylor  <otaylor@redhat.com>
2247
2248         * gtk/gtkrc.c (gtk_rc_style_init): Duplicate bg_pixmap_name when
2249         merging RC styles. Report new share/themes path for
2250         themes directory. Deref theme engines when appropriate.
2251
2252         * gtk/gtkclist.c: Set all backgrounds in _style_set().
2253         Make sure that pixel for xor_gc is never 0.
2254
2255         * gtk/gtkctree.c: Choose colors for plus/minus more
2256         carefully, in a hopefully style-independent fashion.
2257         (Still needs a bit more work)
2258
2259         * gtk/gtkwidget.c: Don't send expose events to widgets
2260         which are about to be resized and redrawn. (Needs a
2261         bit more thought.)
2262
2263         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Avoid
2264         drawing on tabs for newly allocated, un-sized
2265         pages - we'll get the size wrong.
2266
2267 Thu Oct  1 17:38:07 1998  Owen Taylor  <otaylor@redhat.com>
2268
2269         * gtk/gtkwidget.c (gtk_widget_redraw_queue_remove): Fixed
2270         up stupidities in last commit.
2271
2272 Thu Oct  1 14:25:43 1998  Owen Taylor  <otaylor@redhat.com>
2273
2274         * gtk/gtkwidget.c: When handling queued resizes, account
2275         for handleboxes, where the widget heirarchy is different
2276         than the window heirarchy by just queueing a resize on
2277         the entire handlebox if the detached child is changed.
2278
2279         - Remove widgets from the redraw queue when reparenting,
2280         even if not unrealizing. We queue a resize/redraw in
2281         any case.
2282
2283 Mon Sep 28 21:07:01 EDT 1998 The Rasterman <raster@redhat.com>
2284         * gtk/gtkstyle.c: added check to see if the widget has been shaped
2285         byt the app via gtk_widget_shape_combine_mask and if it has does
2286         not reset the shape on theme change.
2287         
2288 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
2289
2290         * gtk/gtkfilesel.c: Keep a list of directories in which we never
2291         want to stat the entries (like /afs), and assume everything in
2292         those directories is a subdirectory.
2293
2294         - When following a path, try to open components even when
2295         we don't find them in their parent's directory to
2296         support automounters.
2297
2298 Fri Sep 11 15:36:33 1998  Owen Taylor  <otaylor@redhat.com>
2299
2300         * gdk/gdkinputgxi.h (gdk_input_gxi_grab_pointer): Hopefully
2301         now at least compiles again.
2302
2303         * gdk/gdk.c (gdk_event_translate): Don't pass events
2304         on destroyed widgets to the gdk_input layer.
2305
2306 Thu Sep  3 19:45:34 1998  Owen Taylor  <otaylor@redhat.com>
2307
2308         * gtk/gtkthemes.c: Use g_module instead of dlopen()
2309
2310 Thu Sep  3 19:30:11 1998  Owen Taylor  <otaylor@redhat.com>
2311
2312         * gtk/gtktooltips.c (gtk_tooltips_expose): Check
2313         if we've changed widgets since the expose event
2314         was queued.
2315
2316 Mon Aug 31 15:33:13 1998  Owen Taylor  <otaylor@redhat.com>
2317
2318         * gtk/gtkstyle.h (struct _GtkStyle): Reordered a bit
2319         to restore approximate bin compatibility with the
2320         non-themes branch. (This does break bin compat
2321         within the themes branch.)
2322
2323 Sun Aug 30 16:48:27 1998  Owen Taylor  <otaylor@gtk.org>
2324
2325         * gtk/gtklabel.c (gtk_label_set): Eliminate a 
2326         gdk_window_clear_area() that snuck in with the
2327         menu underlines merge.
2328
2329 Mon Aug 24 23:37:26 1998  Owen Taylor  <otaylor@redhat.com>
2330
2331         * gtk/gtktext.c: Fixed some remaining background drawing,
2332           merges from main branch, cleanups.
2333
2334 Mon Aug 24 10:55:51 1998  Owen Taylor  <otaylor@redhat.com>
2335
2336         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Don't
2337           dereference NULL focus tab.
2338
2339         * gtk/gtkscale.c (gtk_scale_[un]map): Add map/unmap
2340           functions since we need to both show/hide and 
2341           queue a redraw. (There's some duplication of drawing here, 
2342           we probably should only be queuing a redraw on the
2343           "value" portion of the scale.)
2344
2345 Fri Aug 21 19:02:30 1998  Owen Taylor  <otaylor@redhat.com>
2346
2347         * gtk/gtkrange.[ch] gtk/gtkhscale.c gtk/gtkvscale.[ch]: Fit scales
2348           into the theme-drawing framework. We do this by making them,
2349           like check/radio-buttons, no-window widgets with subwindows. We
2350           then move the value by calling gtk_widget_queue_clear() and only
2351           redraw the value in our draw() / expose() handler.  A virtual
2352           function clear_background is added which queues a clear on the
2353           "background" portion of the widget.
2354
2355 Fri Aug 21 13:04:27 1998  Owen Taylor  <otaylor@redhat.com>
2356
2357         * gtk/gtktext.c (mark_bg_gc): Make background colors work
2358           again. (We can't always paint the background with a
2359           paint() function - only do that for selected text)
2360
2361 Mon Aug 17 20:31:01 1998  Owen Taylor  <otaylor@redhat.com>
2362
2363         * gtk/gtktearoffmenuitem.c gtk/gtkclist.[ch] gtk/gtkctree.[ch]
2364           gtk/gtklabel.c gtk/gtkmenu.c: Merges from main branch.
2365
2366         * Makefile.am (SRC_SUBDIRS): Removed themes from SRC_SUBDIRS.
2367           the themes can't be built as part of the same build since
2368           they depend on gdk_imlib.
2369
2370 Fri Aug 14 12:44:30 1998  Owen Taylor  <otaylor@redhat.com>
2371
2372         * gtk/gtkthemes.c (gtk_theme_engine_get): Removed sample engine code
2373           from gtkthemes.c.
2374                 
2375         * configure.in ltconfig.in ltmain.sh gdk/Makefile.am gtk/Makefile.am
2376           gtk/
2377
2378           - Upgrade to libtool-1.2b + patch to add shared library dependencies
2379             for Linux. (Needs to be extended to other platforms where they
2380             are safe)
2381
2382          - Check for -ldl so this branch should build on all platforms, though
2383            themes will work on all platforms they could work on.
2384
2385          - Use -version and -release simultaneously: sonames stay as they are
2386            in the current scheme, but -lgtk-1.1 changes to -lgtk.
2387
2388          - Added in extra -l flags to library LDFLAGS so we get shared library
2389            dependencies against X libs and -ldl. (But not libgtk against 
2390            libgdk or libglib yet, since dependencies against uninstalled
2391            libraries aren't portable)
2392
2393 Fri Aug 21 16:10:38 EDT 1998 The Rasterman <raster@redhat.com>
2394         * gtkrc.c - added api calls to find module and theme paths from gtk.
2395           nuked gtk_install_prefix global.
2396         
2397 Fri Aug 21 12:36:46 EDT 1998 The Rasterman <raster@redhat.com>
2398         * fixed gtk_install_prefix global.
2399           
2400 Thu Aug 20 19:27:49 EDT 1998 The Rasterman <raster@redhat.com>
2401         * added gtk_install_prefix global const variabel to find where gtk is
2402           installed.
2403           
2404 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
2405         * added ~/.gtk/lib/themes/engines/ to the default searchpath for
2406           gtk theme engines
2407         
2408 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
2409         * made gtkrc scanner append dir that gtkrc is read from to pixmap path.
2410
2411 Mon Aug 10 23:03:55 1998  The Rasterman <raster@redhat.com>
2412         * Fixed minor problem in gtkhandlebox.c with drawing, and some
2413           notebook stuff. Also pixmap theme is now "clean" again.
2414           
2415 Mon Aug 10 23:03:55 1998  Owen Taylor  <otaylor@redhat.com>
2416         * gtk/gtkwidget.c (gtk_widget_clip_rect): Fixed up 
2417           queued area resizing once more.
2418
2419 Mon Aug 10 23:09:30 EDT 1998
2420         * Added a few drawing fixes for notebook and other widgets. finished
2421           pixmap theme up to the level that can be supported so far. (need to
2422           add path discovery 9ie where is the rc fiel from - add to pixmap 
2423           path so we can get theimages from there too). then we can package 
2424           themes. After that need to add to theme seartch path stuff in users 
2425           home dir.
2426           
2427 Thu Aug  6 16:49:25 1998  Owen Taylor  <otaylor@redhat.com>
2428
2429         * gtk/gtktooltips.c (gtk_tooltips_expose): Draw into a
2430           drawing area, draw in an expose handler.
2431
2432         * gtk/gtknotebook.c (gtk_notebook_expose): Check for
2433           empty current page.
2434
2435 Wed Aug  5 16:13:15 1998  Owen Taylor  <otaylor@redhat.com>
2436
2437         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel): Moved
2438           creation of GC's so that they will be set before
2439           they are used for map events (why are they used there?)
2440
2441         * gtk/gtkwidget.c: Fixed mistake that caused widgets to
2442           be queued in multiple times in the queue.
2443
2444 Wed Aug  5 14:23:52 1998  Owen Taylor  <otaylor@redhat.com>
2445
2446         * gtk/gtkstyle.c (gtk_default_draw_shadow): Don't set
2447           clip rects (or do anything) for shadow_none.
2448
2449 Wed Aug  5 13:14:57 1998  Owen Taylor  <otaylor@redhat.com>
2450
2451         * gtk/gtkbutton.c (gtk_button_paint): Restored paint function.
2452           Yes, it was needed. draw() and expose() are _not_
2453           identical.
2454
2455 Sat Aug  1 17:44:31 EDT 1998 EDT 1998 The Rasterman <raster@redhat.com>
2456         * Wheeeeeeeeeeeeeeee fixed radiobittons to work in gimp again.
2457
2458 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
2459         * YES YES YES YES YES clist borders work again! YES! YES YES! gimme 
2460           more baby oooh yeah more more MORE YES YES.
2461
2462 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
2463         * hopefully fixed problem wiht togglebuttons acting like
2464           radiobuttons in gtktogglebutton.c
2465
2466 Thu Jul 30 23:36:46 EDT 1998 The Rasterman <raster@redhat.com>
2467         * fixed another drawing buglet in the frame drawing code (actually
2468           in the clearing code but anyway in gtkstyle.c)
2469
2470 Thu Jul 30 19:23:48 EDT 1998 The Rasterman <raster@redhat.com>
2471         * Fixed warning from colorsel widget...
2472
2473 Thu Jul 30 19:10:42 EDT 1998 The Rasterman <raster@redhat.com>
2474         * Fixed defautl drawing code to no longer clobber the original style
2475           pixmap bgs as it did and added a helper funciton og gtkstyle.c to
2476           help with this.
2477
2478 Thu Jul 30 18:09:21 1998  Owen Taylor  <otaylor@redhat.com>
2479
2480         * gtk/gtkrc.c gtk/gtkstyle.c: More mm fixups
2481
2482         * gtk/gtktooltips.c: Pass a widget (the window) to the
2483           drawing function instead of the GtkTooltips.
2484
2485 Thu Jul 30 17:27:10 1998  Owen Taylor  <otaylor@redhat.com>
2486
2487         * gdk/gdkwindow.c: Abstract out checking for shape
2488           extension into a function.
2489
2490         * gtk/gtkwindow.c: Fix up gtk_window_expose()/draw().
2491           Remove extra callls to gtk_window_draw().
2492
2493 Thu Jul 30 11:18:43 1998  Owen Taylor  <otaylor@redhat.com>
2494
2495         * gtk/gtkstyle.c gtk/gtkrc.c: Memory management fixups.
2496
2497         * themes/th_main.c: Moved messages around so they are
2498           printed before destroying strings.
2499
2500 Wed Jul 29 16:56:07 1998  Owen Taylor  <otaylor@redhat.com>
2501
2502         * gdk/gdk.c: Fairly simple implementation of expose compression.
2503           (No GraphicsExpose compression yet, always compress
2504           with the equivalent of XtCompressMultiple - no compression
2505           of Expose events across non-Expose events)
2506         
2507         * gdk/gdk.h gdk/gdkrectangle.c: gdk_rectangle_union()
2508           Find rectangle bounding two rectangles.
2509
2510         * gtk/gtkstyle.c: Set clip rects for a few extra GC's
2511           in gdk_default_draw_shadow()
2512         
2513 Wed Jul 29 16:03:20 EDT 1998 The Rasterman <raster@redhat.com>
2514         * Fixed drawing functions to handle switching themes on the fly 
2515           gracefully and look decent.
2516           
2517 Tue Jul 28 22:52:10 EDT 1998 The Rasterman <raster@redhat.com>
2518         * Added all the theme drawing code to all widgets, fixed up minor
2519           nigglies in some widgets when it comes to themes, seem to be
2520           running into some funky behavior with clipping rects in GC's. Too
2521           many files to list here. (all files that now use gtk_paint_* are
2522           affected).
2523
2524 Tue Jul 28 22:49:16 1998  Owen Taylor  <otaylor@redhat.com>
2525
2526         * themes/th_main.c themes/th_draw.c gtk/testgtkrc: 
2527           Set up the demo theme so it is loaded from the RC file.
2528
2529         * themes/th_draw.c: Alleviate the hardcoded paths a wee
2530           bit. (use $HOME/themes/)
2531
2532         * gtk/gtkthemes.[ch] gtk/gtkmain.c: Load engines specified in 
2533           the RC file via dlopen()
2534
2535 Tue Jul 28 20:30:56 1998  Owen Taylor  <otaylor@redhat.com>
2536
2537         Internal handling of styles and RC styles pretty much
2538         completely reworked for Theme work.
2539
2540         * gtkthemes.[ch]: 
2541          - Added routines for virtualization of RcStyle and Style handling.
2542          - Temporary "sample" inline theme-engine. (Does nothing
2543            but print out a few messages.
2544         
2545         * gtkrc.[ch]
2546          - Made GtkRcStyle public, added flags to tell if particular
2547            colors have been set.
2548          - RC Styles are "transparent", and the final style for
2549            a widget is the composition of all matching styles
2550          - Added pointer to GtkThemeEngine, and gpointer engine_data
2551            to RC style and style.
2552          - Parse "engine" keyword, load the appropriate theme engine
2553            and call the engine's parser.
2554         
2555         *  gtkstyle.[ch]
2556          - Keep a GtkRcStyle * in styles created from Rc Styles.
2557          - Load up images from RC file at style attachment time.
2558          - Call ->engine->foo() at appropriate times.
2559          - Don't use a GCache. All incarnations for a style are
2560            just linked together in a list, depend on the RC style 
2561            code to find the existing copy.
2562
2563 Tue Jul 28 14:41:54 1998  Owen Taylor  <otaylor@redhat.com>
2564
2565         * gtk/gtkwidget.[ch]: Added the concept of queued redraws
2566           of partial areas. This can be done either relative
2567           to the existing windows (gtk_widget_queue_clear[_area]())
2568           or relative to the future allocation of the widget
2569           (gtk_widget_queue_draw[_area]). 
2570
2571           The initial implementation is pretty braindead, but
2572           can be improved.
2573
2574         * gtk/gtkwidget.[ch]: Removed calls to gdk_window_clear_area()
2575           in favor of gtk_widget_queue_clear().
2576         
2577         * gtk/gtklabel.[ch] gtk/gtkpixmap.[ch]: Removed needs_clear
2578           flags in favor of gtk_widget_queue_clear()
2579         
2580 Tue Aug  4 19:12:14 1998  Owen Taylor  <otaylor@redhat.com>
2581
2582         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fixed up
2583           handling of partially clipped areas.
2584
2585 Thu Nov  5 18:52:35 1998  Lars Hamann  <lars@gtk.org>
2586
2587         * gtk/gtkclist.h (struct _GtkCListClass)
2588         * gtk/gtkclist.c (gtk_clist_class_init): removed scrollbar_spacing.
2589
2590 Thu Nov  5 16:00:32 1998  Lars Hamann  <lars@gtk.org>
2591
2592         * gtk/gtkclist.h (struct _GtkCList): removed vscrollbar, hscrollbar,
2593         vscrollbar_policy, hscrollbar_policy. added h/vadjustment.
2594
2595         * gtk/gtkclist.c (gtk_clist_class_init): added new args types
2596         "hadjustment" & "vadjustment"
2597          (gtk_clist_set_arg) (gtk_clist_get_arg): new object class
2598         set/get_arg functions
2599         (gtk_clist_construct): don't create/adjust scrollbars.
2600         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): new functions
2601         to set h/vadjustments
2602         (gtk_clist_get_vadjustment) (gtk_clist_get_hadjustment): new functions
2603         to query h/vadjustments
2604         (create_scrollbars): removed.
2605         (create_adjustments): replacement for create_scrollbars
2606         (gtk_clist_new): call gtk_clist_new_with_titles
2607         (gtk_clist_new_with_titles): don't warn on titles == NULL
2608         (move_horizontal): use CLAMP instead
2609         (gtk_clist_set_policy): deprecated method.
2610         use gtk_scrolled_window_set_policy instead.
2611         (vadjustment_value_changed): use clist->vadj.
2612         (adjust_scrollbars): renamed to adjust_adjustments
2613         (adjust_adjustments): former adjust_scrollbars
2614         (gtk_clist_destroy): unref adjustments
2615         (gtk_clist_size_allocate) (gtk_clist_map) (title_focus)
2616         (gtk_clist_unmap) (gtk_clist_size_request) (gtk_clist_focus)
2617         (gtk_clist_size_allocate) (gtk_clist_forall): don't use scrollbars
2618         (gtk_clist_thaw) (real_insert_row) (real_remove_row)
2619         (gtk_clist_set_row_height) (real_resize_column):
2620         call adjust_adjustments
2621         (gtk_clist_moveto): return if clist has no adjustments yet.
2622         (gtk_clist_parent_set): new GtkWidget::parent_set function.
2623         Autogenerate h/vadjustments if needed.  
2624         (move_horizontal) (move_vertical): some cleanups
2625
2626         * gtk/gtkviewport.c (gtk_viewport_set_arg) (gtk_viewport_new):
2627         call only gtk_viewport_set_h/vadjustment and let these functions
2628         do the work.
2629         (gtk_viewport_set_hadjustment) (gtk_viewport_set_vadjustment):
2630         generate a new adjustment if needed
2631
2632         * gtk/gtkscrolledwindow.h ((struct _GtkScrolledWindow):
2633         use a guint bitfield for h/vscrollbar_policy and h/vscrollbar_visible
2634         
2635         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
2636         queue_resize if visibility of scrollbars changes
2637         (gtk_scrolled_window_remove): only call container_remove with
2638         scrolled_window->viewport automatically if viewport was autogenerated
2639         (gtk_scrolled_window_add): add widget as scrolled_window->viewport.
2640         auto create a viewport only if widget does not take h/vadjustments.
2641         (gtk_scrolled_window_construct): don't generate a viewport
2642         automatically.
2643         (gtk_scrolled_window_forall): call callback with viewport in any case
2644         (gtk_scrolled_window_set_arg): call gtk_container_add in case of
2645         ARG_VIEWPORT
2646         (gtk_scrolled_window_size_allocate) (gtk_scrolled_window_size_request)
2647         (gtk_scrolled_window_map) (gtk_scrolled_window_unmap): check
2648         viewport != NULL
2649
2650         * gtk/testgtk.c 
2651         (create_ctree) (export_ctree) (create_clist): use a scrolled_window
2652         in conjunction with clists/ctrees
2653
2654         * gtk/gtkfilesel.c (gtk_file_selection_init): use a scrolled_window
2655         in conjunction with clists
2656
2657         * gtk/gtkfontsel.c (gtk_font_selection_init): use a scrolled_window
2658         in conjunction with clists
2659
2660 Wed Nov  4 21:52:57 1998  Lars Hamann  <lars@gtk.org>
2661
2662         * gtk/gtkctree.c (gtk_ctree_unlink): fix focus_row adjustment
2663         (gtk_ctree_remove_node): select focus_row if needed
2664         (cell_size_request): only get pixmap size if pixmap != NULL
2665
2666 Wed Nov  4 04:30:37 1998  Tim Janik  <timj@gtk.org>
2667
2668         * gtk/gtkwidget.c: added a bunch of checks for widget != NULL and
2669         GTK_IS_WIDGET (widget):
2670
2671 Wed Nov  4 02:02:07 1998  Lars Hamann  <lars@gtk.org>
2672
2673         * gtk/gtkclist.c (real_remove_row) (sync_selection): set correct
2674         focus_row after a remove_row call.
2675
2676 Sun Nov  1 21:00:06 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>
2677
2678         * gtk/gtkoptionmenu.c
2679         * gtk/gtkmenushell.c: make option menus work when some of the
2680         menuitems are hidden - previously, option menu would popup too
2681         high.
2682
2683 1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
2684
2685         * gtk/gtkfeatures.h.in: Remove `#pragma }'.
2686
2687         * gdk/gdki18n.h: Update to use new `glib' widechar defines.
2688
2689         * configure.in (CFLAGS): Don't use test -z "echo .. | grep".  Use
2690         case instead.
2691         (wchar.h, wctype.h, iswalnum): Duplicate widechar tests from `glib'.
2692         (GDK_WLIBS): New variable.  Lists extra libraries needed to use
2693         widechar functions.
2694         * gtk-config.in (--libs): List $GDK_WLIBS, too.
2695
2696 Sat Oct 31 03:11:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
2697
2698         * Released GTK+ 1.1.3
2699         
2700         * INSTALL:
2701         * NEWS:
2702         * README:
2703         * gtk+.spec:
2704         * docs/gtk-config.1: updated for v1.1.3
2705
2706         * Makefile.am
2707         * sanity_check
2708         * docs/Makefile.am: Includes new 'make release' as well as
2709           'make sanity'.  Also handles html and text creation from html,
2710           and puts them into the distribution
2711
2712         * docs/Makefile.sgml: removed, similar functionality is now in 
2713           the Makefile.am file
2714
2715         * docs/.cvsignore: ignore html and text directories
2716         * docs/glib.texi: removed (now in glib dist)
2717
2718 Fri Oct 30 20:02:36 1998  Lars Hamann  <lars@gtk.org>
2719
2720         * gtk/gtklist.c (gtk_list_remove_items_internal): 
2721         free undo_un/selection, unselect list_item before disconnect
2722         signal functions
2723         (gtk_list_destroy): removed. gtk_list_shutdown clears the list
2724         already
2725         (gtk_list_signal_item_select) (gtk_list_signal_item_deselect)
2726         (gtk_list_signal_item_toggle)   (gtk_list_signal_scroll_horizontal)
2727         (gtk_list_signal_toggle_focus_row) (gtk_list_signal_select_all)
2728         (gtk_list_signal_unselect_all) (gtk_list_signal_undo_selection)
2729         (gtk_list_signal_start_selection) (gtk_list_signal_end_selection)
2730         (gtk_list_signal_toggle_add_mode) (gtk_list_signal_scroll_vertical)
2731         (gtk_list_signal_extend_selection) (gtk_list_signal_focus_lost):
2732         new functions. These functions are signal connected to inserted
2733         list_items, to handle key bindings and GtkItem::de/select/toggle
2734         signals.
2735
2736         * gtk/gtklistitem.c (gtk_list_item_class_init): added missing
2737         gtk_object_class_add_signals call.
2738         (gtk_list_item_toggle_focus_row) (gtk_list_item_select_all)
2739         (gtk_list_item_unselect_all) (gtk_list_item_undo_selection)
2740         (gtk_list_item_start_selection) (gtk_list_item_end_selection)
2741         (gtk_list_item_extend_selection) (gtk_list_item_scroll_horizontal)
2742         (gtk_list_item_scroll_vertical) (gtk_list_item_toggle_add_mode):
2743         removed. These functions are handled via connected
2744         gtk_list_signal_* functions now
2745
2746 Fri Oct 30 05:24:43 1998  Tim Janik  <timj@gtk.org>
2747
2748         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
2749         even with --include-deps:
2750         $(libgtk_la_SOURCES): $(BUILT_SOURCES)
2751
2752 Fri Oct 30 01:56:08 1998  Tim Janik  <timj@gtk.org>
2753
2754         * gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
2755         gtk_object_data_set_destroy to fit the gtkobject.h API.
2756
2757         * applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
2758         * gtk/gtkfontsel.h:
2759         * gtk/gtkfontsel.c:
2760         Added support for an extra 'base' filter which an application can
2761         set to restrict the fonts available to the user (e.g. a terminal
2762         program only wants the user to be able to select fixed-width fonts).
2763         The type of font (bitmap/scalable/scaled bitmap) is now
2764         also a part of the filter, so that an application can
2765         request that only scalable fonts are shown.
2766         There are new functions to set the base & user filters.
2767         I've also stopped the up/down key press signals getting
2768         to the clists since the font selection widget handles
2769         them itself. It acted a bit strangely before.
2770
2771 Sun Oct 25 20:27:02 1998  Tim Janik  <timj@gtk.org>
2772
2773         * gtk/gtkmain.c (gtk_init): support an environment variable
2774         GTK_MODULES= which takes a colon sperated list of module names
2775         automatically loaded at gtk_init() startup.
2776
2777 Sun Oct 25 08:04:33 1998  Tim Janik  <timj@gtk.org>
2778
2779         * gtk/gtkwidget.c: added more g_return_if_fail() statements.
2780
2781 Thu Oct 22 22:40:35 1998  Lars Hamann  <lars@gtk.org>
2782
2783         * gtk/gtkctree.c (gtk_ctree_destroy): removed. gtk_clist_destroy
2784         is sufficient
2785
2786 Thu Oct 22 16:22:55 1998  Lars Hamann  <lars@gtk.org>
2787
2788         * gtk/gtkclist.c (COLUMN_FROM_XPIXEL): samll fix for invisible
2789         columns
2790
2791 Thu Oct 22 02:29:53 1998  Tim Janik  <timj@gtk.org>
2792
2793         * gtk/gtkfilesel.h: GtkType and macro fixups
2794         * gtk/gtkfilesel.c (gtk_file_selection_complete): set a pattern
2795         for the file selection widget to try a completion on (set the
2796         initial filter).
2797
2798 Wed Oct 14 14:34:04 1998  Tim Janik  <timj@gtk.org>
2799
2800         * gtk/gtkmain.c: implement idle functions via GHook. this gives a
2801         slight speed improvement and lessens code duplication.
2802
2803 Tue Oct 20 14:53:28 1998  Owen Taylor  <otaylor@redhat.com>
2804
2805         * gtk/gtkdnd.c: Always send "drag_leave" to dests
2806         without GTK_DEST_DEFAULT_MOTION. 
2807
2808 Tue Oct 20 11:55:24 1998  Owen Taylor  <otaylor@redhat.com>
2809
2810         * gdk/gdk.c (gdk_event_translate): Handle DestroyNotify
2811         on destroyed windows so we clear the XID table properly.
2812         Finish up restructure of return value handling that
2813         was half-done before.
2814
2815 Tue Oct 20 12:57:10 1998  Owen Taylor  <otaylor@redhat.com>
2816
2817         * gdk/gdk.c (gdk_send_clientmessage_to_all): Hunt
2818         the window tree more comprehensively, so that we find
2819         client windows hidden under non-toplevels.
2820
2821 Tue Oct 20 12:43:04 1998  Owen Taylor  <otaylor@redhat.com>
2822
2823         * gtk/gtkselection.c (gtk_selection_data_set): 
2824         Maintain the null-termintation guarantee, even when 
2825         data = NULL, length = 0. (Warn on data = NULL, 
2826         length > 0)
2827
2828 Mon Oct 19 16:41:44 1998  Owen Taylor  <otaylor@redhat.com>
2829
2830         * gtk/gtkwidget.h (struct _GtkWidgetClass): Add in coordinates
2831         into function prototype for drag_data_received. 
2832
2833 Tue, 20 Oct 1998 11:33:10 +0200 Paolo Molaro <lupus@debian.org>
2834
2835         * gtk/gtkdnd.h,gtk/gtkdnd.c: delete is a reserved word in c++.
2836
2837 Mon Oct 19 23:44:41 1998  Lars Hamann  <lars@gtk.org>
2838
2839         * gtk/gtkclist.c: rearranged some functions
2840         (gtk_clist_set_column_auto_resize): new function. toggle auto_resize
2841         flag of column
2842         (gtk_clist_set_column_resizeable): if resizeable disable auto_resize 
2843         (gtk_clist_set_border): deprecated function, use
2844         gtk_clist_set_shadow_type instead.
2845         (gtk_clist_set_shadow_type): replacement for gtk_clist_set_border
2846         (adjust_scrollbars): some cleanups
2847         (select_row) (unselect_row): removed. replaced by equivalent
2848         gtk_signal_emit calls
2849         (add_style_data): removed, use gtk_clist_style_set instead
2850         (gtk_clist_style_set): fill in size data, after style was set. 
2851         (set_cell_contents) (gtk_clist_set_shift) (gtk_clist_set_row_style)
2852         (gtk_clist_set_cell_style): auto_resize columns if needed
2853         (column_auto_resize): resize column if needed for auto_resize 
2854         (real_clear): disable auto_resize while list destroy
2855         (resize_column): removed
2856
2857         * gtk/gtkctree.c : (gtk_ctree_remove_node)
2858         (gtk_ctree_set_line_style) (gtk_ctree_set_expander_style)
2859         (gtk_ctree_node_set_row_style) (gtk_ctree_node_set_cell_style)
2860         (set_cell_contents) (gtk_ctree_node_set_shift) (gtk_ctree_set_spacing)
2861         (real_tree_move) (gtk_ctree_set_indent) (gtk_ctree_insert_node)
2862         (real_tree_collapse) (real_tree_expand) (column_auto_resize):
2863         auto_resize columns if needed
2864         (gtk_ctree_collapse_recursive) (gtk_ctree_collapse_to_depth)
2865         (real_clear): disable auto_resize while processing the tree
2866
2867         * gtk/testgtk.c (create_clist) (create_ctree): set auto_resize
2868         for one column
2869
2870 Mon Oct 19 08:31:36 1998  Owen Taylor  <otaylor@redhat.com>
2871
2872         * gtk/gtkdnd.c (gtk_drag_selection_received): Fixed
2873         typo - look for right atom on transfer failures.
2874
2875 Sun Oct 18 20:52:22 1998  Owen Taylor  <otaylor@gtk.org>
2876
2877         * gtk/gtkwidget.c gtkmarshal.list: Change signal 
2878         for drag_data_get to match the use that was being
2879         made of it everywhere else...
2880
2881 Sun Oct 18 18:16:39 1998  Owen Taylor  <otaylor@gtk.org>
2882
2883         * gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
2884         mechanism, that is used for the DND messages.
2885
2886           Removed all the old DND code.
2887
2888         * gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
2889         get the visual of a given colormap.
2890         
2891         * gtk/gtkcolorsel.c: Conversion to new DND, drag 
2892         a color-swatch.
2893
2894         * gdk/gdk.h gdk/gdkdnd.c: The low-level
2895         X oriented portions of drag and drop protocols.
2896         Sending and receiving client messages, and navigating
2897         window trees.
2898
2899         * gdk/gdkimage.c: added a gdk_flush() when destroying
2900         SHM images to hopefully make it more likely that
2901         X will gracefully handle the segment being destroyed.
2902
2903         * gdk/gdkprivate.h gtk/gtkdebug.h: Add new 
2904         DND debugging flags.
2905
2906         * gtk/gtkeditable.[ch]: Updates for the selection handling
2907         changes.
2908         
2909         * gtk/gtkselection.[ch]: Added GtkTargetList, a 
2910         refcounted data structure for keeping track of lists
2911         of GdkAtom + information. Removed selection_handler_add
2912         in favor of a "drag_data_get" signal.
2913
2914         * gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
2915         dependent) parts of the DND protocols, display of drag icons,
2916         drag-under highlighting, and the "default handlers".
2917
2918         * gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
2919         windows that are used for reliable pointer grabs and
2920         selection handling in the DND code.
2921
2922         * gtk/testdnd.c: New test program for new DND. (Old
2923         DND tests in testgtk still need to be converted.)
2924
2925         * gtk/testselection.c: Use the new selection API.
2926         
2927         * docs/dnd_internals: Start at describing how
2928         all the new code works inside.
2929
2930         * docs/Changes-1.2.txt: New file describing source-incompatible
2931         changes in GTK+-1.2.
2932
2933 Sat Oct 17 22:50:34 1998  Owen Taylor  <otaylor@gtk.org>
2934
2935         * gdk/gdkwindow.c (gdk_window_remove_filter): Free
2936         the right list node.
2937
2938         * gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
2939         to the XID table so we can receive events on it.
2940
2941 Wed Oct 14 12:57:40 1998  Owen Taylor  <otaylor@redhat.com>
2942
2943         * gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
2944         to get the timestamp from a generic event.
2945
2946 Fri Oct  9 13:16:04 1998  Owen Taylor  <otaylor@redhat.com>
2947
2948         * gtk/gtkwidget.c (gtk_widget_add_events): Added function
2949         that safely adds additional events to a widget's event 
2950         mask, even if the widget has previously been realized.
2951         (We can do this, but not remove events from the event
2952          mask).
2953
2954 Fri Oct  2 17:35:35 1998  Owen Taylor  <otaylor@redhat.com>
2955
2956         * gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
2957         for AnyPropertyType.
2958
2959 Fri Oct  2 10:32:21 1998  Owen Taylor  <otaylor@redhat.com>
2960
2961         * gdk/gdkproperty.c (gdk_atom_intern): Add client-local
2962         hashing.
2963
2964 Thu Sep 24 20:33:54 1998  Owen Taylor  <otaylor@redhat.com>
2965
2966         * gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
2967         isn't a timestamp.
2968
2969 Thu Sep 17 14:23:03 1998  Owen Taylor  <otaylor@redhat.com>
2970
2971         * gdk/gdk.c (gdk_event_translate): Removed printing
2972         of unknown window lookup warnings. (Made it
2973         a GDK_NOTE) - they happen in many circumstances.
2974
2975 Tue Sep  8 12:38:43 1998  Owen Taylor  <otaylor@redhat.com>
2976
2977         * Call XFilterEvent() on events we get for unknown
2978         windows, since it may be the window Xlib uses to
2979         communicate with the IM. 
2980         (From Yung-Ching Hsiao <yhsiao@cae.wisc.edu>)
2981
2982 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
2983
2984         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
2985         the adjustment.
2986
2987 Thu Aug 27 12:03:14 1998  Owen Taylor  <otaylor@redhat.com>
2988
2989         * gtk/gtksignal.c (gtk_signal_newv): Improve warning
2990         message for return_value + GTK_RUN_FIRST.
2991
2992 1998-10-18  Martin Baulig  <martin@home-of-linux.org>
2993
2994         * gtk/gtktext.c (gtk_text_set_line_wrap): new function to toggle
2995         line wrapping like gtk_text_set_word_wrap () toggles word wrapping.
2996
2997 Fri Oct 16 15:59:02 1998  Lars Hamann  <lars@gtk.org>
2998
2999         * gtk/testgtk.c (insert_row_clist) (create_clist): change a few cell
3000         styles of inserted row
3001         (change_style): change style of focus_row
3002
3003         * gtk/gtkclist.c (gtk_clist_get_row_style) (gtk_clist_set_row_style)
3004         (gtk_clist_get_cell_style) (gtk_clist_set_cell_style): new functions
3005         to set/get row/cell styles.
3006         (gtk_clist_realize): attach row and cell style, allocate row colors.
3007         (gtk_clist_unrealize): detach row and cell styles.
3008         (get_cell_style): new function. get correct cell style.
3009         (draw_cell_pixmap): new function. 
3010         (draw_row): draw cells with row or cell styles.
3011         (row_new): set cell and row styles to NULL.
3012         (row_delete): detach & unref cell and row styles.
3013
3014         * gtk/gtkctree.c (ctree_detach_styles) (ctree_attach_styles): 
3015         new functions to attach/detach styles and allocate colors.
3016         (gtk_ctree_realize) (gtk_ctree_unrealize): attach/detach cell and row
3017         styles of invisible nodes.
3018         (draw_cell_pixmap): new function. 
3019         (get_cell_style):  new function. get correct cell style.
3020         (gtk_ctree_draw_expander): new function. draw tree expander.
3021         (gtk_ctree_draw_lines): new function.draw tree lines.
3022         (draw_row): draw cells with row or cell styles.
3023         (row_new): set cell and row styles to NULL.
3024         (row_delete): detach & unref cell and row styles.
3025         (gtk_ctree_node_get_row_style) (gtk_ctree_node_set_row_style) 
3026         (gtk_ctree_node_get_cell_style) (gtk_ctree_node_set_cell_style): 
3027         Analogons of GtkCList functions 
3028         (gtk_ctree_set_spacing): new function. set spacing between
3029         tree expander and cell contents
3030         (gtk_ctree_set_expander_style): new function. set expander style
3031         of ctree.
3032         (ctree_is_hot_spot): few changes due to draw_row modifications.
3033
3034 Wed 14 Oct 1998 10:17:13 +0200 Paolo Molaro <lupus@debian.org>
3035
3036         * gtk/gtkcombo.c: try completion on MOD1-TAB.
3037         Handle case when the combo->list is empty.
3038
3039 Mon Oct 12 07:51:34 1998  Tim Janik  <timj@gtk.org>
3040
3041         * gtk/gtksignal.c (gtk_signal_handlers_destroy): only unref those
3042         handlers that have not yet been disconnected (finally managed to
3043         trigger the gtk_signal_handler_unref() paranoid warning).
3044
3045 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
3046
3047         * gtk/gtkwidget.c (gtk_widget_get_arg): fixed default value for x, y,
3048         width and height which is -1 and not -2.
3049
3050 Sat Oct 10 00:50:53 PDT 1998 Manish Singh <yosh@gimp.org>
3051
3052         * HACKING
3053         * autogen.sh: we need libtool 1.2b now
3054
3055 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
3056
3057         * gtk/gtktable.c (gtk_table_set_child_arg): take the left, right, top
3058         and bottom attach arguments as mandatory and readjust the table size
3059         and opposing edge accordingly if required. this way the order in which
3060         the arguments are set doesn't matter.
3061
3062 Thu Oct  8 15:53:59 1998  Owen Taylor  <otaylor@redhat.com>
3063
3064         * gtk/gtktypeutils.c (gtk_type_class_init): Fixed warning
3065         message to print out parent class name correctly.
3066
3067 Thu Oct  8 07:07:10 1998  Tim Janik  <timj@gtk.org>
3068
3069         * gtk/gtkobject.h: 
3070         * gtk/gtkobject.c:
3071         removed functions gtk_object_set_data_destroy and
3072         gtk_object_set_data_destroy_by_id.
3073         added functions gtk_object_remove_no_notify and
3074         gtk_object_remove_no_notify_by_id which will remove a certain data
3075         portion without invokation of its destroy notifier, this should only
3076         be used in very controled circumstances.
3077
3078 Wed Oct  7 23:59:37 1998  Lars Hamann  <lars@gtk.org>
3079
3080         * gtk/gtkclist.c (gtk_clist_set_column_resizeable): added
3081         size_allocate_title_buttons call
3082         (gtk_clist_realize): changed initial column.window position
3083
3084 Wed Oct  7 20:27:28 1998  Lars Hamann  <lars@gtk.org>
3085
3086         * gtk/gtkctree.h (struct _GtkCTree): removed xor_gc, use clists
3087         xor_gc instead
3088         * gtk/gtkctree.c (create_xor_gc): removed
3089         (gtk_ctree_button_press): set correct line_attributes for
3090         clist->xor_gc on drag start
3091         (gtk_ctree_button_release): reset clist->xor_gc
3092
3093 Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>
3094
3095         * gtk/gtk*.h:
3096         * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
3097         which were in place to fixup emacs' cc-mode indentation.
3098         putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
3099         proper way to achive this and doesn't produce problems for
3100         stupid pragma-related compiler bugs. ;)
3101
3102 Wed Oct  7 00:59:46 1998  Lars Hamann  <lars@gtk.org>
3103
3104         * gtk/gtkclist.h: new signal GtkCList::resize_column.
3105         * gtk/gtkclist.c (draw_row): don't draw invisible columns
3106         (size_allocate_title_buttons) (size_allocate_columns):
3107         skip invisible columns
3108         (new_column_width): take min/max_width into account 
3109         (gtk_clist_button_release) (gtk_clist_motion):
3110         changes due to changed new_column_width function
3111         (LIST_WIDTH): changed define to inline function.
3112         (real_resize_column): class function for resize_column signal
3113         (gtk_clist_motion): fixed autoscrolling for column resizes
3114         (gtk_clist_set_column_visibility): don't hide last visible column,
3115         changed visible arg to gboolean
3116         (gtk_clist_set_column_min_width)(gtk_clist_set_column_max_width):
3117         new functions : set min/max width of a column
3118         (gtk_clist_set_column_resizeable): new function : enable/disable
3119         column resize operations by mouse
3120
3121         * gtk/gtkctree.c (draw_row): don't draw invisible columns
3122         (ctree_is_hot_spot): return FALSE if tree_column is invisible
3123         (draw_xor_line)  (draw_xor_rect): draw full rectangle/line if
3124         tree_column is invisible
3125         (gtk_ctree_find_all_by_row_data)
3126         (gtk_ctree_find_all_by_row_data_custom):  new function from
3127         Ronan Bourlier <ronan@radioss.com>. Returns a GList of all
3128         GtkCTreeNodes with row->data == data.
3129
3130 Tue Oct  6 14:05:00 1998  Tim Janik  <timj@gtk.org>
3131
3132         * gtk/testgtk.c (cb_tree_destroy_event): use g_free to free g_malloced
3133         memory (Martin Pool <mbp@wistful.humbug.org.au>).
3134
3135 Mon Oct  5 15:26:30 1998  Raph Levien  <raph@gimp.org>
3136
3137         * gdk/gdkrgb.c (gdk_rgb_convert_0888_br): Fixed a few long's that
3138         should have been guint32. Thanks to Tristan Colgate for finding it.
3139
3140 Sun Oct  4 22:47:22 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3141
3142         * gtk/gtkcalendar.h:
3143           gtk/gtkcalendar.c: More changes:
3144           - The day with focus is now seperated from the day selected
3145           - The day with focus has the xor's line around it
3146           - The selected day is now standard selected style
3147           - The week names and week numbers are now also drawn
3148             with selected style
3149           - Space now selects the day which has focus
3150
3151 Sun Oct  4 17:55:52 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3152
3153         * gtk/gtkcalendar.h:
3154           gtk/gtkcalendar.c: Some significant changes, including:
3155           - No longer draw focus around entire widget, only around
3156             the day which has focus
3157           - Draw relief around entire widget like originally planned
3158           - Show header and day names by default 
3159           - Move data private to the widget out of GtkCalendar struct
3160             and only point to it with a gpointer
3161           - Remove some old unused variables from GtkCalendar struct
3162
3163 Sun Oct  4 17:45:43 BST 1998  Tony Gale  <gale@gtk.org>
3164
3165         * docs/gtk_tut.sgml: update I've had sat around:
3166           - Grammar patch from James R. Van Zandt <jrv@vanzandt.mv.com>
3167           - Range Widget update from David Huggins-Daines <bn711@freenet.carleton.ca>
3168           - New Toolbar section from Jacek Wojdel <J.C.Wojdel@cs.tudelft.nl>
3169
3170 1998-10-01  Martin Baulig  <martin@home-of-linux.org>
3171
3172         * gtk/gtkclist.h (GtkCListColumn): Added `visible'.
3173         
3174         * gtk/gtkclist.c (gtk_clist_set_column_visibility): New function.
3175         Makes it possible to individually show and hide columns.
3176         (size_allocate_columns): Adapted to keep track of hidden columns.
3177         (size_allocate_title_buttons): Likewise.
3178
3179 Sat Oct  3 17:54:48 1998  Tim Janik  <timj@gtk.org>
3180
3181         * gtk/gtkargcollector.c (GTK_ARG_COLLECT_VALUE): for unknown foreign
3182         fundamental types, collect an argument of the type returned from
3183         gtk_type_get_varargs_type(). removed the first macro argument which
3184         was just the same as the fundamental type of the *arg passed to
3185         the macro.
3186         * gtk/gtkarg.c (gtk_args_collect): 
3187         * gtk/gtksignal.c (gtk_signal_collect_params): changed callers.
3188
3189         * gtk/gtktypeutils.h: 
3190         * gtk/gtktypeutils.c: new functions gtk_type_set_varargs_type() and
3191         gtk_type_get_varargs_type() to set and query the varargs collect
3192         type used for a fundamental type, registered outside of Gtk.
3193
3194         * gtk/gtkmisc.c (gtk_misc_class_init): changed object arguments
3195         GtkMisc::xalign and GtkMisc::yalign from GTK_TYPE_DOUBLE to
3196         GTK_TYPE_FLOAT.
3197
3198         * gtk/gtkframe.c (gtk_frame_class_init): changed object arguments
3199         GtkFrame::label_xalign and GtkFrame::label_yalign from GTK_TYPE_DOUBLE
3200         to GTK_TYPE_FLOAT.
3201
3202 Sat Oct  3 01:25:24 1998  Lars Hamann  <lars@gtk.org>
3203
3204         * gtk/gtkctree.c (gtk_ctree_insert_gnode) (real_tree_collapse)
3205         (gtk_ctree_link) (gtk_ctree_unlink) (real_tree_expand): 
3206         fixes for assignment errors with GTK_CTREE_NODE_NEXT/PREV
3207
3208         (real_tree_expand) (real_tree_collapse):
3209         don't expand/collapse a leaf
3210
3211 Fri Oct  2 16:10:36 1998  Tim Janik  <timj@gtk.org>
3212
3213         * gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't
3214         segfault when looking up a non-existant value name (reported by
3215         Pablo <pcj+gtk@primenet.com>).
3216
3217 Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
3218
3219         * gtk/gtkclist.h (gtk_clist_prepend):
3220         * gtk/gtkclist.c (gtk_clist_prepend): new function.
3221         (gtk_clist_insert): added g_return_val_if_fail()
3222         statements. accept a row parameter < 0 or > clist->rows to indicate
3223         append mode.
3224         (real_clear): first clean up all internal pointers and lists (e.g.
3225         clist->row_list or clist->rows), then delete the distinct rows. this
3226         is required because of destroy notifiers, we need to have all internal
3227         structures updated and be reentrant.
3228
3229         * gtk/gtkcalendar.h: 
3230         * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
3231         GtkCalendarClass signal methods.
3232         GtkType and macro fixups, put `void' into () prototypes, avoid C++
3233         style comments, indentation fixes, fixed some g_return_if_fail()
3234         statements.
3235         (gtk_calendar_paint_header):
3236         (gtk_calendar_paint_day_names): 
3237         (gtk_calendar_paint_week_numbers): 
3238         (gtk_calendar_paint_main): made these static functions.
3239         (gtk_calendar_select_month):
3240         (gtk_calendar_select_day):
3241         (gtk_calendar_mark_day):
3242         (gtk_calendar_unmark_day):
3243         (gtk_calendar_get_date): signedness corrections, use guints
3244         rather than gints.
3245         (gtk_calendar_size_request): removed unused variables.
3246
3247 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
3248
3249         * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
3250         widgets in the ->widgets_by_action list that have a callback
3251         defined (not only those with a callback_action!=0).
3252
3253 Sun Sep 27 22:02:48 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3254
3255         * gtk/gtkcalendar.h:
3256           gtk/gtkcalendar.c:
3257           examples/calendar/gcalendar.c: remove HAVE_FEATURES stuff
3258
3259 Sun Sep 27 02:18:06 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3260
3261         * gtk/gtkcalendar.h:
3262           gtk/gtkcalendar.c:
3263           examples/calendar: Added gtkcalendar widget and demo
3264
3265 Sat Sep 26 06:15:34 1998  Tim Janik  <timj@gtk.org>
3266
3267         * gtk/gtkclist.c (gtk_clist_sort): 
3268         (gtk_clist_clear): 
3269         (gtk_clist_unselect_all): 
3270         (gtk_clist_select_all): adde g_return_if_fail() statements.
3271
3272 Sat Sep 26 04:46:22 1998  Tim Janik  <timj@gtk.org>
3273
3274         * configure.in: set binary age and interface age to 0.
3275
3276         * gtk/gtkspinbutton.h: 
3277         * gtk/gtkspinbutton.c: changed gtk_spin_button_construct to
3278         gtk_spin_button_configure. gtk_spin_button_construct is still defined
3279         as an alias for gtk_spin_button_configure for source compatibility,
3280         but actuall use is deprecated.
3281         typeness corrections, i.e. gint->gboolean and gint->guint.
3282         added object arguments: GtkSpinButton::value, GtkSpinButton::wrap,
3283         GtkSpinButton::shadow_type, GtkSpinButton::update_policy,
3284         GtkSpinButton::numeric, GtkSpinButton::snap_to_ticks,
3285         GtkSpinButton::adjustment, GtkSpinButton::digits and
3286         GtkSpinButton::climb_rate.
3287         GtkType and macro fixups.
3288
3289 Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>
3290
3291         * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
3292         the *real* geometry position of a window, taken possible window
3293         manager offsets into account.
3294         this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
3295         olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
3296         it does fail though for amiwm which adds windows to a pseudo root
3297         window, and for icewm by a small offset because it defines the
3298         geometry position whithin its border.
3299
3300         * gtk/testgtk.c: added "saved position" test to figure how
3301         gdk_window_get_root_origin() interacts with window managers (repopup
3302         this window to figure ;).
3303
3304 Wed Sep 23 06:09:19 1998  Tim Janik  <timj@gtk.org>
3305
3306         * configure.in: update to Gtk+ version 1.1.3, binary age 1,
3307         interface age 1.
3308
3309         * gtk/gtkobject.c
3310         (gtk_object_ref): 
3311         (gtk_object_unref): check for ->ref_count to be greater than 0 (the
3312         existing code was buggy in letting ->ref_count==0 pass through and
3313         then failing the living_objs_ht assertion).
3314
3315         * gtk/gtkclist.c (draw_row): fix chopping bug for right justified
3316         pixtext fields (Roman Pozlevich <roma@botik.ru>).
3317
3318 Mon Sep 21 23:53:18 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3319
3320         * Released GTK+ 1.1.2
3321
3322 Mon Sep 21 01:12:44 1998  Jay Cox  (jaycox@earthlink.net)
3323
3324         * gtk/Makefile.am: use $(PERL) instead of perl
3325         * gtk/gtkcolorsel.c: render properly in non-square aspect ratios.
3326         also much faster to render.
3327
3328 Mon Sep 21 07:44:30 1998  Tim Janik  <timj@gtk.org>
3329
3330         * gtk/gtkobject.c (gtk_object_class_add_signals): reallocate
3331         the required memory block, rather than allocating it newly from
3332         scratch and doing a full-blown block copy on it.
3333
3334 Mon Sep 21 02:30:06 1998  Tim Janik  <timj@gtk.org>
3335
3336         * NEWS file update for upcoming release of Gtk+ version 1.1.2,
3337         binary age 0, interface age 0.
3338
3339         * gtk/gtkmain.c (gtk_init): enforce gtk-modules to always be resident.
3340
3341 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
3342
3343         * ltmain.sh: Patch to libtool-1.2b to make --disable-static
3344         work.
3345
3346 Sun Sep 20 09:52:39 1998  Owen Taylor  <otaylor@gtk.org>
3347
3348         * HACKING: indent other than GNU indent should be OK
3349           now.
3350
3351         * gtk/genmarshal.pl gtk/Makefile.am: Call indent on file
3352           instead of piping through indent. If indent wasn't
3353           found in ./configure don't bother indenting at 
3354           all.
3355
3356 Fri Sep 18 19:11:10 1998  Owen Taylor  <otaylor@redhat.com>
3357
3358         * gdk/gdk.h: Add names to prototype for gdk_image_new_bitmap.
3359
3360 Fri Sep 18 18:54:59 1998  Jay Cox  (jaycox@earthlink.net)
3361
3362         * gtk/Makefile.am: use $(AWK) instead of awk
3363
3364 1998-09-18  Raja R Harinath  <harinath@cs.umn.edu>
3365
3366         * gtk/Makefile.am (gdk_headers): 
3367         Remove references to $(top_srcdir). 
3368         (gtk.defs, gtktypebuiltins{.h,_vars.c,_ids.c,_evals.c}): Simplify.
3369         * gtk/makeenums.pl (parse_entries): Don't look for $srcdir.
3370
3371 Fri Sep 18 19:58:24 1998  Tim Janik  <timj@gtk.org>
3372
3373         * gtk/gtkobject.h (struct _GtkObject): changed gpointer object_data; to
3374         GData*object_data to cure compiler warnings.
3375
3376 Thu Sep 17 19:06:47 PDT 1998 Manish Singh <yosh@gimp.org>
3377
3378         * install-sh
3379         * missing
3380         * mkinstalldirs: updated to latest automake version
3381
3382 1998-09-17  Raja R Harinath  <harinath@cs.umn.edu>
3383
3384         * gtk/Makefile.am (source_headers): Move `gtkfeature.h' ...
3385         (gtkinclude_HEADERS): ... here.
3386         (gtk.defs): Pass `g' flag to sed, to replace all occurances.
3387
3388 Thu Sep 17 10:49:51 1998  Raph Levien  <raph@gimp.org>
3389
3390         * HACKING: added GNU indent, as it is now required to successfully
3391         build gtk+. Should this be detected in autoconf, possibly?
3392
3393 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
3394
3395         * Makefile.am gtk-config.in l*: Update to libtool-1.2b,
3396         change library versioning scheme to drop LT_RELEASE
3397         from the -l line, while keeping it in the soname.
3398
3399 Tue Sep 15 14:10:33 1998  Owen Taylor  <otaylor@redhat.com>
3400
3401         * configure.in Makefile.in: define a MAINT-like variable REBUILD
3402         which is set if Perl and awk are found, and autogenerated sources
3403         can be rebuilt. Remove the auto-generated sources from
3404         CVS. 
3405
3406         Add dependencies so that the autogenerated sources are 
3407         rebuilt if the files they depend on change. 
3408         (This unfortunately currently results in the entire
3409         gtk/ directory being rebuilt when any header changes.
3410         Moving all enums to gtkenums.h would fix this.)
3411
3412 Thu Sep 17 05:12:48 1998  Tim Janik  <timj@gtk.org>
3413
3414         * gtk/gtkobject.h: added gtk_object_set_data_destroy and
3415         gtk_object_set_data_destroy_by_id functions to set the destroy
3416         function pointer for an existing data portion.
3417
3418         * gtk/gtkobject.c: removed the GtkObjectData implementation and
3419         made all gtk_object_*data* functions use the GLib equivalents.
3420
3421 1998-09-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3422
3423         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Test whether type
3424         is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before checking that
3425         (widget != NULL), otherwise radio button insertion will not work
3426         -- the widget argument is NULL for the first radio button in the
3427         group.
3428
3429 Tue Sep 15 13:09:24 1998  Owen Taylor  <otaylor@redhat.com>
3430
3431         * gdk/gdkimage.c (gdk_image_new): Reverted global changes
3432         of g_new to malloc(), added back in the one place where
3433         it actually mattered. #include <stdlib.h>.
3434
3435         * gdk/gdkrgb.c: g_malloc() to malloc() as above.
3436
3437 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
3438
3439         * gtk/gtkfilesel.c: Keep a list of directories in which we never
3440         want to stat the entries (like /afs), and assume everything in
3441         those directories is a subdirectory.
3442
3443         - When following a path, try to open components even when
3444         we don't find them in their parent's directory to
3445         support automounters.
3446
3447 Tue Sep 15 11:06:13 1998  Owen Taylor  <otaylor@redhat.com>
3448
3449         * gtk/gtkwindow.c (gtk_window_move_resize): Don't request
3450         a new size from the WM if we asked for the same size
3451         before and our request was rejected.
3452
3453         * gtk/gtkwindow.c (gtk_window_configure_event): If
3454         in response to a request, we get a configure event
3455         with unchanged dimensions, send a synthetic expose
3456         since ForgetGravity won't expose our window.
3457
3458 Mon Sep 14 14:28:24 1998  Owen Taylor  <otaylor@redhat.com>
3459
3460         * gtk/gtktext.c (adjust_adj): Change the way we
3461         set the adjustments on resize so that it tries to
3462         keep the beginning of the text in approximately
3463         the same place. 
3464
3465         Removed assertion that the above change made invalid.
3466
3467 Thu Sep 10 22:19:35 1998  Owen Taylor  <otaylor@redhat.com>
3468
3469         * gtk/gtktext.c: - Save first_cut_pixels when switching
3470         sizes, so that if we switch to the _same_ size,
3471         we don't move lines around.
3472
3473         - Make sure that the text area always has a size of at
3474         least 1x1, then do all computations when realized.
3475
3476         - When fetching lines in recompute_geometry, make
3477         sure we fetch enough lines to cover the screen.
3478         
3479 Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3480
3481         * gdk/gdkimage.c: changed g_new()s to malloc()s and 
3482           g_free()s to free()s to avoid mixing g_new()s with 
3483           free()s.  X itself uses free() on some of the 
3484           malloced memory.
3485
3486 Sat Sep 12 10:44:06 1998  Owen Taylor  <otaylor@redhat.com>
3487
3488         * gtkfilesel.c: Maintain a list of directories like
3489         /afs we know contain only directories, and avoid
3490         stat'ing files in those directories. (Because
3491         stat'ing all files in /afs is extremely expensive)
3492
3493         To support automounters, try to open directories,
3494         even if we couldn't find them when reading their
3495         parent directory.
3496
3497 Thu Sep  3 10:29:03 1998  Owen Taylor  <otaylor@redhat.com>
3498
3499         * gtk.m4: Conditionalize check for GTK_MAJOR_VERSION,
3500         to allow the same gtk.m4 to work for 1.0.x and
3501         1.1.x.
3502
3503 Fri Sep 11 15:25:10 1998  Lars Hamann  <lars@gtk.org>
3504
3505         * gtk/gtkclist.c (gtk_clist_set_selectable): new function
3506         to set/unset the selectable flag of a single row.
3507         (gtk_clist_get_selectable): new function 
3508         to get the state of the selectable flag
3509
3510         * gtk/gtkctree.c (gtk_ctree_node_set_selectable)
3511         (gtk_ctree_node_get_selectable): clist analogons
3512         
3513 Thu Sep 10 17:04:03 1998  Raph Levien  <raph@gimp.org>
3514
3515         * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test
3516         pattern.
3517
3518         * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment
3519         bugs in the 4bit gray cases.
3520
3521 Wed Sep  9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org>
3522
3523         * configure.in: added -posix check for NeXTStep
3524
3525         * gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
3526         a unique buffer for each thread.
3527
3528         * docs/gtk-config.1: clarified copyright
3529
3530 Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>
3531
3532         * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.
3533
3534         * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.
3535
3536         * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
3537         ATEXIT.
3538         
3539         * ltconfig: use GLib's ltconfig which honours lcc.
3540
3541 Mon Sep  7 20:09:23 PDT 1998 Manish Singh <yosh@gimp.org>
3542
3543         * configure.in: comment the -std1 check and save LIBS properly
3544
3545 Sun Sep  6 12:36:23 PDT 1998 Manish Singh <yosh@gimp.org>
3546
3547         * gtk/testrgb.c: #include <stdlib.h>
3548
3549 Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>
3550
3551         * gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
3552         When the pointer is grabbed on an input window,
3553         either explicitely, or through press-grab, and
3554         then grabbed on a non-input window, ungrab the
3555         devices.
3556
3557 Sat Sep  5 07:13:19 1998  Tim Janik  <timj@gtk.org>
3558
3559         * gtk/gtktypeutils.h: don't include any gdk headers.
3560         added structure definitions for GtkTypeObject and GtkTypeClass,
3561         which cover the very basic fields of GtkObject and GtkObjectClass,
3562         which are actually used by the type system.
3563         
3564         * gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
3565         we only refer to our own structures. improved class inheritance
3566         sanity checking a bit.
3567
3568         * gtk/gtkobject.h: placed appropriate comments at the beginnings
3569         of the GtkObject and GtkObjectClass structures, which explain
3570         their relationship to GtkTypeObject and GtkTypeClass.
3571
3572         * gtk/gtktypeutils.h:
3573         * gtk/gtkobject.h:
3574         moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
3575         GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
3576         gtkobject.h to gtktypeutils.h.
3577
3578         * gtk/gtkobject.h:
3579         * gtk/gtkobject.c:
3580         removed gtk_object_check_cast() and gtk_object_check_class_cast()
3581         functions. to keep source compatibility, we can provide macro aliases
3582         for the corresponding gtk_type_* functions. but then again, people
3583         shouldn't have been using these functions anyways since they were part
3584         of Gtk's internal API.
3585
3586         * gtk/gtktypeutils.h:
3587         * gtk/gtktypeutils.c:
3588         implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
3589         functions to check GtkTypeObject and GtkTypeClass types.
3590
3591 Thu Sep  3 07:16:54 1998  Tim Janik  <timj@gtk.org>
3592
3593         * gtk/gtkctree.h:
3594         * gtk/gtkctree.c: `const' fixups.
3595
3596         * gtk/gtkclist.h:
3597         * gtk/gtkclist.c: `const' fixups and some coding style adaptions.
3598
3599         * gtk/gtkctree.c (gtk_ctree_insert_node): don't dereference *text
3600         if it is passed as NULL.
3601
3602 Wed Sep  2 22:41:40 1998  Raph Levien  <raph@gimp.org>
3603
3604         * gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
3605         big-endian cases. Added a 4bpp packed gray mode (somewhat
3606         incorrectly hardwired to MSB), which should take care of
3607         Stric's hardware.
3608
3609 Thu Sep  3 04:45:57 1998  Tim Janik  <timj@gtk.org>
3610
3611         * gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
3612         GtkSIgnalQuery leak.
3613
3614 Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>
3615
3616         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
3617         GTK_MENU_DIR_CHILD: check for the existance of
3618         menu_shell->active_menu_item before accessing its child.
3619         GTK_MENU_DIR_PREV:
3620         GTK_MENU_DIR_NEXT: if we haven't had an active item and still
3621         don't, make a default selection.
3622
3623 Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>
3624
3625         * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
3626         the children with _forall for sensitivity changes and with
3627         _foreach on pure state changes. this fixes a lot of the
3628         old inclusions of internal widgets into _foreach calls.
3629
3630         * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
3631         do the work. don't walk the subtrees of first level children.
3632
3633         * gtk/gtktreeitem.c: provide a _forall implementation,
3634         which walks the subtrees as well for include_internals.
3635
3636         * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
3637         the submenus as well for include_internals.
3638
3639         * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
3640         implemented gtk_scrolled_window_forall, which will iterate over
3641         the viewport and the scrollbars for gtk_container_forall or
3642         iterate over the viewports children for gtk_container_foreach.
3643
3644         * gtk/gtktoolbar.c: 
3645         * gtk/gtktable.c: 
3646         * gtk/gtkpaned.c:
3647         * gtk/gtkpacker.c:
3648         * gtk/gtkmenushell.c: 
3649         * gtk/gtklist.c: 
3650         * gtk/gtkfixed.c:
3651         * gtk/gtkclist.c:
3652         * gtk/gtkbox.c: 
3653         * gtk/gtkbin.c: 
3654         * gtk/gtknotebook.c:
3655         removed the old gtk_*_foreach functions and provided gtk_*_forall.
3656
3657         * gtk/gtknotebook.c:
3658         (gtk_notebook_real_switch_page): expose tabs.
3659         (gtk_notebook_page_num): new function to return the page number
3660         of a distinct child.
3661         (gtk_notebook_focus): minor fixups. foxus handling is still screwed
3662         under some circumstances.
3663
3664         * gtk/gtktreeitem.c:
3665         (gtk_real_tree_item_select):
3666         (gtk_real_tree_item_deselect): major fixes.
3667         some general fixups wrt queue_redraw, and tree items not being
3668         NO_WINDOW widgets.
3669
3670         * gtk/gtklistitem.c:
3671         (gtk_real_list_item_select): 
3672         (gtk_real_list_item_deselect): 
3673         (gtk_real_list_item_toggle): 
3674         removed unneccessary queue_redraw calls.
3675
3676 Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>
3677
3678         * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
3679         automatically popup the menu on space bar.
3680
3681 Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>
3682
3683         * gtk/gtkcontainer.h:
3684         * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
3685         method), which acts similar to gtk_container_foreach(), but iterates
3686         over internal children. the GtkContainer::foreach signal vanished in
3687         favour of a new class method ->forall() that optionally includes
3688         internal widgets.
3689
3690         * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
3691         but a _forall implementation, since all child widgets we have are
3692         internal ones.
3693         (column_button_create): set the parent window prior
3694         to gtk_widget_set_parent().
3695
3696         * gtk/gtkwidget.c:
3697         exchanged all calls to gtk_container_foreach() with
3698         gtk_container_forall().
3699
3700         * gtk/gtkwidget.h: 
3701         * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
3702         the GtkWidget::composite_child argument. to have a widget created
3703         with the flag initially, two new functions got added to wrap a widgets
3704         creation:
3705         gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
3706
3707 Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>
3708
3709         * gtk/gtktooltips.h:
3710         * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
3711         gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
3712         prior to the first tip being set.
3713         don't put an extra reference on the window, since it is a toplevel,
3714         it wont get destroyed from anywhere else.
3715
3716         * overall macro and GtkType fixups.
3717
3718 1998-09-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3719
3720         * gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
3721         constructs by more forgiving ones.  (Does anyone else feel like
3722         the color selector need rewriting?).
3723
3724 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
3725
3726         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
3727         the adjustment.
3728
3729         * gtk/gtkmenu.c: Modified reference counting so
3730         that the reference count from the toplevel that
3731         the menu creates to the menu is invisible to the
3732         application.
3733
3734 Mon Aug 31 21:36:31 1998  Raph Levien  <raph@gimp.org>
3735
3736         * gdk/gdkrgb.c (gdk_rgb_select_conv): Improved the 24bpp
3737         conversion selection logic, so Suns and other big-endian
3738         machines should get faster conv routines. This is also the
3739         point where 4bpp gray and 1bpp are checked in, although I
3740         wouldn't be surprised if 1bpp is a little buggy. This is
3741         synchronized with the 0.0.7 release of GdkRgb.
3742
3743         * gtk/Makefile.am: 
3744         * gtk/testrgb.c: Checked in testrgb.c to CVS, and made the
3745         appropriate change to the Makefile.am
3746
3747 Mon Aug 31 15:18:19 1998  Raph Levien  <raph@gimp.org>
3748
3749         * gdk/gdkrgb.[ch]: Added a gdk_draw_rgb_image_dithalign function,
3750         which is good for images that scroll (makes the dither patterns
3751         align correctly)
3752
3753 Sat Aug 29 14:50:56 PDT 1998 Manish Singh <yosh@gimp.org>
3754
3755         * gdk/gdkcolor.c:
3756         (gdk_colormap_new) (gdk_colormap_get_system):
3757         quell some warnings with g_hash_table_new
3758
3759         * gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery
3760         when we're done with it
3761
3762         * gtk/itemfactory.c:
3763         (gtk_item_factory_from_path):
3764         (gtk_item_factory_create_item): free some strings
3765
3766         * gtk/gtklabel.c:
3767         (gtk_label_finalize): free label->pattern when done
3768         (gtk_label_parse_uline): null terminate pattern string, delete
3769         some duplicated code
3770
3771         * gtk/testthreads.c: add #include <unistd.h> for sleep()
3772
3773 Tue Aug 25 16:52:47 1998  Owen Taylor  <otaylor@redhat.com>
3774
3775         * gtk/gtktext.c (recompute_geometry): Make sure the
3776         mark we pass to line start is the beginning of a 
3777         real line, not a wrapped one.
3778
3779 Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>
3780
3781         * gtk/gtktext.c: Reference count the fonts used in
3782         the text widget.
3783
3784         * gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
3785         freeing functions to be more consistent, and more 
3786         convenient; leave the old names in for backwards compatibility.
3787
3788         * gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
3789         allocations in pseudo-color colormaps to greatly reduce
3790         calls to XAllocColor. Keep a per-colormap hashtable to
3791         speed up finding if there is an already-allocated matching
3792         color.
3793
3794         * gdk/gdkcolor.c: Don't just match read the system colormap
3795         when the colormap is created, but synchronize our copy
3796         with the system colormap periodically.
3797         
3798         * gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c: 
3799         Change XIM constants names to match GDK conventions
3800
3801         * gtk/testinput.c: Allow the drawing area to get the focus.
3802
3803         * gtk/testgtk.c: Change around the Text test to demonstrates
3804         multiple fonts, use more colors.
3805
3806         * gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
3807         so they work after a widget is unrealized.
3808
3809         * gtk/gtktext.[ch]: Remove the requirement that the text
3810         widget be realized before adding text (!) Allocate colors
3811         ourself, instead of requiring the caller allocate them.
3812         Allow changing styles to work properly by keeping track
3813         of the values for a certain property are default or
3814         set explicitely.
3815
3816         * gtk/gtkmenu.h: Added some comments.
3817
3818         * gtk/gtkentry.c: Changes to match XIM constants.
3819
3820         * gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
3821         for adding keyed data to drawables. (Uses g_dataset
3822         internally)
3823
3824         * gdk/gdkpixmap.c: Keep track of the colors we allocate,
3825         when creating an XPM - store them as user data for the GdkPixmap,
3826         so we don't leak colors when we create pixmaps from XPM's.
3827
3828         Allocate memory for color information in large blocks instead of 
3829         as many little pieces.
3830         
3831 Mon Aug 24 11:09:32 PDT 1998 Manish Singh <yosh@gimp.org>
3832
3833         * gdk/gdkrgb.c: removed some unused variables
3834
3835         * gtk/gtkclist.c
3836         * gtk/gtkmain.c: #if 0'd out some unused code
3837
3838         * gtk/gtkobject.c: check for NULL object hash table in gtk_object_debug
3839
3840 Mon Aug 24 02:36:53 1998  Tim Janik  <timj@gtk.org>
3841
3842         * gtk/gtkarg.h:
3843         * gtk/gtkarg.c:
3844         * gtk/gtkwidget.h: 
3845         * gtk/gtkwidget.c: 
3846         * gtk/gtkobject.h:
3847         * gtk/gtkobject.c:
3848         * gtk/gtkcontainer.h: 
3849         * gtk/gtkcontainer.c: 
3850         (gtk_object_new):
3851         (gtk_object_set):
3852         (gtk_widget_new):
3853         (gtk_widget_set): 
3854         (gtk_container_add_with_args):
3855         (gtk_container_child_set):
3856         begin the parameter elipsis (...) after the first argument name. this
3857         change is source compatible, since it was always required, even as NULL.
3858         (gtk_args_collect): 
3859         (gtk_object_args_collect): 
3860         (gtk_container_child_args_collect):
3861         changed prototypes to pass first_arg_name, also, pass va_list variable
3862         by value (portability concerns). callers changed.
3863
3864         * gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
3865         a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
3866         can't pass va_list variables by reference for portability reasons.
3867
3868 Fri Aug 21 22:40:00  Raph Levien  <raph@gtk.org>
3869
3870         * gdk/gdkrgb.c: added calls to gdk_rgb_init in the get_cmap and
3871         get_visual calls, so that it gets implicitly initialized.
3872
3873 Fri Aug 21 13:06:04 1998  Stuart Parmenter  <pavlov@gimp.org>
3874         * gtk/gtkfeatures.h.in:  added GTK_HAVE_FEATURES_1_1_2 for changes
3875         such as GtkCTree function name changes
3876         
3877 Fri Aug 21 02:31:26 1998  Tim Janik  <timj@gtk.org>
3878
3879         * gtk/gtkmain.h:
3880         * gtk/gtkmain.c (gtk_check_version): added a function to perform a
3881         binary version check, returning a static string for error descriptions,
3882         or NULL on success.
3883
3884 Thu Aug 20 20:08:15 1998  Owen Taylor  <otaylor@redhat.com>
3885
3886         * gtk/gtktext.c ([un]draw_cursor): Check to see if we've
3887         computed our geometry yet, and if not, ignore the request.
3888
3889         * gtk/gtktext.c (correct_cache_insert): Fiddled around
3890         some more. All the bug-test codes seem to work at once
3891         now. (fingers crossed...)
3892
3893 Thu Aug 20 13:04:08 PDT 1998 Manish Singh <yosh@gimp.org>
3894
3895         * gdk/gdkrgb.c: silly visual fixes
3896
3897         * gtk/testgtk.c: call gdk_rgb_init so color preview test actually
3898         works
3899
3900 1998-08-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3901
3902         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
3903         anything if the event's window is not the bin window.
3904         (gtk_handle_box_motion): Likewise.
3905
3906 1998-08-19  Raph Levien  <raph@gimp.org>
3907
3908         * gtk/testgtk.c (create_color_preview): pushed the colormap and
3909         visual so it would work better with GdkRgb.
3910
3911 1998-08-19  Raph Levien  <raph@gimp.org>
3912
3913         * gdk/gdkrgb.c: fixed some bugs in the 565_d mode, and added a
3914         4bpp static_color mode (for vga displays). Also fixed a '64' value
3915         in the dither matrix, which was causing one pixel out of 16k to be
3916         dithered wrong.
3917
3918         * gtk/gtkpreview.{c,h}: Changed it to work with GdkRgb, gutting
3919         most of the contents. This is an API change - any apps that relied
3920         on the internal structure of GtkPreview will need some change -
3921         most notably in the use of reserved colors. The Gimp needed
3922         changes in this regard.
3923
3924 Wed Aug 19 00:11:14 1998  Tim Janik  <timj@gtk.org>
3925
3926         * gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
3927         G_ENABLE_DEBUG being defined (specifically --gtk-module= and
3928         --g-fatal-warnings), noticed by miguel.
3929
3930 Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>
3931
3932         * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
3933         getcwd().
3934
3935         * gdk/gdkprivate.h:
3936         * gdk/gdkglobals.c:
3937         * gdk/gdkwindow.c:
3938         * gdk/gdk.c:
3939         * gtk/gtkwindow.c: 
3940         * gtk/gtkitemfactory.c: 
3941         dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.
3942
3943         * gtk/gtkselection.c:
3944         * gtk/gtkpreview.c:
3945         * gtk/gtkobject.c: 
3946         * gtk/gtkmain.c: 
3947         * gtk/gtktypeutils.c: indentation fixes due to g_message() use.
3948
3949         * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
3950
3951 Tue Aug 18 17:22:22 1998  Lars Hamann  <lars@gtk.org>
3952
3953         * gtk/gtknotebook.c (gtk_notebook_switch_focus_tab): 
3954         * gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
3955         in case of show_tabs == NULL
3956
3957 Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>
3958
3959         * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
3960         to --g-fatal-warnings again. this option now causes log levels of
3961         WARNING and CRITICAL to abort().
3962
3963         * gdk/gdk.c: 
3964         * gdk/gdkdnd.c: 
3965         * gdk/gdkcc.c: 
3966         * gdk/gdkfont.c: 
3967         * gdk/gdkwindow.c:
3968         * gdk/gdkvisual.c:
3969         * gtk/gtkwidget.c:
3970         * gtk/gtktypeutils.c:
3971         * gtk/gtktree.c:
3972         * gtk/gtkfontsel.c:
3973         * gtk/gtkmain.c:
3974         * gtk/gtkobject.c:
3975         * gtk/gtkpreview.c:
3976         * gtk/gtkselection.c:
3977         * gtk/gtktext.c:
3978         * gtk/gtktree.c:
3979         * gtk/gtktreeitem.c:
3980         did a global search&replace to substitute g_print() calls with
3981         g_message(). libraries shouldn't use printf(), g_print() or
3982         g_printerr() at all.
3983         a bunch of the replacements should probably be wrapped into the
3984         G{D|T}K_NOTE() macros, so they are special cased for debugging
3985         purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
3986         things.
3987
3988         * gdk/gdkdnd.c: added copyright notice.
3989
3990 Mon Aug 17 17:28:00  Raph Levien  <raph@gtk.org>
3991
3992         * gdk/gdkrgb.c: Further speedups of the 565_d case. It's
3993         impressively fast now - about 4.65 Mpix/s on an IBM TP 600
3994         running a PII 233. It's synced with the 0.0.5 release of
3995         GdkRgb.
3996
3997 Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>
3998
3999         * gtk/gtkclist.h:
4000         (struct _GtkCListClass): new class methods:
4001         (sort_list) (insert_row) (remove_row) (set_cell_contents)
4002
4003         * gtk/gtkclist.c :
4004         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
4005         removed and replaced by (set_cell_contents)
4006         (set_cell_contents): function for class method set_cell_contents
4007         (real_insert_row): function for class method insert_row
4008         (real_remoce_row): function for class method remove_row
4009         (real_sort_list): function for class method sort_list
4010         (default_compare): fix to avoid problems with cell types != CELL_TEXT
4011
4012         * gtk/gtkctree.h :
4013         (gtk_ctree_export_to_gnode): new function to export a ctree as gnode 
4014         (gtk_ctree_node_is_visible): new function to return visibility state
4015         of a node
4016         (gtk_ctree_show_stub): new function to set visibility of root stub
4017
4018         renamed functions :
4019         (gtk_ctree_insert) -> (gtk_ctree_insert_node)
4020         (gtk_ctree_remove) -> (gtk_ctree_remove_node)
4021         (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
4022         (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
4023         (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
4024         (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
4025         (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
4026         (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
4027         (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
4028         (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
4029         (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
4030         (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
4031         (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
4032         (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
4033         (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
4034         (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
4035         (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
4036         (gtk_ctree_sort) -> (gtk_ctree_sort_node)
4037         (gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
4038
4039         * gtk/gtkctree.c :
4040         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
4041         removed and replaced by (set_cell_contents)
4042         (set_cell_contents): function for class method set_cell_contents
4043         (real_insert_row): function for class method insert_row
4044         (real_remoce_row): function for class method remove_row
4045         (real_sort_list): function for class method sort_list
4046         (default_compare): removed. CTree now also compares two GtkCTreeRows
4047         instead of two GtkCTreeNodes.
4048         (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
4049         unlinking the node
4050         (real_tree_expand) (real_tree_collapse): fix for refcounting of
4051         node pixmaps
4052         (set_node_info): call gtk_ctree_node_set_pixtext instead of
4053         manipulating the row itself
4054         
4055         * gtk/testgtk.c: use renamed functions of GtkCTree.
4056         new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
4057         at work.
4058
4059 Mon Aug 17 15:31:38 1998  Tim Janik  <timj@gtk.org>
4060
4061         * gtk/gtkmain.c: removed gtk_input_add_interp.
4062
4063         * gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
4064         keyword.
4065         (gtk_editable_get_event_time): fix default: case.
4066
4067         * gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.
4068
4069         * gdk/gdkpixmap.c: made a bunch of unexported functions static.
4070
4071         * gdk/gdkcolor.c:
4072         * gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
4073         of our functions.
4074
4075         * various minor compilation cleanups, such as bogus commas in
4076         enums and similar things.
4077
4078 Mon Aug 17 07:47:43 1998  Tim Janik  <timj@gtk.org>
4079
4080         * gtk/gtkmain.c (gtk_init): NULL terminate the arg list to g_strconcat()
4081         (thanx raph).
4082
4083 Sun Aug 16 23:14:20 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4084
4085         * NEWS: updated for 1.1.2
4086         * gtk+.spec: version = 1.1.2
4087
4088 Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
4089
4090         * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
4091         times. changed --gtk-with-module to --gtk-module at owen's request.
4092
4093 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
4094
4095         * gtk/gtkmain.c (gtk_init): feature a new commandline option
4096         --gtk-with-module=<module> that allows additional loading and
4097         initialization of modules (e.g. GLE).
4098
4099 Mon Aug 17 01:40:00 1998  Tim Janik  <timj@gtk.org>
4100
4101         * configure.in: version bump to 1.1.2, binary age 0, interface age 0.
4102         pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.
4103
4104         * gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
4105         with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
4106         "--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
4107         different *-fatal-* arguments now. this needs to be revised and
4108         compressed to a reasonable amount of arguments.
4109
4110 Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>
4111
4112         * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
4113         "--g-fatal-warnings" causes fatal warnings in GLib,
4114         "--gdk-fatal-warnings" causes fatal warnings in Gdk,
4115         "--gtk-fatal-warnings" causes fatal warnings in Gtk.
4116
4117         * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
4118         * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.
4119
4120         * gtk/testgtk.c: 
4121         * gdk/gxid.c:
4122         we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
4123         since automake doesn't support per target _CFLAGS yet.
4124
4125         * configure.in: require GLib 1.1.3.
4126
4127 Sat Aug 15 03:19:30 1998  John Ellis  <johne@bellatlantic.net>
4128
4129         * gtk/gtkctree.[ch] (gtk_ctree_set_drag_compare_func): New function
4130         to set a callback to test if a node in drag can be dropped onto
4131         it's currrent location.
4132         * gtk/gtkctree.c (set_mouse_cursor),(check_cursor): New functions
4133         to change the pointer when a drag destination is not allowed.
4134
4135 Thu Aug 13 21:06:00 1998  Raph Levien  <raph@gtk.org>
4136
4137         * gdk/gdkrgb.c: committing a patch by Ray Lehtiniemi that
4138         speeds up the 565_d case by about 25% total. Thanks Ray!
4139
4140 Thu Aug 13 16:47:44 1998  Owen Taylor  <otaylor@redhat.com>
4141
4142         * Changed GtkSignalFunc back to () from (void). (again!)
4143
4144         * Added file README.cvs-commits
4145         
4146 Thu Aug 13 09:11:11 BST 1998  Tony Gale  <gale@gtk.org>
4147
4148         * docs/gtk_tut.sgml:
4149           - Tidy up of the menufactory example from
4150             Andy Kahn <kahn@zk3.dec.com>
4151           - New section on Range Widgets from
4152             David Huggins-Daines <bn711@freenet.carleton.ca>
4153           - Started a new section on 'Advanced Event and Signal
4154             Handling' - used an email from Owen.
4155           - New appendix on Gdk Event Types
4156           - Added the tictactoe full example code to the
4157             'Code Examples' appendix
4158
4159 Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>
4160
4161         * gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() - 
4162           to calculate all the metrics at once of a string, including
4163           things which weren't calculated before.
4164
4165         * gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
4166           MenuItem type, that when put as the first thing in a
4167           menu, makes the menu tearoff. Currently drawn as a
4168           dashed line.
4169
4170         * gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
4171           "hide_on_activate" to the MenuItem class structure to allow
4172           check and radio buttons to be changed with <Space> without
4173           hiding the menu.
4174
4175         * gtk/gtkitemfactory.c: 
4176           - Create a AccelGroup for each MenuShell we create.
4177           - If an '_' appears before a  character 'c' in the path,
4178             then make 'c' an accelerator in the menu's accel group,
4179             and if the menuitem is menubar <alt>C an accelerator 
4180             in the itemfactory's accel group. Double '__' inserts
4181             a literal '_'
4182
4183         * gtk/gtklabel.[ch]: Add support for a pattern arg - 
4184           which is a string. If an '_' appears in this string,
4185           the corresponding position in the label is underlined.
4186
4187           Add gtk_label_parse_uline() convenience function which
4188           takes a string with embedded underlines, sets the
4189           pattern and label, and returns the accelerator keyval.
4190
4191         * gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
4192           Instead, they create a GtkWindow and add themselves
4193           to that. (When torn off, another new feature, they
4194           create another GtkWindow to hold the torn off menu)
4195
4196           New function gtk_menu_set_tearoff_state()
4197         
4198         * gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h: 
4199           Added action signals  for keyboard navigation of menus.
4200
4201         * gtk/gtkmenushell.c: Key press handler which activates
4202           bindings for navigation, and accelerators, for handling
4203           underline accelerators. Exported functions to select 
4204           and activate menu items in a menushell.
4205
4206         * gtk/testgtk.c: Added a new "Item Factory" test which
4207           tests GtkItemFactory and the new keyboard navigation
4208           of menus.
4209
4210 Tue Aug 11 20:52:58 1998  Tim Janik  <timj@gtk.org>
4211
4212         * gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
4213         external functions have been called. also relookup nodes after
4214         this function has been invoked.
4215
4216 Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>
4217
4218         * gtk/gtktext.[ch]: Removed has_cursor, set the cursor
4219           beginning of Text when creating the Text widget.
4220
4221         * gtk/testgtk.c: Grab the focus on the text widget so
4222           as to test out the above.
4223
4224 Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>
4225
4226         * gtk/gtkeditable.c: Reverted part of timj's change of Jul 16. 
4227           ::changed is a notification signal and should have no default
4228           handler. A complete redraw of the Text widget does _not_ need to
4229           be done on every text insertion.
4230
4231 Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
4232         (gtk-abilleira-072198-patch)
4233
4234         * gtk/gtkwindow.[ch]: 
4235           Add gtk_window_set_modal() which sets a flag; when
4236           set the window does a gtk_grab_add() when the window
4237           is shown, and a gtk_grab_remove() when the window
4238           is hidden. 
4239
4240         * gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
4241           that case will run "Create Dir","Delete File" and "Rename File" 
4242           dialogs as modal too.
4243
4244         * gtk/testgtk.c: Added a button with an example of creating modal 
4245           dialog boxes. Including file selection and color selection standard
4246           dialogs.
4247         
4248 Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>
4249
4250         * gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
4251           Removed CAN_FOCUS by default from scrollbars, button
4252           children of toolbar. (But not GTK_TOOLBAR_CHILD_WIDGET children)
4253           (Scrollbar definitely good change, toolbar bit more questionable)
4254
4255 Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>
4256
4257         * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
4258         Pettersen).
4259
4260 Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
4261
4262         * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
4263           added all logical operations to gc->function.
4264
4265 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
4266
4267         * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
4268         gtk_widget_size_allocate instead of gtk_widget_queue_resize
4269         if the visibility state of a scrollbar changes.
4270
4271 Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>
4272
4273         * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
4274
4275 Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>
4276
4277         * gtk/gtkclist.c: Renamed my_merge and my_mergesort to
4278         gtk_clist_merge and gtk_clist_mergesort. :)
4279
4280 1998-08-06  Martin Baulig  <martin@home-of-linux.org>
4281
4282         * gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
4283         `mergesort' -> `my_mergesort'.
4284
4285 Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>
4286
4287         * gtk/gtkenums.h: new enum GtkSortType.
4288         
4289         * gtk/gtkclist.h:
4290         * gtk/gtkclist.c:
4291         Added sorting capabilities to GtkCList. New APIs :
4292         gtk_clist_set_compare_func, gtk_clist_set_sort_column,
4293         gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort. 
4294         New internal functions : default_compare, merge, mergesort.
4295
4296         (gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
4297         
4298         (gtk_clist_insert): Modified to handle gtk_clist_append and the
4299         auto sort flag. Changed the return value from void to gint to
4300         return the row number where the element was actually inserted.
4301
4302         (gtk_clist_swap_rows): Return immediately if auto sort flag is set.
4303         
4304         * gtk/gtkctree.h:
4305         * gtk/gtkctree.c:
4306         Removed the auto_sort flag, replaced ctree->node_compare with
4307         clist->compare all over the place, modified default_compare to
4308         match clist's needs. Removed API´s : gtk_ctree_set_auto_sort,
4309         gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
4310
4311         * gtk/testgtk.c: Modified clist/ctree samples to demonstrate
4312         sorting. The lists can be sorted by a column by clicking the 
4313         corresponding title button.
4314         
4315 Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
4316
4317         * Released GTK+ 1.1.1
4318
4319 Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>
4320
4321         * gtk/gtkctree.h:
4322         * gtk/gtkctree.c:
4323         (gtk_ctree_find): changed to return a gboolean
4324         (gtk_ctree_insert_gnode): new function for recursive insertion of a
4325         GNode tree.
4326         (gtk_ctree_real_select_recursive): fix for extended selection
4327         (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
4328         (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
4329
4330 Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>
4331
4332         * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
4333         GLib version 1.1.1 is now required at minimum.
4334
4335         * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
4336         of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
4337
4338 Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>
4339  
4340         * gtk/gtktext.c (gtk_text_forward_delete): Undraw the
4341           cursor before (possibly) deleting the cursor's text
4342           property.
4343  
4344         * gtk/gtktext.c (correct_cache_delete): More attempts
4345           to clean the line-start cache up after inserting
4346           a property. Among other things, make sure to
4347           fix up text->current_line, since it is used to 
4348           refetch the changed lines.
4349  
4350 Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>
4351
4352         * gtk/gtktable.[ch]: Empty rows/columns of the table
4353         should not have been marked as being able to shrink.
4354         (Fixes problem with shrinking scrollbarless GIMP canvases)
4355
4356 1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4357
4358         * gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
4359         function to find a row by its data pointer using a custom
4360         comparison function.
4361
4362 Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>
4363
4364         * gtk/gtkclist.c: draw the buttons during a "draw" as well,
4365           this fixes a bug when the whole widget is made non-sesitive
4366           the buttons weren't redrawn
4367
4368 Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>
4369
4370         * gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
4371         * gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
4372         * gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
4373
4374 Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>
4375
4376         * gdk/gdkwindow.c (gdk_window_reparent): Change 
4377           window_private->parent pointer when reparenting.
4378
4379 Sat Aug  1 22:17:00 1998  Raph Levien  <raph@acm.org>
4380
4381         * gdk/gdkrgb.c: made some minor config changes to unify GdkRgb
4382         with the standalone release.
4383
4384 Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
4385
4386         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
4387         (gtk_clist_button_release) (new_column_width): Few fixes for
4388         column resize. Store resize column in clist->drag_pos.
4389
4390 Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
4391
4392         * gtk/gtkctree.h 
4393         * gtk/gtkctree.c 
4394         * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
4395         to GtkCTreeNode *node.
4396
4397         * gtk/gtklist.h : added extended selection mode and auto scrolling.
4398         (struct _GtkList): removed unneeded variables timer, button,
4399         selection_start_pos, selection_end_pos, scroll_direction, have_grab.
4400         Added new variables undo_selection, undo_unselection, last_focus_child,
4401         undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
4402         drag_selection, add_mode.
4403  
4404         New functions :
4405         (gtk_list_extend_selection), (gtk_list_start_selection),
4406         (gtk_list_end_selection), (gtk_list_select_all),
4407         (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
4408         (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
4409         (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
4410         (gtk_list_undo_selection), (gtk_list_end_drag_selection)
4411         
4412         * gtk/gtklist.c : 
4413         (gtk_list_enter_notify): removed, because auto scrolling now works
4414         with gtk_list_motion_notify
4415  
4416         New functions, needed for auto scrolling :
4417         (gtk_list_motion_notify) (gtk_list_move_focus_child)
4418  
4419         New functions for extended selection support :
4420         (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
4421         (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
4422         (gtk_list_focus_lost)
4423         
4424         (gtk_list_set_focus_child): modified gtk_container_set_focus_child
4425         function to support auto scrolling, and avoid out-of-sync errors in
4426         case auf GTK_SELECTION_BROWSE
4427         (gtk_list_focus): modified gtk_container_focus function to avoid out
4428         off sync errors in case auf GTK_SELECTION_EXTENDED
4429
4430         * gtk/gtklistitem.h 
4431         * gtk/gtklistitem.c :
4432         New signal functions for key binding support :
4433         (toggle_focus_row), (select_all), (list_item), (unselect_all)
4434         (list_item), (undo_selection), (start_selection), (end_selection)
4435         (extend_selection), (scroll_horizontal), (scroll_vertical),
4436         (toggle_add_mode)
4437         (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
4438         GDK_KEY_RELEASE_MASK
4439         (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
4440  
4441         * gtk/gtkcombo.c :
4442         (gtk_combo_popup_button_press):  grab pointer for combo->list
4443         (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
4444         (gtk_combo_list_key_press): take care of which child HAS_GRAB
4445         (gtk_comb_init): don't connect combo->button with button_release_event
4446
4447 Thu Jul 30 12:39:36 1998  Lars Hamann  <lars@gtk.org>
4448
4449         * gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
4450
4451 Wed Jul 29 23:31:50 1998  Lars Hamann  <lars@gtk.org>
4452
4453         * gtk/gtkclist.c (gtk_clist_motion): column resize now works with
4454         horizontal autoscrolling, GtkCTree's 'reorder ability' now works
4455         with horizontal and vertical autoscrolling.
4456
4457 Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4458
4459         * gtk/docs/man: new directory
4460         * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
4461
4462 Tue Jul 28 00:03:20 1998  Lars Hamann  <lars@gtk.org>
4463
4464         * gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
4465         bug
4466
4467 Mon Jul 27 09:18:13 BST 1998  Tony Gale  <gale@gtk.org>
4468
4469         * docs/gtk_tut.sgml: GtkTree section from
4470           David Huggins-Daines <bn711@freenet.carleton.ca>,
4471           add a GtkText widget example
4472         * examples/text/* example/tree/* : new examples for the
4473           GtkTree and GtkText widgets
4474         * docs/gtk_tut.sgml: added an appendix to hold complete code
4475           examples that aren't in a full form elsewhere in the
4476           tutorial (e.g. scribble)
4477
4478 Mon Jul 27 00:46:21 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4479
4480         * Released GTK+ 1.1.0
4481
4482 Mon Jul 27 04:18:26 1998  Tim Janik  <timj@gtk.org>
4483
4484         * gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
4485         the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
4486
4487 Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
4488
4489         * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
4490         values are looked up.
4491
4492         * gtk/gtktypeutils.h:
4493         * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
4494         gtk_type_enums_find_value to lookup enum values.
4495
4496         * gtk/gtkctree.h: 
4497         * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
4498         GtkCTreeExpansionType. fixed signal creations to pass the enum
4499         types not just the base type GTK_TYPE_ENUM.
4500
4501         * gtk/gtkclist.h: 
4502         * gtk/gtkclist.c: fixed signal creations to pass the real enum
4503         types not just the base type GTK_TYPE_ENUM.
4504
4505 Sun Jul 26 14:50:07 1998  Stefan Jeske  <stefan@gtk.org>
4506
4507         * gtk/testgtk.c : 
4508         Began cleanup, e.g. use gtk_widget_show_all instead of many 
4509         gtk_widget_show's. Completely rewrote the button box sample
4510         (only one window now). Removed "miscellaneous" button.
4511
4512 Sun Jul 26 14:48:14 1998  Stefan Jeske  <stefan@gtk.org>
4513
4514         * gtk/gtkvbbox.c (gtk_vbutton_box_size_allocate): 
4515         Fixed wrong allocation for GTK_BUTTONBOX_END.
4516         (allocation->x  =>  allocation->y)
4517
4518 Sun Jul 26 14:06:37 1998  Lars Hamann  <lars@gtk.org>
4519
4520         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release)
4521         (abort_column_resize) (gtk_clist_key_press): fix for pointer grab
4522         
4523         * gtk/gtkctree.c (real_tree_select): added check to avoid double
4524         selected rows
4525         (gtk_ctree_button_press)
4526         (gtk_ctree_button_release): fix for pointer grab
4527
4528 Sat Jul 25 13:16:00 1998 Damon Chaplin  <DAChaplin@msn.com>
4529
4530         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): 
4531         Fixed initialization problem - dirty memory could cause problems.
4532         Also checked that bitmapped fonts can be scaled when showing the
4533         available sizes.
4534
4535 Sat Jul 25 02:25:03 1998  Lars Hamann  <lars@gtk.org>
4536
4537         * gtk/gtkctree.c (gtk_ctree_sort_recursive)
4538         (gtk_ctree_sort_recursive): test for node != NULL
4539         (gtk_ctree_is_visible) (gtk_ctree_realize) (gtk_ctree_unrealize)
4540         (gtk_ctree_last) : added sanity checks
4541         * gtk/gtkclist.c (gtk_clist_button_press): removed "no_focus_row"
4542
4543 Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
4544
4545         * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
4546
4547 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
4548
4549         * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
4550
4551 Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>
4552
4553         * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
4554         to check out binding priorities. someone should really write
4555         gtkrc-mode for emacs.
4556
4557         * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
4558         * gtk/testgtk.c (main): and move it here ;). this test says something
4559         on release of C-9. (this works only if the mouse pointer is on a
4560         spinbutton and there is no focus widget).
4561
4562         * gtk/gtkrc.h:
4563         * gtk/gtkrc.c:
4564         export gtk_rc_parse_color, gtk_rc_parse_state and a new function
4565         gtk_rc_parse_priority to parse path priority types.
4566         export rc tokens.
4567         feature binding parsing.
4568
4569 Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>
4570
4571         * gtk/gtkbindings.h: 
4572         * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
4573         feature binding parsing in rc files.
4574         * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
4575         * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
4576         order the bindings with lowest priority first.
4577
4578 Wed Jul 22 15:21:08 PDT 1998 Manish Singh <yosh@gimp.org>
4579
4580         * gdk/gdkrgb.c: actually builds and runs properly on big
4581         endian machines now, because we #include config.h. Also
4582         fixed up a compile error in the WORDS_BIGENDIAN case in
4583         gdk_rgb_convert_565_gray. I made the fix by looking at
4584         patterns in the other code; Raph can you verify this?
4585
4586         * gdk/gdkthreads.c: #include <unistd.h> to quell compiler
4587         warnings
4588
4589 Wed Jul 22 23:00:44 1998  Lars Hamann  <lars@gtk.org>
4590
4591         * gtk/gtkctree.c (tree_select/unselect) (tree_expand/collapse) 
4592         (tree_toggle_expansion) (real_select/unselect_row)
4593         (gtk_ctree_select/unselect) : few fixes for gtk_signal_emits
4594
4595 Wed Jul 15 17:44:47 1998  Owen Taylor  <otaylor@redhat.com>
4596
4597         * gtk/gtktext.c (new_text_property): We free things from
4598         the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
4599
4600         * Fix up line start cache when splitting a property
4601         during an insert.
4602
4603 Wed Jul 15 21:15:52 1998  Owen Taylor  <otaylor@redhat.com>
4604
4605         * gtk/gtkwidget.c: restauration => restoration
4606
4607 Thu Jul 16 20:11:36 1998  Owen Taylor  <otaylor@redhat.com>
4608
4609         * gdk/gdkxid.c (gdk_xid_table_lookup): If xid_ht
4610         hasn't been created yet, don't do the lookup.
4611
4612 1998-07-20  Raph Levien  <raph@acm.org>
4613
4614         * gdk/gdkrgb.c: More cleanups in the config process.
4615
4616 1998-07-20  Raph Levien  <raph@acm.org>
4617
4618         * gdkrgb.c: Fixed minor config bug preventing big-endian
4619         architectures from working.
4620
4621 Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>
4622
4623         * gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
4624         activity indicator. It is settable now as a fraction of the
4625         total width/height using gtk_progress_bar_set_activity_blocks.
4626         Renamed gtk_progress_bar_set_number_of_blocks to
4627         gtk_progress_bar_set_discrete_blocks.
4628
4629 Mon Jul 20 21:28:18 1998  Lars Hamann  <lars@gtk.org>
4630
4631         * gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
4632         (gtk_ctree_pre_recursive_to_depth): new functions, recursive process
4633         tree to specified depth
4634         (gtk_ctree_expand_to_depth): expand tree to specified depth
4635         (gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
4636
4637 Sun Jul 19 23:51:05 1998  Lars Hamann  <lars@gtk.org>
4638
4639         * gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
4640         of GTK_CLIST_ADD_MOD
4641         * gtk/testgtk.c (add1000_clist): changed pixmap
4642
4643 Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>
4644
4645         * gtk/gtkmain.h: 
4646         * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
4647
4648         * gtk/gtktypeutils.h:
4649         * gtk/gtkitemfactory.h: remove "void" from prototypes again.
4650
4651 Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>
4652
4653         * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
4654         CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
4655         (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
4656         CHILD_ARG_POSITION
4657         (gtk_notebook_reorder_child): new funktion to change position of a
4658         notebook page
4659         (gtk_notebook_draw_arrow): draw left/right arrow with
4660         GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
4661
4662         * gtk/gtkstyle.c (gtk_default_draw_arrow):
4663         added GTK_SHADOW_ETCHED_IN/OUT
4664
4665 Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>
4666
4667         * gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
4668           gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
4669         Introduced generic GtkProgress widget. Derived GtkProgressBar from
4670         GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
4671
4672 Fri Jul 17 23:49:28 PDT 1998 Manish Singh <yosh@gimp.org>
4673
4674         * gtk/gtktypeutils.h
4675         * gtk/gtkitemfactory.h: explicitly specify void in prototype
4676
4677 Fri Jul 17 17:54:02 1998  Lars Hamann  <lars@gtk.org>
4678
4679         * gtk/gtkclist.c (scroll_vertical): fix to avoid flicker at begin/end
4680         of list
4681
4682 Fri Jul 17 05:30:47 1998  Tim Janik  <timj@gtk.org>
4683
4684         * gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
4685         sropped the approach of copying all signal specific data into a
4686         GtkHandlerInfo structure. we rather keep the signal data on the stack
4687         in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
4688         avoids multiple lookups of the signal pointer and works savely together
4689         with destroy notifiers of handlers.
4690
4691         * gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
4692         someone destroys the entry on the ::activate signal.
4693
4694 Fri Jul 17 01:21:32 1998  Tim Janik  <timj@gtk.org>
4695
4696         * gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
4697         instead of ypad (typo).
4698         (gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
4699         border around the allocation).
4700         (gtk_arrow_init): the static requisition needs to be setup in this
4701         function rather than gtk_widget_new(), so arrow creation works without
4702         the gtk_arrow_new() constructing.
4703         (gtk_arrow_expose): return TRUE, since we actually handled the expose.
4704
4705         * gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
4706         implementation for GtkWidget::size_request, so size requisition for
4707         simple statically sized widgets like GtkArrow works.
4708
4709 Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
4710
4711         * gtk-config.in: minor changes to gtk-config: --cflags doesn't
4712         prepend -I@libdir@/glib/include anymore, since glib-config handles
4713         it; --libs strips out redundant -L<path>'s properly (there was
4714         code in there to do it before, but it didn't work)
4715
4716 Thu Jul 16 18:24:41 1998  Tim Janik  <timj@gtk.org>
4717
4718         * gtk/gtknotebook.h: 
4719         * gtk/gtknotebook.c: signdness corrections all ove the place.
4720         implementation of object arguments: GtkNotebook::enable_popup,
4721         GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
4722         GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
4723         begun implementation of child args, we have GtkNotebook::tab_label, but
4724         GtkNotebook::menu_label and GtkNotebook::position still lack the
4725         implementation.
4726         (gtk_notebook_remove_page):
4727         (gtk_notebook_current_page): allow negative indices (-1) as alias for
4728         the last page.
4729
4730         * gtk/gtkentry.h:
4731         * gtk/gtkentry.c: GtkType and macro fixups. implementation of object
4732         arguments GtkEntry::max_length and GtkEntry::visibility.
4733         (gtk_entry_adjust_scroll): queue a redraw.
4734
4735         * gtk/gtkeditable.h:
4736         * gtk/gtkeditable.c: GtkType und macro fixups. implementation of
4737         object arguments GtkEditable::text_position and GtkEditable::editable.
4738         new (action) signal GtkEditable::set_editable.
4739         provide a default handler for GtkEditable::changed that queues a redraw.
4740
4741         * gtk/gtktext.h: 
4742         * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
4743         set_editable.
4744
4745 Thu Jul 16 14:42:11 1998  Lars Hamann  <lars@gtk.org>
4746
4747         * gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
4748         case of drag_target == NULL
4749         * gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
4750         Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
4751         * gtk/gtkfilesel.c (gtk_file_selection_file_button,
4752         gtk_dir_selection_file_button): fix due to changes in clist's
4753         select_row signal.
4754
4755 Thu Jul 16 01:27:15 1998  Tim Janik  <timj@gtk.org>
4756
4757         * gtk/gtkwidget.h:
4758         * gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
4759         similar to gtk_widget_set_uposition(). that is: -1=unspecified,
4760         -2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
4761         to be gint16s rather than guint16s, since that's what the code expected
4762         (for a long time actually).
4763
4764         * gtk/gtkviewport.c:
4765         added support for object arguments: GtkViewport::shadow_type,
4766         GtkViewport::vadjustment and GtkViewport::hadjustment.
4767         (gtk_viewport_add): chain gtk_bin_add.
4768
4769         * gtk/gtkscrolledwindow.c: 
4770         added support for object argument: GtkScrolledWindow::hscrollbar_policy,
4771         GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
4772
4773         * gtk/gtkadjustment.h: 
4774         * gtk/gtkadjustment.c: 
4775         * gtk/gtkctree.h: 
4776         * gtk/gtkclist.h: 
4777         * gtk/gtkctree.c: 
4778         * gtk/gtkclist.c:
4779         * gtk/gtkscrolledwindow.h:
4780         * gtk/gtkscrolledwindow.c:
4781         * gtk/gtkviewport.h:
4782         * gtk/gtkviewport.c:
4783         GtkType and macro fixups.
4784
4785 Thu Jul 16 01:10:02 1998  Lars Hamann  <lars@gtk.org>
4786
4787         * gtk/gtkctree.h :
4788         * gtk/gtkctree.c :
4789         Added focus handling, horizontal and vertical autoscrolling,
4790         extended Selection Mode, key bindings
4791         Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
4792         Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
4793         Removed gtk_ctree_clear.
4794         
4795         * gtk/gtkclist.h :
4796         * gtk/gtkclist.c : 
4797         Added focus handling, horizontal and vertical autoscrolling,
4798         extended Selection Mode, key bindings
4799
4800 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
4801
4802         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
4803         source tree. For more information on GdkRgb, please see:
4804         http://www.levien.com/gdkrgb/
4805
4806         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
4807         bothers me slightly that the feature is in gdk, and this file is
4808         in gtk, but it's probably ok.
4809
4810         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
4811
4812         * gdk/gdkrgb.c:
4813         * gdk/gdkrgb.h: Added this module.
4814
4815         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
4816
4817         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
4818
4819 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
4820
4821         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
4822         to this function. it needs to relookup the signal multiple times.
4823         this fixes spurious segfaults that could show up with signal intensive
4824         code, when classes are created during a pending emission (which is
4825         normal case).
4826
4827 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
4828
4829         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
4830         child if it isn't a label.
4831
4832 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
4833
4834         * gtk/gtkdialog.h: 
4835         * gtk/gtkseparator.h: 
4836         * gtk/gtkhseparator.h: 
4837         * gtk/gtkvseparator.h: macro and GtkType fixups.
4838
4839 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
4840
4841         * gtk/testgtk.c (create_cursors): display the current cursor name.
4842
4843         * gtk/gtktypeutils.h: 
4844         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
4845         the fundamental type definition. the GtkArg union now only covers
4846         the required storage types for argument values. adapted the GTK_VALUE_*
4847         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
4848
4849         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
4850         code, fixed int/float collection. fixed a bug in the sanity checking
4851         code for GtkObjects.
4852
4853         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
4854         argument collection code.
4855
4856         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
4857         macros when distinguishing the return type.
4858
4859 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
4860
4861         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
4862           is not NULL before trying to g_list_remove the child. A patch
4863           from Michael Lausch.
4864
4865 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
4866
4867         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
4868         collection (always casted to doubles upon argument passing).
4869
4870 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
4871
4872         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
4873         object_init_func for derived objects with the object's ->klass field
4874         still pointing to the corresponding base class, otherwise overridden
4875         class functions could get called with partly-initialized objects.
4876         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
4877
4878 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
4879
4880         * gtk/gtkobject.h:
4881         * gtk/gtkobject.c:
4882         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
4883
4884         * gtk/gtkcontainer.h:
4885         * gtk/gtkcontainer.c:
4886         (gtk_container_child_arg_get_info): new function which wraps
4887         gtk_arg_get_info().
4888
4889 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
4890
4891         * gtk/gtkcontainer.c:
4892         (gtk_container_arg_get): 
4893         (gtk_container_arg_set): 
4894         * gtk/gtkobject.c:
4895         (gtk_object_arg_set): 
4896         (gtk_object_arg_get):
4897         strictly check for the associated get/set arg functions. if an
4898         arg is readable or writable, the associated class functions *must*
4899         be provided.
4900
4901 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
4902
4903         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
4904         padding into account if there is an accelerator.
4905
4906 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
4907
4908         * gtk/gtkcontainer.c:
4909         (gtk_container_add_with_args): collect the arguments with
4910         gtk_container_child_args_collect, not through gtk_object_args_collect.
4911         (gtk_container_child_set): likewise.
4912
4913 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
4914
4915         * gtk/gtktypeutils.h: 
4916         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
4917         which is derived from GTK_TYPE_STRING.
4918
4919         * gtk/gtkbindings.c: reworked the argument type handling.
4920
4921 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4922
4923         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
4924           so that it seems to allow normal operation in those modes,
4925           although you will only see black  (GIMP toolbar now pops up,
4926           just don't create a new image and GIMP now works in 4 bit.)
4927
4928 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4929
4930         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
4931           array, which was too low (?)
4932
4933 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
4934
4935         * gtk/gtkcontainer.h: 
4936         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
4937         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
4938         we now export a new function gtk_container_child_args_collect().
4939         for consistency with the object arguments, a few functions got renamed:
4940         gtk_container_child_arg_get -> gtk_container_child_get,
4941         gtk_container_child_arg_set -> gtk_container_child_set,
4942         gtk_container_child_arg_getv -> gtk_container_child_getv,
4943         gtk_container_child_arg_setv -> gtk_container_child_setv,
4944         gtk_container_add_with_argv -> gtk_container_addv.
4945         note, gtk_container_add_with_args() remained, because its equivalent
4946         would be gtk_container_add(,, ...) which would break all existing code.
4947         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
4948         we expect the `arg_name' argument to be a const static string now.
4949         (gtk_container_get_child_arg_type): function removed.
4950
4951 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
4952
4953         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
4954         this is a static inline function that collects command line arguments
4955         from a va_list. this file can just be included in all places that
4956         need this functionality.
4957
4958         * gtk/gtkarg.h: 
4959         * gtk/gtkarg.c: new files which implement most of the argument
4960         handling stuff from gtkobject.c. also collected a few more
4961         gtk_arg_* utility functions from else places.
4962
4963         * gtk/gtkobject.h: 
4964         * gtk/gtkobject.c: moved most of the argument handling code into
4965         gtkarg.c. we now export gtk_object_args_collect() as a non-public
4966         method with a blind va_list pointer.
4967         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
4968         const static string now.
4969         (gtk_object_get_arg_type): function got removed.
4970
4971         * gtk/gtkwidget.c: 
4972         (gtk_widget_set): 
4973         (gtk_widget_new): adaptions for gtk_object_args_collect().
4974
4975         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
4976         fundamental type name so as to have a valid prefix, e.g. "bool"->
4977         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
4978         though that should probably be something like GtkNone since the
4979         type itself is called GTK_TYPE_NONE.
4980         even the internal type names need to avoid name clashes and must live
4981         in their own namespace, several code portions rely on that.
4982         we should relly have typedefs such as typedef gchar* GtkString; so the
4983         fundamental type names can be used for code dumpers just like with all
4984         the Gtk/Gdk types.
4985
4986 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
4987
4988         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
4989         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
4990         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
4991         (GTK_RELIEF_HALF).
4992         (gtk_button_paint): set the background for prelighted buttons with
4993         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
4994         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
4995         the shadow type (otherwise we get strange shadows for coloured buttons).
4996         (gtk_button_set_relief): queue a redraw after changing
4997         the relief.
4998         (gtk_button_class_init): 
4999         (gtk_button_set_arg): 
5000         (gtk_button_get_arg): added object argument "GtkButton::relief".
5001
5002         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
5003
5004 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
5005
5006         * gtk/gtkbutton.h:
5007         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
5008         GTK_BIN (button)->child to button->child to keep source compatibility.
5009
5010         * gtk/gtkoptionmenu.c:
5011         * gtk/gtkclist.c:
5012         * gtkcheckbutton.c: don't refer to button->child, but
5013         GTK_BIN (button)->child instead.
5014
5015 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
5016
5017         * docs/gtkfaq.sgml: update anon CVS info
5018
5019 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
5020
5021         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
5022         functions.
5023
5024         * gdk/gdkwindow.c:
5025         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
5026         to XFree() calls.
5027
5028 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5029
5030         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
5031         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
5032
5033 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
5034
5035         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
5036
5037 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
5038
5039         * gtk/gtkwidget.h:
5040         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
5041
5042         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
5043         error that prevented signal to entry addition for signals with
5044         parameters.
5045
5046 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
5047
5048         * ltconfig: fix for properly detecting shared lib support on
5049         SunPro cc (taken from libtool 1.2.a)
5050
5051 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
5052
5053         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
5054
5055 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
5056
5057         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
5058         rc set pattern is favoured, this is needed for overriding of style
5059         patterns with subsequently parsed rc files.
5060
5061 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
5062
5063         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
5064         error messages.
5065
5066 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
5067
5068         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
5069         modifier as well.
5070         (gtk_accelerator_name): add "<Release>" to the accelerator name if
5071         neccessary.
5072
5073         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
5074         account.
5075
5076         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
5077         default handler for key-release events, which checks for activation
5078         of GDK_RELEASE_MASK key bindings.
5079
5080         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
5081
5082 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
5083
5084         * gtk/gtkarrow.h: GtkType and macro fixups.
5085         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
5086         "GtkArrow::shadow_type".
5087
5088 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
5089
5090         * gtk/gtkalignment.h:
5091         * gtk/gtkbin.h: GtkType and macro fixups.
5092         
5093         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
5094         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
5095         GtkAlignment::xscale, GtkAlignment::yscale.
5096
5097 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
5098
5099         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
5100         fucntions from all parent types upon class initialization.
5101
5102         * gtk/gtkcontainer.c:
5103         (gtk_container_get_type): announce gtk_container_base_class_init to
5104         the type system.
5105         (gtk_container_base_class_init): new function to feature base class
5106         initialization.
5107         (gtk_container_get_child_arg): 
5108         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
5109         and set_child_arg methods of the class indicated through the argument
5110         name.
5111
5112         * gtk/gtkobject.c:
5113         (gtk_object_base_class_init): new function to feature base class
5114         initialization.
5115         (gtk_object_init_type): announce gtk_object_base_class_init to the type
5116         system.
5117         (gtk_object_class_init): setup the get_arg and set_arg pointers for
5118         GtkObjectClass.
5119         (gtk_object_setv): 
5120         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
5121         instead of bothering the type system with this.
5122
5123         * gtk/gtkaccellabel.c: 
5124         * gtk/gtkbutton.c: 
5125         * gtk/gtkradiobutton.c: 
5126         * gtk/gtktable.c:
5127         * gtk/gtktogglebutton.c: 
5128         * gtk/gtktipsquery.c: 
5129         * gtk/gtkbox.c: 
5130         * gtk/gtkpacker.c: 
5131         * gtk/gtkwidget.c: 
5132         * gtk/gtkwindow.c: 
5133         * gtk/gtkframe.c: 
5134         * gtk/gtkmisc.c:
5135         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
5136         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
5137         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
5138         arg functions to take a GtkObject argument.
5139
5140         gtk/gtkadjustment.c:
5141         gtk/gtkalignment.c:
5142         gtk/gtkarrow.c:
5143         gtk/gtkaspectframe.c:
5144         gtk/gtkbbox.c:
5145         gtk/gtkbin.c:
5146         gtk/gtkcheckbutton.c:
5147         gtk/gtkcheckmenuitem.c:
5148         gtk/gtkclist.c:
5149         gtk/gtkcolorsel.c:
5150         gtk/gtkcombo.c:
5151         gtk/gtkctree.c:
5152         gtk/gtkcurve.c:
5153         gtk/gtkdata.c:
5154         gtk/gtkdialog.c:
5155         gtk/gtkdrawingarea.c:
5156         gtk/gtkeditable.c:
5157         gtk/gtkentry.c:
5158         gtk/gtkeventbox.c:
5159         gtk/gtkfilesel.c:
5160         gtk/gtkfixed.c:
5161         gtk/gtkfontsel.c:
5162         gtk/gtkgamma.c:
5163         gtk/gtkhandlebox.c:
5164         gtk/gtkhbbox.c:
5165         gtk/gtkhbox.c:
5166         gtk/gtkhpaned.c:
5167         gtk/gtkhruler.c:
5168         gtk/gtkhscale.c:
5169         gtk/gtkhscrollbar.c:
5170         gtk/gtkhseparator.c:
5171         gtk/gtkimage.c:
5172         gtk/gtkinputdialog.c:
5173         gtk/gtkitem.c:
5174         gtk/gtkitemfactory.c:
5175         gtk/gtklist.c:
5176         gtk/gtklistitem.c:
5177         gtk/gtkmenu.c:
5178         gtk/gtkmenubar.c:
5179         gtk/gtkmenuitem.c:
5180         gtk/gtkmenushell.c:
5181         gtk/gtknotebook.c:
5182         gtk/gtkoptionmenu.c:
5183         gtk/gtkpaned.c:
5184         gtk/gtkpixmap.c:
5185         gtk/gtkpreview.c:
5186         gtk/gtkprogressbar.c:
5187         gtk/gtkradiomenuitem.c:
5188         gtk/gtkrange.c:
5189         gtk/gtkruler.c:
5190         gtk/gtkscale.c:
5191         gtk/gtkscrollbar.c:
5192         gtk/gtkscrolledwindow.c:
5193         gtk/gtkseparator.c:
5194         gtk/gtkspinbutton.c:
5195         gtk/gtkstatusbar.c:
5196         gtk/gtktext.c:
5197         gtk/gtktoolbar.c:
5198         gtk/gtktooltips.c:
5199         gtk/gtktree.c:
5200         gtk/gtktreeitem.c:
5201         gtk/gtkvbbox.c:
5202         gtk/gtkvbox.c:
5203         gtk/gtkviewport.c:
5204         gtk/gtkvpaned.c:
5205         gtk/gtkvruler.c:
5206         gtk/gtkvscale.c:
5207         gtk/gtkvscrollbar.c:
5208         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
5209         match the modified GtkTypeInfo structure.
5210
5211 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
5212
5213         * gtk/testgtk.c: use rand() instead of random() for portability
5214
5215 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
5216
5217         * configure.in
5218         * acconfig.h
5219         * gdk/gdk.c: use native Xlib XConvertCase if it's available
5220
5221 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
5222
5223         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
5224         XConvertCase() functionality from X11R6 on X11R5 systems.
5225
5226 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
5227
5228         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
5229         gdk_string_height, gdk_char_height to retrieve the exact
5230         height of a text.
5231
5232 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
5233
5234         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
5235           by Stefan Mars <mars@lysator.liu.se>
5236         * examples/clist/clist.c examples/clist/Makefile: example code
5237           for GtkCList widget from the Tutorial
5238
5239 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
5240
5241         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
5242         if the container is not visible, we might be a toplevel! this holds
5243         for all other base container implementations as well, that are
5244         candidates to derive toplevels from. in general the resizing code will
5245         care about visibility itself.
5246         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
5247         * gtk/gtkbox.c (gtk_box_remove): likewise.
5248
5249         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
5250         gtk_window_set_hints(), since we haven't calculated the new position
5251         yet.
5252
5253         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
5254         *mask are alway initialized in a sane way, regardless of the return
5255         value.
5256
5257 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
5258
5259         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
5260         to gtk_container_child_arg_setv, but takes a variable argument list.
5261         new function gtk_container_get_child_arg_type, which is needed by
5262         gtk_object_collect_args.
5263
5264         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
5265         take a function pointer to figure the argument type.
5266         adapted callers to pass gtk_object_get_arg_type.
5267         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
5268         gtk_object_get_arg_type..
5269
5270         * gtk/gtkpacker.h: 
5271         * gtk/gtkpacker.c:
5272         (gtk_packer_reorder_child): new function to change the packing order
5273         of a child.
5274         (gtk_packer_size_request): 
5275         (gtk_packer_size_allocate): take container->border_width into acount.
5276
5277         * gtk/gtkpacker.c: implemented widget arguments:
5278         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
5279         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
5280         implemented child arguments:
5281         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
5282         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
5283         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
5284         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
5285
5286         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
5287         not the alignment.
5288
5289         * gtk/gtkeventbox.h:
5290         * gtk/gtkeventbox.c: GtkType and macro fixups.
5291
5292         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
5293         sensitivity of an entry.
5294
5295         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
5296         for insensitive base and text.
5297
5298         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
5299         widget state dependent.
5300         (gtk_entry_style_set): likewise.
5301         (gtk_entry_state_changed): set background color on state changes.
5302         (gtk_entry_draw_text): for non selected text, use state dependent
5303         colors.
5304
5305         * gtk/gtktogglebutton.c: support for widget arguments
5306         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
5307
5308 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
5309
5310         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
5311         code for 1.0.x-like parameters. Changed internal interface of
5312         gtk_spin_button_real_spin. Several fixes to avoid emission of
5313         "value_changed" where possible.
5314
5315 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
5316
5317         * gtk-boxed.defs: s/GkWidget/GtkWidget/
5318
5319 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
5320
5321         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
5322         to select the resize_mode for the idle-labels container.
5323
5324         * gtk/gtkframe.h: 
5325         * gtk/gtkframe.c: GtkType and macro corrections.
5326
5327         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
5328         support widget argument "GtkRadioButton::group".
5329
5330 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
5331
5332         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
5333         unconditionally if resize_mode has changed.
5334
5335         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
5336         GTK_RESIZE_QUEUE on the scrolled window.
5337         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
5338
5339 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
5340
5341         * gtk/gtkcontainer.h:
5342         * gtk/gtkcontainer.c:
5343         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
5344         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
5345         (gtk_container_queue_resize): new function to queue a container for
5346         a *size* reallocation (doesn't affect its position, and thus its
5347         parent is left untouched usually).
5348         (gtk_container_get_resize_container): new function to retrive the next
5349         most resize container which is not itself queued for a resize.
5350         (gtk_container_idle_sizer): new function to carefully process the
5351         container_resize_queue since it can change during invokation of
5352         gtk_container_check_resize().
5353         (gtk_container_resize_children): total rework of this function to
5354         properly handle resize containers. makes a lot of assumptions whitch
5355         are stated in the comments.
5356
5357         * gtk/gtkcontainer.c:
5358         (gtk_container_real_check_resize): only requeue ourselves if we are not
5359         a resize container.
5360         (gtk_container_clear_resize_widgets): care for automatic deletion of our
5361         resize_widgets list on size_allocate through a handler connection.
5362
5363         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
5364         focus and default widget of a window, so to take the burden from
5365         gtk_widget_unparent.
5366
5367         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
5368         to be clever, but actually messed up the resize_children logic and
5369         caused unneccessary allocations on its whole branch. besides this,
5370         it messed up the display by not invoking a redraw after the allocation.
5371
5372         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
5373         that it is the child again that is queued for a resize.
5374         (gtk_table_attach): likewise.
5375         (gtk_table_remove): likewise.
5376
5377 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5378
5379         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
5380         gtk_entry_adjust_scroll.  Required if you change the cursor
5381         position and want to sync it up with your code (Midnight Commander
5382         gtk front end needs this).
5383
5384         * gtk/gtktable.c: Deal with tables that have size 0, 0.
5385
5386 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
5387
5388         * examples/README.1ST: new file to explain how the
5389           code examples should be extracted from the tutorial.
5390
5391 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
5392
5393         * gtk/gtkctree.c (draw_row): added new "line style"
5394         GTK_CTREE_LINES_TABBED 
5395         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
5396         search the glist pointer of an GtkCTreeRow
5397
5398 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
5399  
5400         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
5401         from, and clean up, the dependencies.  Generate to intermediate
5402         files to prevent problems with Ctrl-C.
5403
5404         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
5405
5406 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
5407
5408         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
5409         - Bug fix for precision problem causing occasional double emission 
5410           of "value_changed" signal (hopefully works now).
5411         - API change (should be binary compatible) : 
5412           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
5413           Modified cursor example appropriately.
5414           To spin by something other than step_/page_increment, use
5415           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
5416         - Made GTK_SHADOW_NONE the default. ;)
5417         - Fixed casting of GtkAdjustment* to GtkWidget* in
5418           gtk_spin_button_value_changed.
5419
5420 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
5421
5422         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
5423         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
5424         resize widget list before queuing the container for a new reize.
5425         (gtk_container_need_resize): changed return value to FALSE, since this
5426         used to indicate that no further resizes are needed.
5427         (gtk_container_set_arg): 
5428         (gtk_container_get_arg): 
5429         (gtk_container_class_init): implemented GtkContainer::resize_mode
5430         argument.
5431
5432         (gtk_container_resize_children): when we walk up the tree of a resize
5433         widget we need to stop if we are the current parent.
5434
5435         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
5436         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
5437         (gtk_widget_hide_all): retrive the toplevel widget from via
5438         gtk_widget_get_resize_container().
5439
5440 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
5441
5442         * gtk/gtklist.c (gtk_list_button_press): Only respond
5443           to selection with button 1. This allows context-sensitive
5444           menus to work correctly.
5445
5446 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
5447
5448         * gtk/gtkaccelgroup.c: 
5449         * gtk/gtkbindings.c: 
5450         * gtk/gtkcontainer.c:
5451         * gtk/gtkitemfactory.c:
5452         * gtk/gtkobject.c: 
5453         * gtk/gtksignal.c:
5454         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
5455         g_quark_from_static_string calls to save memory.
5456
5457         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
5458         function _after_ the new data has been setup.
5459         minor changes to object data functions to feature the GQuark type.
5460
5461 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
5462
5463         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
5464           from argv.
5465
5466 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
5467
5468         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
5469           to be more readable perl, to spit out stuff that looks
5470           more like readable C, and to pipe output through indent
5471           so output looks a lot like readable C. No functional
5472           changes.
5473
5474 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
5475
5476         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
5477           necessary when switching to a masked pixmap. (Based on a patch
5478           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
5479
5480 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
5481
5482         * gtk/gtkeditable.[ch]: Added action signals for keyboard
5483           bindings. (move_cursor, kill_word, etc, etc, etc). 
5484
5485           removed the time argument from
5486           gtk_editable_cut/copy/paste_clipboard (source but not
5487           binary incompatible...) Instead get time from
5488           gtk_get_current_event ().
5489         
5490         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
5491           signals.
5492
5493 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
5494
5495         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
5496
5497         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
5498              parent class to GtkNotebookClass when splitting the widget in
5499              two.  Also updated some comments.
5500
5501         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
5502                button without a font selected.
5503
5504              Fixed bug in set_font_name - I hadn't updated the code to
5505                search for the style in the font_style clist - it was
5506                still assuming the style row was equal to its index,
5507                but it isn't any more.
5508         
5509              Changed 'Reset' button on filter page to 'Clear Filter'.
5510              Deleted old code relating to the old 'Filter Fonts' toggle
5511              Updated some comments.
5512              Cleared 'Actual Fontname' if no font is set.
5513
5514         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
5515              destroying the GtkFontSelection instead of the
5516              GtkFontSelectionDialog.
5517
5518 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
5519
5520         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
5521           flag to make all warnings fatal errors.
5522
5523         * gtk/testthreads.c: moved <pthreads.h> include inside 
5524           #ifdef USE_PTHREADS
5525
5526 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
5527
5528         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
5529           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
5530
5531         - Added new function gtk_container_set_resize_mode() for
5532           fine-grained control of where resize-queueing is done.
5533
5534         - Removed GtkContainer::need_resize and GtkWindow::move_resize
5535         - Added GtkContainer::check_resize to replace need_resize.
5536
5537         - Added function gtk_container_check_resize() to trigger
5538           queued resizes, and gtk_container_resize_children() to
5539           Figure which children need to be size-allocated. (logic
5540           moved from gtkwindow.c)
5541
5542         - Reorganized code in gtkwindow.c
5543         
5544         - Set the resize-mode for viewports so that resizes within
5545           a viewport don't propagate out of it. 
5546         
5547 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5548
5549         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
5550
5551         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
5552         g_return_val_if_fail, because the function *does* return a value.
5553
5554 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
5555
5556         * gtk/gtkaccellabel.h:
5557         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
5558         request the size of the accelerator portion of an accel label.
5559         (gtk_accel_label_size_request): don't request for the accelerators size.
5560         (gtk_accel_label_expose_event): only draw the accelerator if we got
5561         enough extra space.
5562
5563         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
5564         width from children.
5565
5566         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
5567         object (after removal has been requested) check if there is still an
5568         accelerator remaining to avoid adding two accelerators on an object.
5569         this can happen for locked accelerators (or accelerator-frozen widgets).
5570         (gtk_menu_size_request): feature childrens accelerator width in size
5571         requests.
5572
5573         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
5574         gtk_widget_freeze_accelerators() for dynamically created menu items.
5575
5576         * gtk/gtksignal.h: 
5577         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
5578         which will return a handler_id > 0 if the specified function is pending
5579         for `signal_id'.
5580
5581         * gtk/gtkwidget.h:
5582         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
5583         a signal handler function to stop accelerator addition.
5584         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
5585         which will prevent (undo) any accelerators from being added to or
5586         removed from a widget.
5587
5588 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
5589
5590         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
5591         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
5592         acceleration, new API gtk_spin_button_set_snap_to_ticks.
5593
5594 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
5595
5596         * gdk/gdk.h:
5597         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
5598         the current GdkWindow the pointer is on if there is any.
5599         
5600         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
5601         and one column, so we don't construction logic at all. changed a few
5602         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
5603         unsigned int wraps.
5604
5605         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
5606         portion, added an additional check for parent != widget.
5607
5608         * more GtkType and macro fixups.
5609
5610 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5611
5612         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
5613         "clip" parameter, which is the clipping rectangle to use.  This
5614         eliminates the extremely annoying flicker when exposing parts of
5615         the handlebox.
5616
5617 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
5618
5619         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
5620         resizing
5621
5622 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
5623
5624         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
5625         != 0 on the argument.
5626
5627         * gtk/gtktable.h: 
5628         * gtk/gtktable.c: new function gtk_table_resize() which allowes
5629         shrinking and expanding of tables. implementation of widget arguments
5630         and child arguments. many signedness corrections.
5631
5632 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
5633
5634         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
5635         not only the child, otherwise we might end up taking away other
5636         childrens space after the resize.
5637
5638         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
5639         an unknown menu path from any source, that path must always be flagged
5640         as "modified", since we don't really know whether it has its default
5641         value or not.
5642
5643         * gtk/gtktree.c:
5644         * gtk/gtkpacker.c:
5645         * gtk/gtknotebook.c:
5646         * gtk/gtkmenushell.c:
5647         * gtk/gtklist.c:
5648         * gtk/gtkpaned.c:
5649         * gtk/gtkfixed.c: 
5650         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
5651
5652         * gtk/gtkbox.h: 
5653         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
5654         arguments. implemented child arguments.
5655
5656         * more GtkType and macro fixups.
5657
5658 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
5659
5660         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
5661
5662         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
5663         and gtk_clist_get_hadjustment.
5664
5665         * gtk/gtkcontainer.c:
5666         implementation of children arguments, new class member functions
5667         (child_type), (get_child_arg) and (set_child_arg) plus a new field
5668         n_child_args.
5669         (gtk_container_child_type): new function which returns the type of a
5670         child that the container expects for its next addition.
5671         (gtk_container_add_child_arg_type): new function to introduce a new
5672         child argument at class creation time.
5673         (gtk_container_query_child_args): new function to query all child
5674         arguments that are supported by a container class.
5675         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
5676         child argument.
5677         (gtk_container_child_arg_setv): new function to set a child argument for
5678         a certain container and child combination.
5679         (gtk_container_add_with_args):
5680         (gtk_container_add_with_argv): new functions to feature addition of a
5681         new child in combination with the setting of certain child arguments.
5682
5683         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
5684         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
5685         this should really be done through class cretion hooks some day.
5686
5687         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
5688         guint : 16.
5689
5690         * gtk/gtkpacker.h:
5691         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
5692         follow the gtk convention for lower case variable names (important
5693         for language wrappers and widget arguments), and made them guint : 16.
5694
5695         * examples/packer/pack.c: adaptions for the case converted GtkPacker
5696         fields.
5697
5698 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
5699
5700         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
5701         change the character pair for single line comments.
5702         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
5703         GtkItemFactoryClass.
5704         (gtk_item_factory_parse_rc_string): likewise.
5705
5706 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
5707
5708         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
5709         lists from the klass structure to a static structure
5710         in gtkfontsel.c; cleans up global the namespace.
5711
5712 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
5713
5714         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
5715         bug with /*< skip >*/ and remove warning.
5716         
5717 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
5718
5719         * gtk/Makefile.am: Made the gtkmarshal.* generation
5720         rules maintainer-only.
5721
5722 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
5723
5724         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
5725           gtk/Makefile.am gtk/makenums.pl 
5726
5727         Removed out the G_ENUM/FLAGS mechanism in favor
5728         of a perl script that parses the standard headers
5729         (with occasional /*< nick=foo >*/ style overrides)
5730         and extracts the enumerations.
5731
5732           gtk/maketypes.awk: Small improvments to the
5733           translation of names. (Avoid splitting gc into
5734           g_c_.)
5735         
5736 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
5737
5738         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
5739         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
5740         
5741 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
5742
5743         * gtk/gtkentry.c:
5744         - Restored gtk_entry_adjust_scroll to static 
5745         - Changed text positioning code so that we always
5746           display as large a portion of the text as possible.
5747
5748 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
5749
5750         * gtk/gtktext.c (gtk_text_finalize): Free internal
5751         structures of text widget. Also, unreference pixmaps
5752         when unrealizing.
5753         
5754 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
5755
5756         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
5757         3.3.1 bug workaround to number keys starting at 1.
5758
5759 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
5760
5761         * docs/gtk_tut.sgml: Fixed urls for complete example
5762         source for scribble+widget-writing examples.
5763
5764 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
5765
5766         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
5767         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
5768         specs of the form c #abcdef [ more keys ] properly.
5769
5770 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
5771
5772         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
5773         (gtk_spin_button_set_shadow_type):
5774         New API to set the shadow type of the arrow panel.
5775
5776 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
5777
5778         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
5779         code for drawing the child in two places at once. Unfortunately,
5780         not only does it not work anymore (because reparenting has
5781         been fixed), but it also triggers reparent/expose loops
5782         in some cases.
5783
5784         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
5785         an unecessary unrealize.
5786
5787 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
5788
5789         * gdk/gdkwindow.c (gdk_window_reparent): Update the
5790           old and new parents' child window lists properly.
5791
5792 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
5793
5794         * gtk/gtkpacker.h:
5795         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
5796         and GtkSideType, to be consistent with the rest of Gtk's enum
5797         definitions. wrapped the enum definitions with the G_ eunm wrappers.
5798         spelled out the GTK_ANCHOR_* enum values, since single letters don't
5799         work out corectly as nick-names (left the old values as aliases).
5800         some signdness corrections (border-width, spacing), could stand more.
5801
5802 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
5803
5804         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
5805           Added gtkpacker
5806
5807         * examples/packer/pack.c, examples/packer/Makefile: Added
5808           gtkpacker example
5809
5810 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
5811
5812         * gtk/gtktext.c (remove_cache_line): Fixed broken
5813         list-removal code.
5814
5815         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
5816         Check bounds before deleting.
5817
5818 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
5819
5820         * autogen.sh: Support ACLOCAL_FLAGS
5821
5822 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
5823
5824         * gtk-config.in: Added missing quotes.
5825
5826 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
5827
5828         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
5829
5830 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
5831
5832         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
5833         G_COMPILED_WITH_DEBUGGING.
5834
5835         * configure.in (fd_set): Explain check better.
5836
5837         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
5838         the version from which gtk+'s libtool forked.  Needed for people
5839         who use post-1.2 alphas of libtool.
5840
5841 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
5842
5843         * glib/* Moved to glib module
5844
5845         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
5846           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
5847
5848           configuration changes for the above:
5849          
5850           - Use AM_PATH_GLIB by default to find glib; also accept
5851             a --with-glib option for using an uninstalled glib.
5852          
5853           - Put --enable-debug information into config.h so
5854             that we rebuild when it changes. (was in glibconfig.h)
5855
5856 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
5857
5858         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
5859
5860         * gtk/gtknotebook.h (struct _GtkNotebookClass):
5861         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
5862         added missing argument (according to Joseph Coleman's bug report)
5863
5864         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
5865         function to fix notebook focus handling
5866         
5867 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
5868
5869         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
5870           glib/gutils.c glib/testglib.c glib/gdataset.c
5871           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
5872           gtk/gtktext.c gtk/gtkbindings.c:
5873
5874          renamed g_const_pointer => gconstpointer
5875
5876 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
5877
5878         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
5879         invoked with (NULL, NULL); (this worked sometime ago).
5880
5881         * gtk/gtktypeutils.h: 
5882         * gtk/gtktypeutils.c: enum and flags type creation can now be done
5883         through gtk_type_register_enum() and gtk_type_register_flags(),
5884         which allow to specify the enum value arrays directly.
5885         the NULL terminated value arrays can be retrived through
5886         gtk_type_enum_get_values() and gtk_type_flags_get_values();
5887         (gtk_type_children_types): new function to query derived types.
5888
5889 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
5890
5891         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
5892         environment to genmarshal.pl.
5893         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
5894         rule), and removed it where not needed (in the dependencies).
5895
5896         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
5897
5898 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
5899
5900         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
5901         was just g_direct_hash.
5902
5903 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
5904
5905         * configure.in: x_libs=, not $x_libs=. Enough said.
5906           (Case only hit for --disable-xshm)
5907         
5908 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
5909
5910         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
5911           when testing for X libraries, don't replace them. Because
5912           the user might have specified the path to the X libraries
5913           themself before running configure.
5914
5915         * examples/**.c: Changed all gpointer * to gpointer
5916         
5917 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5918
5919         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
5920         fleur_cursor field.  Now the cursor is created/destroyed on demand
5921         by the routines that need it.
5922
5923         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
5924         (gtk_handle_box_motion): The fleur cursor is created and destroyed
5925         only when needed.
5926
5927 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
5928
5929         * gtk/gtktypeutils.h: 
5930         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
5931         gtk_enum_set_values to gtk_type_enum_get_values and
5932         gtk_type_enum_set_values respectively, since they are actually type
5933         system features.
5934
5935         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
5936         my last commit. ;)
5937
5938 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
5939
5940         * gtk/gtkselection.h: 
5941         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
5942         gtk_selection_data_free.
5943
5944         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
5945         for "selection_received", which was completely bogus.
5946         * other fixups to gtk_signal_new() calls all over the place.
5947
5948         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
5949         * gtk/gtktypebuiltins_vars.c: type variable implementations.
5950         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
5951         declarations.
5952         * gtk/gtktypebuiltins_evals.c: enum value arrays.
5953         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
5954         gtk.defs.
5955         * gtk/gtk.defs: generated file with scheme syntax for type definitions
5956         of gtk and gdk structures and enums.
5957         * gtk/gtktypeutils.h: 
5958         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
5959         macros anymore (this fixes binary incompatibility with new enum
5960         definitions).
5961
5962         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
5963         key bindings for this widget.
5964         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
5965         handler.
5966
5967         * gtk/gtkobject.h:
5968         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
5969         again. new functions gtk_object_class_user_signal_new () and
5970         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
5971         flag on the signal creation.
5972
5973 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
5974
5975         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
5976
5977 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
5978
5979         * gdk/gdkprivate.h: 
5980         * gdk/gdktypes.h: 
5981         * gtk/gtkprivate.h: 
5982         * gtk/gtkwidget.h: 
5983         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
5984
5985         * reworked enum value array generation code. gtk.defs is a generated
5986         file now.
5987
5988 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
5989
5990         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
5991         check menu items in the compatibility code (this required me to remove
5992         the "<check>" part from the menu item name, grrr).
5993
5994 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
5995
5996         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
5997         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
5998         
5999 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
6000
6001         * gtk/gtkitemfactory.h: 
6002         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
6003         additions to the dumping code to feature GtkPatternSpec.
6004         even found a bug to fix in the original code ;)
6005         
6006 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
6007
6008         * gtk/gtkitemfactory.c: support different types of callbacks, to
6009         maintain existing code.
6010
6011 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
6012
6013         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
6014
6015         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
6016         this should eventually be done by gentypeinfo.el somewhen.
6017         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
6018
6019         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
6020         enum values of an enum type.
6021
6022         * gtk/gtk.defs:
6023         * gtk/gtkcurve.h: 
6024         * gtk/gtkobject.h: 
6025         * gtk/gtkprivate.h: 
6026         * gtk/gtkwidget.h:
6027         * gtk/gtkenums.h: 
6028         brought enum/flags definitions in sync, added a few more enum
6029         definitions for bindings and pattern matching.
6030
6031         * some more macro and GtkType fixups in various places.
6032
6033         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
6034         as a key-release modifier for the binding system.
6035
6036 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
6037
6038         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
6039         was a stale list pointer that is already present in GtkMenuShell.
6040
6041         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
6042         GtkMenuShell::selection_done which is emitted after the menu shell
6043         poped down again and all possible menu items have been activated.
6044
6045 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
6046
6047         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
6048         before activation of the menuitem, so the menu is actually taken off the
6049         screen prior to any menu item activation.
6050
6051         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
6052         for NULL nodes.
6053
6054         * gtk/gtkwidget.h:
6055         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
6056         the emission of the "add-accelerator" signal on a widget. this is
6057         usefull to prevent accelerator installation on certain widgets.
6058
6059         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
6060         labels left justified, by setting their alignment. stop accelerator
6061         installation for the menu items, since we use dynamic menus.
6062
6063 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
6064
6065         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
6066         should *really* use GtkItemFactory. this is only for preserving source
6067         compatibility where possible, use of GtkMenuFactory is deprecated as of
6068         now.
6069
6070         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
6071         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
6072         missed this possibility when i added gtk_object_class_add_user_signal
6073         in late january.
6074
6075         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
6076
6077 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
6078
6079         * gtk/gtkaccelgroup.h: 
6080         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
6081
6082         * gtk/gtkaccellabel.h: 
6083         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
6084         display of the accelerators associated with a certain widget.
6085
6086         * gtk/gtkitemfactory.h: 
6087         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
6088         parsing and accelerator handling.
6089
6090         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
6091         positioning a menu.
6092         (gtk_menu_map): removed the allocation code.
6093         (gtk_menu_size_allocate): care for redrawing of children and resize
6094         our widget->window correctly.
6095         (gtk_menu_key_press): feature the new accelerator groups.
6096
6097         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
6098         submenu if neccessary.
6099
6100         * gtk/gtkmenuitem.c:
6101         * gtk/gtkcheckmenuitem.c:
6102         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
6103         function variants.
6104
6105         * gdk/gdk.c:
6106         (gdk_keyval_from_name): 
6107         (gdk_keyval_name): new functions for keyval<->key-name associations.
6108         (gdk_keyval_to_upper): 
6109         (gdk_keyval_to_lower): 
6110         (gdk_keyval_is_upper): 
6111         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
6112         regards to their cases.
6113
6114 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
6115
6116         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
6117         widget's class path.
6118         (gtk_widget_path): new function to calculate a widget's name path.
6119
6120         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
6121         pattern matching, features reversed pattern matches.
6122
6123 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
6124
6125         * examples/extract.sh, examples/extract.awk:
6126           New files to automagically extract code examples from the
6127           tutorial.
6128
6129 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
6130
6131         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
6132         * gtk/gtkcontainer.c (gtk_container_focus_move):
6133         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
6134
6135 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
6136
6137         * docs/gtk_tut.sgml: minor changes to support auto
6138           extraction of example code
6139
6140 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
6141
6142         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
6143           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
6144
6145 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
6146
6147         * docs/gtk_tut.sgml:
6148           - new section on Events
6149           - change all delete_event callbacks to include
6150             a GdkEvent parameter
6151           - clean up the formatting
6152
6153         * examples - helloworld.c, helloworld2.c, notebook.c,
6154           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
6155           rulers.c, table.c, wheelbarrow.c: change all delete_event
6156            callbacks to include a GdkEvent parameter.
6157
6158 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6159
6160         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
6161         field of crossing events.
6162         (struct _GdkEventCrossing): Added the following fields: time, x,
6163         y, x_root, y_root, mode, focus, state.
6164
6165         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
6166         crossing event structure.
6167
6168         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
6169         changes to the crossing event structure.
6170
6171 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
6172
6173         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
6174
6175 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
6176
6177         * docs/gtk_tut.sgml:
6178            - GtkTooltips, update to current API
6179            - change all 'gpointer *data' to 'gpointer data'
6180            - other minor changes
6181
6182 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
6183
6184         * configure.in (LDFLAGS): Bomb out with a moderately
6185           helpful message if detection of X libraries fails.
6186
6187 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
6188
6189   [ Combination of:
6190      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
6191      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
6192
6193         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
6194           gtk/gtksignal.c gtk/gtktext.c: 
6195
6196           Fixups for warnings from adding const to type of GHashFunc,
6197           GCompareFunc
6198         
6199         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
6200           ansi-warnings fixups.
6201
6202 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
6203
6204         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
6205         Locate child at (border_width,border_width), not
6206         (2*border_width,2*border_width). [ The border is _outside_
6207         widget->window ]
6208         
6209         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
6210           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
6211
6212 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6213
6214         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
6215         used in gnome-libs
6216
6217 1998-05-22    <sopwith@redhat.com>
6218
6219         * gtk/gtkeventbox.c: Pass size_allocate on to the child
6220         regardless of whether it is visible or not. Also
6221         locate child at (border_width,border_width), not (0,0)
6222
6223 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
6224
6225         * gtk/gtkhandlebox.c: Added style_set handler.
6226
6227 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
6228  [ From: Chris Lahey  <clahey@umich.edu> ]
6229         
6230         * gtk/gtkeditable.c, gtk/gtkeditable.h,
6231           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
6232           and set_position functions to get and set the cursor position.
6233
6234         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
6235           signal status. Make GtkText do user-controlled insertion
6236           and deletion through the Editable widget so that these
6237           signals are properly emitted.
6238
6239         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
6240           display asterisks instead of empty space when visible = FALSE)
6241
6242 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
6243
6244         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
6245         signal.
6246
6247 1998-05-21    <sopwith@redhat.com>
6248
6249         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
6250         custom routine for loading images specified in gtkrc's.
6251
6252 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
6253
6254         * configure.in: Use pthread_attr_init() as a test function,
6255         since most of the rest of -lpthread is macros on DU4.
6256
6257 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
6258
6259         * gtk/gtkcombo.c: implemented completion in the entry.
6260
6261 1998-05-18    <sopwith@moebuis.labs.redhat.com>
6262
6263         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
6264
6265 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
6266
6267         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
6268         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
6269         to be of runtype GTK_RUN_LAST.
6270
6271         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
6272         "need-resize".
6273
6274         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
6275         "widget-selected".
6276
6277 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
6278
6279         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
6280         text retrived from GtkEntry. only intercept the Tab key if there
6281         was some text to complete.
6282
6283 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
6284
6285         Basic thread-awareness:
6286
6287         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
6288
6289         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
6290         gdk_threads_[init/enter/leave] for applications, plus
6291         gdk_threads_wake to wake the mainloop thread out of
6292         the select().
6293
6294         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
6295
6296 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
6297
6298         * gtk/testgtk.c (list_clear): Account for the fact
6299         that gtk_list_clear_items is not inclusive. (Clears
6300         [start, end))
6301
6302 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
6303
6304         * gdk/gdk.c: include gdkkeysyms.h always
6305         
6306
6307 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
6308
6309         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
6310         the visibility_notify_event method and changed method order.
6311
6312 1998-05-14    <sopwith@moebuis.labs.redhat.com>
6313
6314         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
6315
6316 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
6317
6318         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
6319         from Olli Helenius <ollhel@batman.jytol.fi>.
6320
6321         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
6322         freeing types.
6323         (gtk_type_set_chunk_alloc): new function to allow allocation of new
6324         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
6325         thorugh g_malloc).
6326
6327         * gtk/gtkobject.c (gtk_object_finalize): free an object through
6328         gtk_type_free().
6329
6330         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
6331         GtkButtons to 16.
6332         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
6333         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
6334
6335 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
6336
6337         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
6338           GPOINTER_TO_UINT fixes.
6339
6340         * gtk/gtksignal.c: Include <string.h> for memset.
6341
6342 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
6343         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
6344
6345         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
6346         Cleanups, comments and the ability to have rulers with 
6347         a reversed direction.
6348
6349 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
6350
6351         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
6352         that Sopwith missed when changing stat => lstat.
6353
6354 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
6355
6356         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
6357           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
6358         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
6359
6360         * gdk/gdk.c: Print sizeof() results
6361         as g_print("%ld", (glong)sizeof(foo)), to deal with
6362         sizeof() being long on Alpha's.
6363
6364         * gtk/testgtk.c: include <string.h> for strlen
6365
6366 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
6367         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
6368         
6369         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
6370         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
6371
6372         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
6373
6374 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
6375         (From: Christopher James Lahey <clahey@umich.edu>)
6376         
6377         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
6378           gtk/testgtk.c:
6379
6380         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
6381         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
6382         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
6383         the default relief for the toolbars buttons. Added an
6384         toggle for the toolbar test in testgtk.c.
6385
6386 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
6387
6388         * docs/gtk-config.1: Rewritten and hopefully improved.
6389
6390 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
6391
6392         * docs/Makefile.am
6393         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
6394
6395 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6396
6397         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
6398         GtkPreview's visual and colormap, otherwise things can BadMatch.
6399
6400         * gtk/testgtk.c (create_color_preview): 
6401         (create_gray_preview): Removed pushing/popping of visual/colormap
6402         now that GtkPreview does things correctly.
6403
6404         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
6405         (gtk_color_selection_draw_wheel): Pick the style from the correct
6406         place (the colorsel->wheel_area widget) so that the GCs will match
6407         with where we are going to paint to.
6408
6409         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
6410         of visual/colormap now that GtkColorSelection does things the
6411         right way.
6412
6413 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
6414
6415         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
6416         previously unused window->need_resize flag to mark if a window's
6417         descendents changed size while the window was not visible. In this
6418         case, when the window becomes visible, we reallocate everything,
6419         since we didn't keep track of what actually changed.
6420
6421         (Fixes bug where changing the popdown strings of a
6422         combo to something of the same length caused them to
6423         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
6424
6425 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
6426
6427         [security audit by Alan Cox]
6428
6429         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
6430         exceed maximum assumed size.
6431
6432         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
6433         not exceed maximum assumed size.
6434         (gtk_menu_factory_remove): likewise.
6435         (gtk_menu_factory_find_recurse): likewise.
6436
6437 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
6438
6439         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
6440         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
6441         redrawn if that is still neccessary. don't allow queueing of already
6442         destructed objects.
6443         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
6444         widgets which are in the queue can be destroyed safely, handle
6445         requeueing properly.
6446         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
6447         widgets which are in the queue can be destroyed/unrealized safely.
6448
6449 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
6450
6451         * gtkfaq.sgml: add question on multi-threading,
6452           minor URL cleanups.
6453
6454 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
6455
6456         * configure.in (cflags_set): preserve automake CFLAGS.
6457
6458         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
6459         and libgdk-1.1.la. this means we need to change certain portions of
6460         the Makefile.am on major/minor version bumps.
6461
6462         * ltmain.sh: the -release option is not required anymore.
6463         
6464         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
6465         of the first argument to be of type GtkObject. unconditionally compile
6466         this function. removed __GNUC__ dependancy of the gtk_object_ref and
6467         gtk_object_unref macro wrappers for this function.
6468
6469 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
6470
6471         * gtk/gtkobject.h:
6472         * gtk/gtkobject.c:
6473         (gtk_object_data_try_key):
6474         (gtk_object_data_force_id): these are now macros substituting the old
6475         functions. we just use the corresponding g_dataset_* functions for
6476         key->id associations. (this is to assure unique key<->id associations).
6477
6478 1998-05-10  Stefan Jeske  <stefan@gtk.org>
6479
6480         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
6481         to gboolean.
6482
6483         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
6484
6485 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
6486
6487         * configure.in (LIBS): Try to figure out if this
6488         is Digital Unix and we need -std1 to get the
6489         right prototypes.
6490
6491 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
6492
6493         * docs/gtk_tut_it.sgml: update of Italian tutorial
6494           translation from Daniele Canazza <dcanazz@tin.it>
6495
6496 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
6497
6498         * gtk/gtkfeatures.h.in: new file used as template for
6499         * gtk/gtkfeatures.h: new file to define macros indicating newly
6500         introduced features, such as GTK_HAVE_SIGNAL_INIT.
6501
6502         * gtk/gtksignal.c:
6503         (gtk_signal_emitv_by_name):
6504         (gtk_signal_emitv):
6505         new functions to emit signals with an already provided parameter set.
6506         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
6507         (gtk_signal_real_emit): prototype changes, so this functions always
6508         gets its parameters and signal structure as arguments.
6509         (gtk_signal_emit): provide the signal structure and parameter list for
6510         gtk_signal_real_emit.
6511         (gtk_signal_emit_by_name): likewise.
6512
6513 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
6514
6515         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
6516         signal connections through unsetting GTK_CONNECTED.
6517         (gtk_signal_handler_insert): reflect the presence of signal connections
6518         through setting GTK_CONNECTED.
6519         (gtk_signal_real_emit): only check for handler emissions if the object
6520         has the GTK_CONNECTED flag set.
6521         (gtk_signal_handler_pending): don't check for pending handlers if the
6522         GTK_CONNECTED flag is not set for this object.
6523
6524         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
6525         a GtkObject has signal handler connections.
6526
6527         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
6528         set for this object call gtk_signal_handlers_destroy().
6529         
6530         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
6531         multiple processing of macro args.
6532
6533         * gtk/gtktypeutils.c:
6534         * gtk/gtkobject.c:
6535         * gtk/gtkwidget.c:
6536         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
6537
6538 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
6539
6540         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
6541         draw-queue when we are done. 
6542
6543         (gtk_widget_queue_draw/_queu_resize): Always return
6544         FALSE and avoid having two idles at the same time.
6545         
6546 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
6547
6548         * gtk/gtktext.c: Various fixes to make sure cache
6549         lines are freed if line_start_cache doesn't point to the
6550         beginning of the cache.
6551
6552 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
6553
6554         * style_set improvements for GtkText and GtkEntry
6555
6556 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
6557
6558         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
6559         been initialized.
6560
6561 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
6562
6563         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
6564         data chunks through a global object data structure list. unlink
6565         object data before invoking its destroy function.
6566         (gtk_object_finalize): slight modification to allow usage of object
6567         data during object finalization.
6568
6569 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
6570
6571         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
6572         signal names, e.g. "signal-name" is now an alias for "signal_name".
6573         (gtk_signal_handler_new): allocate handlers through a global handler
6574         structure list, that's faster than memchunks.
6575         (gtk_emission_new): allocate emissions through a global emission
6576         structure list, that's faster than memchunks.
6577
6578 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
6579
6580         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
6581
6582         * ltmain.sh: added a new commandline flag -postfix similar to -release,
6583         but will immediately change the library name.
6584
6585         * gdk/Makefile.am:
6586         * gtk/Makefile.am: specify -postfix and -version-info
6587
6588         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
6589         GTK_BINARY_AGE. calculate LT_* variables for libtool.
6590
6591 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6592
6593         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
6594         background (fg_set -> bg_set confusion).
6595
6596 1998-05-06  Stefan Jeske  <stefan@gtk.org>
6597
6598         * gtk/testgtk.c (unselect_all): Removed code that caused an
6599         endless loop.
6600
6601 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
6602
6603         * gtk/gtksignal.c: reimplemented the signal storage system to use a
6604         linear array rather than a hash table.
6605         be carefull *not* to keep any GtkSignal pointers across invokations
6606         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
6607         general code cleanups, made all allocations through memchunks.
6608         (gtk_signal_lookup): we now do the lookup of signals through a key_id
6609         for the signal names to avoid multiple hashing of the signal name on
6610         lookups for the several hirarchy levels of an object.
6611
6612 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
6613
6614         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
6615         to speed things up and remove code duplication.
6616
6617         Reintegrated buffer overflow patches, and added
6618         some extra paranoia.
6619         
6620 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
6621
6622         * gdk/gdk.c (gdk_event_translate): A guint * was
6623         being passed where X expected a Keysym *, and
6624         keysyms are long's on Alpha Linux. This was causing
6625         segfaults in Xlib, apparently because of alignment.
6626         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
6627         
6628 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
6629
6630         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
6631         set GDK_EXPOSURE_MASK for DrawingAreas
6632
6633 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
6634
6635         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
6636         (superceded by RC file reparsing capabilities)
6637
6638         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
6639         events. (Shouldn't be sent to the InputOnly leader, which
6640         it is now by gdk_event_send_clientmessage_toall
6641
6642         * gtk/testgtk.c: Added extra button to rcfiles test
6643         to send out _GDK_READ_RCFILES events.
6644         
6645 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
6646
6647         * gtk/gtkselection.c (gtk_selection_clear): Fixed
6648         reversed conditionals that caused segfault on some
6649         platforms.
6650
6651 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
6652
6653         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
6654         cast to GTK_OBJECT for gtk_object_ref.
6655
6656 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
6657
6658         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
6659         checking for signal initialization in gtksignal.c.
6660
6661         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
6662         a long debugging period ;)
6663
6664 1998-05-05  Stefan Jeske  <stefan@gtk.org>
6665
6666         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
6667         New function to wrap XSetDashes; modified gtkctree.c to use it.
6668
6669 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6670
6671         * configure.in: Added $x_libs in the other_libraries field in the
6672         check for XShapeCombineMask.
6673
6674 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
6675
6676         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
6677         gtk_type_is_a().
6678         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
6679         linear array rather than a hash table. it actually speeded up testgtk
6680         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
6681         pointers across invokations of gtk_type_node_next_and_invalidate() and
6682         therefore gtk_type_unique()!
6683
6684         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
6685         inheritance of a class pointer.
6686         (GTK_OBJECT): modifications for speedups.
6687         (GTK_IS_OBJECT): likewise.
6688         (GTK_OBJECT_CLASS): likewise.
6689         (suggested by owen).
6690
6691         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
6692
6693         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
6694
6695         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
6696         since its derivation changed 4 month ago ;(. showed up with the unique
6697         type name checking code in gtk_type_unique().
6698
6699         * random guint->GtkType and macro fixups.
6700
6701 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
6702
6703         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
6704         Configure events that would result in a negative
6705         size.
6706
6707 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
6708
6709         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
6710         "glibconfig.h" and another about writing another IRC
6711         client.
6712
6713 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
6714
6715         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
6716         parameters to log are doubles. Digital Unix apparently
6717         is missing the argument in its prototype.
6718
6719 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
6720
6721         * gtk/gtklabel.c (gtk_label_state_changed): Don't
6722         force a clear until the widget is actually on
6723         screen.
6724
6725 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
6726
6727         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
6728         to make this consistent with the gtk-1-0 tree.
6729
6730 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
6731
6732         * configure.in acheader.h gdk/gdkwindow.c 
6733         Check for Shape extension both on the client and server
6734         side. (And, more importantly, check for the shape extension
6735         so we may include -lXext even when compiling with --disable-xshm)
6736
6737         Don't set override_redirect on all shaped windows. It isn't
6738         necessary.
6739
6740         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
6741         and foreign windows. Use this to check if we
6742         need to get the colormap from X.
6743
6744 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
6745
6746         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
6747         between the default and the button always in GTK_STATE_NORMAL.
6748
6749         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
6750         callback.
6751
6752 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
6753
6754         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
6755           Fix a buffer overflow on pixmaps that claim to have
6756           more than 31 characters per pixel.
6757
6758           (gdk_pixmap_read_string): Don't wrap around strings longer
6759           than half of address space ;-)
6760
6761         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
6762         that were used for printing integers.
6763
6764         * */* (almost):
6765
6766         Style: All 
6767           int foo () { ... }
6768         changed to
6769           int foo (void) { ... }
6770
6771         Even where there were proper prototypes elsewhere.
6772
6773         * gdk/gxid.c (handle_claim_device): Some extra checks.
6774         It isn't safe against being fed bad X id's, but at
6775         least it should be safe against deleting all your
6776         files.
6777
6778 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
6779
6780         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
6781         to set the adjustments value when there is no current emission.
6782         [ Removed by mutual agreement owt 5/3/1998 ]
6783
6784         * gtk/gtksignal.c: added new functions to retrive the number of
6785         existing emissions for a certain signal.
6786         (gtk_signal_n_emissions): new function.
6787         (gtk_signal_n_emissions_by_name): new function.
6788
6789 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
6790
6791         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
6792         set the current focus_child of a container, does proper referencing and
6793         adjusts the vadjustment/hadjustment associated with the focus widget.
6794
6795         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
6796         containers via gtk_container_set_focus_child.
6797
6798         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
6799         where appropriate.
6800
6801         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
6802         child since not every child removal goes through this function (this
6803         showed up after gtk_container_set_focus_child() started to reference the
6804         focus_child of a container).
6805
6806         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
6807         of a container from gtk_container_remove into this place.
6808
6809 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
6810
6811         * gtk/gtksignal.c: added new functions to operate on intermediate
6812         function pointers. implemented incremental blocking.
6813         (gtk_signal_disconnect_by_func): new function.
6814         (gtk_signal_handler_block_by_func): new function.
6815         (gtk_signal_handler_unblock_by_func): new function
6816
6817 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
6818
6819         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
6820         Always show the scrollbars when the policy is
6821         GTK_POLICY_ALWAYS...
6822
6823 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
6824
6825         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
6826         "value_changed" if we really passed a new value.
6827         (gtk_adjustment_changed): new function to emit the "changed" signal.
6828         (gtk_adjustment_set_value): new function to emit the "value_changed"
6829         signal.
6830
6831 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
6832
6833         * gtk/gtkcombo.c: Further changes to the way the window
6834         is popped up so that it will be compatible with 
6835         auto-scrolling in the future.
6836
6837 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
6838
6839         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
6840         the combo-list is empty since that will cause the combo to operate
6841         on a non existing GtkList window.
6842         (gtk_combo_get_pos): provide the combo list with a usfull default
6843         height if empty.
6844         (gtk_combo_popup_button_press): grab the focus.
6845         (gtk_combo_activate): grab the focus.
6846
6847 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
6848
6849         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
6850         function to reset the RC styles for a heirarchy
6851
6852         Clear the window background if necessary in
6853         gtk_window_style_set.
6854
6855         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
6856         rereads all previously read RC files.
6857
6858         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
6859         (Should it just be called gdk_get_toplevels?)
6860
6861         * gtk/testgtk.c: New test to reload RC files.
6862
6863 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
6864
6865         * gtk/gtkclist.h:
6866         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
6867         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
6868         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
6869         the GTK_ prefix (this solution involved less changes in the
6870         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
6871         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
6872         from lars & stefan to support the derivation of GtkCtree.
6873
6874         * gtkctree.h:
6875         * gtkctree.c:
6876         initial import of a tree widget derived from gtkclist, courtesy
6877         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
6878         it just damn rocks!
6879
6880 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
6881
6882         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
6883         for us.
6884         (gtk_list_insert_items):
6885         (gtk_list_remove_items_internal): 
6886         (gtk_list_clear_items): 
6887         remove a possible pointer grab, we might get thrown into a loop
6888         otherwise.
6889         (gtk_list_button_press): grab the pointer *before* selecting the child,
6890         because selection of items may cause the lists children to change,
6891         resulting in a grab release.
6892         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
6893         children.
6894         (gtk_list_shutdown): remove all children from the list.
6895         (gtk_real_list_unselect_child): 
6896         (gtk_real_list_select_child): *always* put our internal structures into
6897         sane state *before* signal emisions (i.e. list->selection updates prior
6898         to gtk_list_item_[de]select() calls).
6899
6900         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
6901         focused child walks out of the window.
6902         removed CAN_FOCUS for the combo arrow's button since it doesn't react
6903         to keyboard events ("clicked" connection is missing).
6904
6905 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
6906
6907         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
6908         getting colormap for FOREIGN windows to go along with
6909         Raster's fix for visuals.
6910
6911 Merges from gtk-1-0
6912 ===================
6913         
6914 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
6915
6916         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
6917         Check to catch the case when the viewport fits in either
6918         direction or both, instead of flip-flopping infinitely.
6919
6920         Only show/hide the scrollbars once at the end.
6921
6922 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
6923
6924         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
6925         Include the scrollbars in the foreach call.
6926         (gtk-fortier-980405-0.patch; 
6927          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
6928
6929         The notebook widget
6930         really should also include its tabs, but that might cause
6931         problems for programs if they
6932
6933 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
6934
6935         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
6936         resize if the size actually changed. 
6937         (gtk-johannes-980414-0.patch ;  
6938          johannes@nada.kth.se (Johannes Keukelaar) )
6939
6940 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
6941
6942         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
6943           ltmain.sh ltconfig config.sub config.guess:
6944
6945         Reverted back to libtool-1.2 (plus minor patches) so as not to
6946         force the issue for everyone else.
6947
6948 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
6949
6950         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
6951         Updated to libtool 1.2a.
6952
6953         * gtk/gtkclist.c: Draw the in-between lines with style->base
6954         instead of style->white.
6955         
6956 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
6957
6958         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
6959         Cache the colormap and children of a window locally
6960         instead of fetching them from the server when needed.
6961         Huge performance difference for creating/destroying
6962         windows.
6963
6964         * gtk/gtkstyle.c: Find the depth from the cached
6965         visual, instead of asking the server.
6966
6967         * gtk.m4: Distribute the new version which tries to
6968         figure out what went wrong and give helpful error
6969         messages.
6970
6971         * ltmain.sh ltconfig config.sub config.sh: 
6972         Updated to libtool 1.2a
6973
6974         * gtk/gtktext.c: Fixed a bug where the drawn level
6975         was being messed up when the text was scrolled
6976         during a deletion.
6977         
6978 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
6979
6980         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
6981         the filesystem under you (fix from Josh)
6982
6983 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
6984
6985         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
6986         if the viewport already exists before iterating over it, maybe we
6987         haven't been constructed yet.
6988
6989 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
6990
6991         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
6992         the GtkBin widget already has a child.
6993
6994         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
6995         check that child->parent == NULL;
6996
6997 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
6998
6999         * gtk/gtkselection.c (gtk_selection_clear): Only return
7000         FALSE when the clear event is been rejected, not when
7001         widget has already lost the selection. (Which should
7002         only happen when we are setting the selection to another
7003         widget ourself.)
7004         
7005 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
7006
7007         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
7008
7009         Removed the "check visibility after gtk_widget_unparent" bug 
7010         in hopefully the last three places.
7011
7012 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
7013
7014         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
7015         rc-files.
7016
7017 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
7018
7019         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
7020         for CAN_FOCUS widgets.
7021
7022         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
7023         adjustments for the table.
7024         (create_list): feature automatic adjustment of the scrolled window to
7025         always contain the focused child.
7026         (create_main_window): keep the focussed button always inside of the
7027         scrolled windoww.
7028
7029         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
7030         adjustments, to contain the allocation of the currently focused child.
7031         (gtk_container_set_focus_hadjustment): new functin to set the
7032         horizontal focus adjustment.
7033         (gtk_container_set_focus_vadjustment): new functin to set the vertical
7034         focus adjustment.
7035
7036         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
7037         clamp the currents adjustment page into a specific range.
7038
7039         * random GtkType fixups for gtk_*_get_type() functions.
7040
7041 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
7042
7043         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
7044         Account for the fact that gtk_tree_item_remove_subtree
7045         will be called recursively. 
7046
7047         Handle removing a collapsed subtree.
7048
7049         (From Andy Dustman <adustman@comstar.net>)
7050         
7051         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
7052         root tree when removing items from a non-previously
7053         mapped tree.
7054
7055         * gtk/testgtk.c: Added a remove_subtree button.
7056         
7057 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
7058
7059         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
7060         before object removing data. This change fixes a bug where 
7061         removing the last weak references would cause it to be 
7062         triggered.
7063
7064 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
7065
7066         * gdk/Makefile.am: Removed mostly useless dependency that
7067         was causing problems for SGI's make, when used with
7068         the 'make dist' form of GTK+. (Dependency caused dependencies
7069         to be redone when BUILT_SOURCES changed)
7070
7071 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
7072
7073         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
7074         like a menu.
7075         
7076         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
7077         to gtkitem.c so dragging can also work in lists.
7078
7079         * gtk/gtklist.[ch]: Track child enter events and use
7080         those to allow dragging the selection. 
7081
7082 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
7083
7084         * gtk/gtktext.c: Try enabling background pixmaps for editable text
7085         widgets.  There is a bit of flashing, but not too bad. If you
7086         don't want the flashing, you can always not set a background
7087         pixmap.
7088
7089 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
7090
7091         * gtk/gtktext.c: Fixed a bug where the drawn level
7092         was being messed up when the text was scrolled
7093         during a deletion.
7094         
7095 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7096
7097         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
7098         bug:  There is no need to set the ExposureMask in the XGrabPointer
7099         (this caused DnD programs to crash).
7100
7101 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
7102
7103         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
7104         field to be of type guint.
7105         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
7106         ref_count>0;
7107         (gtk_accelerator_table_install): keep a per object list of accelerator
7108         tables that refer to this object.
7109         (gtk_accelerator_table_remove): remove the accelerator table from the
7110         per object list.
7111         (gtk_accelerator_table_clean): warn if there are any object references
7112         left in an accelerator table upon destruction.
7113         (gtk_accelerator_tables_delete): new function to delete object
7114         references from the accelerator tables associated with this object.
7115
7116         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
7117         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
7118         of an accelerator can be prevented by gtk_signal_emit_stop().
7119         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
7120         so there are no stale pointers in accelerator tables left.
7121
7122 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7123
7124         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
7125         visible before we unparent it.
7126
7127 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
7128
7129         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
7130         running_timeouts list with the tmp_list link itself, not with a new
7131         GList structure pointing to our link. that would fill up memory and
7132         causes the GList.data fields of the running_timeouts list to point to
7133         GList structures and not GtkTimeoutFunction structures which is a
7134         *really* bad thing.
7135         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
7136         the above entry ;).
7137
7138 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
7139
7140         * gtk/gtkradiomenuitem.h: 
7141         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
7142         ala gtk_radio_button_set_group.
7143         (gtk_radio_menu_item_init): assure that we always have at least a group
7144         that points to self.
7145
7146         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
7147         added g_return_if_fail() statements.
7148         (gtk_radio_button_init): assure that we always have at least a group
7149         that points to self.
7150
7151 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
7152
7153         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
7154
7155 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
7156
7157         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
7158         (Damon Chaplin), which i got wrong when applying Damon's patch the last
7159         time.
7160
7161 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
7162
7163         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
7164         that when we are running with a non-installed colormap,
7165         in 8-bit pseudo-color, we actually are using the system
7166         visual. (Fixes *Bad Match* errors on Digital Unix machines
7167         with multiple 8-bit pseudo-color visuals)
7168
7169 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7170
7171         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
7172         by whoever thought that randomly changing ints to unsigned int
7173         without reviewing the code was a good idea.  It is, btw not
7174         mentioned in the ChangeLog as usual, but I know it was not Elliot
7175         the culprit this time. 
7176
7177 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
7178
7179         * Released GTK+ 1.0.0