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