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