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